Add support to new callback class
[python-purple] / libpurple / notify.pxd
index c45c60a..e94ceb7 100644 (file)
 #  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+cimport glib
+
+cimport connection
+
+cdef extern from *:
+    ctypedef char const_char "const char"
+    ctypedef int size_t
+
 cdef extern from "libpurple/notify.h":
+    ctypedef struct PurpleNotifyUserInfoEntry
+    ctypedef struct PurpleNotifyUserInfo
+
+    ctypedef void (*PurpleNotifyCloseCallback) (glib.gpointer user_data)
+
+    ctypedef enum PurpleNotifyType:
+        PURPLE_NOTIFY_MESSAGE = 0
+        PURPLE_NOTIFY_EMAIL
+        PURPLE_NOTIFY_EMAILS
+        PURPLE_NOTIFY_FORMATTED
+        PURPLE_NOTIFY_SEARCHRESULTS
+        PURPLE_NOTIFY_USERINFO
+        PURPLE_NOTIFY_URI
+
+    ctypedef enum PurpleNotifyMsgType:
+        PURPLE_NOTIFY_MSG_ERROR = 0
+        PURPLE_NOTIFY_MSG_WARNING
+        PURPLE_NOTIFY_MSG_INFO
+
+    ctypedef enum PurpleNotifySearchButtonType:
+        PURPLE_NOTIFY_BUTTON_LABELED = 0
+        PURPLE_NOTIFY_BUTTON_CONTINUE = 1
+        PURPLE_NOTIFY_BUTTON_ADD
+        PURPLE_NOTIFY_BUTTON_INFO
+        PURPLE_NOTIFY_BUTTON_IM
+        PURPLE_NOTIFY_BUTTON_JOIN
+        PURPLE_NOTIFY_BUTTON_INVITE
+
+    ctypedef struct PurpleNotifySearchResults:
+        glib.GList *columns
+        glib.GList *rows
+        glib.GList *buttons
+
+    ctypedef struct PurpleNotifySearchColumn:
+        char *title
+
+    ctypedef void (*PurpleNotifySearchResultsCallback) (connection.PurpleConnection *c, glib.GList *row, glib.gpointer user_data)
+
+    ctypedef struct purpleNotifySearchButton:
+        PurpleNotifySearchButtonType type
+        PurpleNotifySearchResultsCallback callback
+        char *label
+
     ctypedef struct PurpleNotifyUiOps:
-        pass
+        void *(*notify_message) (PurpleNotifyMsgType type, const_char *title, \
+                const_char *primary, const_char *secondary)
+        void *(*notify_email) (connection.PurpleConnection *gc, \
+                const_char *subject, const_char *_from, const_char *to, \
+                const_char *url)
+        void *(*notify_emails) (connection.PurpleConnection *gc,
+                size_t count, glib.gboolean detailed, const_char **subjects, \
+                const_char **froms, const_char **tos, const_char **urls)
+        void *(*notify_formatted) (const_char *title, const_char *primary, \
+                const_char *secondary, const_char *text)
+        void *(*notify_searchresults) (connection.PurpleConnection *gc, \
+                const_char *title, const_char *primary, \
+                const_char *secondary, PurpleNotifySearchResults *results, \
+                glib.gpointer user_data)
+        void (*notify_searchresults_new_rows) \
+                (connection.PurpleConnection *gc, \
+                PurpleNotifySearchResults *results, void *data)
+        void *(*notify_userinfo) (connection.PurpleConnection *gc, \
+                const_char *who, PurpleNotifyUserInfo *user_info)
+        void *(*notify_uri) (const_char *uri)
+        void (*close_notify) (PurpleNotifyType type, void *ui_handle)
 
     void c_purple_notify_set_ui_ops "purple_notify_set_ui_ops" (PurpleNotifyUiOps *ops)