#include "konasearch.h" #include #include // Function prototypes for local functions static void kona_search_posts_soup_cb (SoupSession *session, SoupMessage *msg, gpointer user_data); /*** GLIB object start ***/ struct _KonaSearch { GObject parent_instance; // struct of parent (inherit) gchar *searchString; SoupSession *postsSession; }; G_DEFINE_TYPE(KonaSearch, kona_search, G_TYPE_OBJECT) static void kona_search_class_init(KonaSearchClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); //object_class->set_property = kona_search_set_property; //object_class->get_property = kona_search_get_property; object_class->dispose = kona_search_dispose; object_class->finalize = kona_search_finalize; } static void kona_search_init (KonaSearch *self) { printf("kona_search_init\n"); } static void kona_search_dispose(GObject *self) { G_OBJECT_CLASS (kona_search_parent_class)->dispose((GObject*) self); } static void kona_search_finalize(GObject *self) { KonaSearch *ks = (KonaSearch*) self; //g_free(ks->postsSession); g_free(ks->searchString); G_OBJECT_CLASS (kona_search_parent_class)->finalize ((GObject*) self); } KonaSearch *kona_search_new(gchar *search) { KonaSearch *ks; ks = g_object_new(KONA_TYPE_SEARCH, 0); ks->searchString = g_strdup(search); return ks; } /*** GLIB object end ***/ void kona_search_start(KonaSearch *self) { SoupMessage *msg; gchar *url; self->postsSession = soup_session_new(); url = g_strdup_printf("http://konachan.com/post.xml?tag=%s", self->searchString); msg = soup_message_new("GET", url); g_free(url); soup_session_queue_message(self->postsSession, msg, kona_search_posts_soup_cb, self); } static void kona_search_posts_soup_cb (SoupSession *session, SoupMessage *msg, gpointer user_data) { printf("RECEIVED!!\n"); printf("%s\n", *msg->response_body); fflush(stdout); }