Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Was ist PURPLE_CALLBACK()?
#2
Du meinst das hier?

Der vierte Parameter ist einfach ein Zeiger auf die Funktion, die aufgerufen werden soll, wenn das Signal eintrifft.
Das fünfte ist ein Zeiger auf die Daten, die übergeben werden sollen (oder NULL).

Aus der gleichen Seite steht (etwas weiter oben) die Definition für das PURPLE_CALLBACK-Makro:
Code:
#define     PURPLE_CALLBACK(func)   ((PurpleCallback)func)

Es castet einfach nur (einen Zeiger auf) deine Funktion auf den Typ PurpleCallback, der (ein paar Zeilen darunter) so definiert ist:
Code:
typedef void(*PurpleCallback )(void)
(Also eine Funktion die einen void-Pointer erwartet und einen void-Pointer zurück gibt.)

Deine Daten übergibst du also, in dem du nicht die Daten selbst, sondern deren Adresse übergibst. (Dabei ist darauf zu achten, dass die Daten nicht auf dem Stack stehen, also keine lokalen Variablen sind.)
Welche Pidgin-Version setzt du ein?
Welches Betriebssystem?
Was sagt das Debug-Fenster?

[Bild: pidginbanner.png]
Zitieren


Nachrichten in diesem Thema
Was ist PURPLE_CALLBACK()? - von Pille456 - 24.05.2008, 01:51
Re: Was ist PURPLE_CALLBACK()? - von Freakazoid - 24.05.2008, 19:30
Re: Was ist PURPLE_CALLBACK()? - von Pille456 - 25.05.2008, 16:25
Re: Was ist PURPLE_CALLBACK()? - von Freakazoid - 25.05.2008, 22:17

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste