Re: [libgadu-devel] DCC7 - implementacja wysyłania plików przez serwer.

2011-04-16 Thread Rafał Malinowski
Ewentalnie można by przerzucić część odpowiedzlaności na klientów
bliblioteki. Na przykład wymagać przy odpalaniu gg_dcc7_send_file
odpalanie czegoś w stylu gg_dcc7_get_proxy?
___
libgadu-devel mailing list
libgadu-devel@lists.ziew.org
http://lists.ziew.org/mailman/listinfo/libgadu-devel


Re: [libgadu-devel] Łatka dodająca wsparcie dla GG_USERLIST100_VERSION

2011-04-16 Thread Rafał Malinowski
Nowa wersją łatki w załączniku.
Index: include/libgadu.h.in
===
--- include/libgadu.h.in	(wersja 1087)
+++ include/libgadu.h.in	(kopia robocza)
@@ -695,6 +695,8 @@
 	GG_EVENT_USER_DATA,		/**< Informacja o kontaktach */
 	GG_EVENT_MULTILOGON_MSG,	/**< Wiadomość wysłana z innej sesji multilogowania */
 	GG_EVENT_MULTILOGON_INFO,	/**< Informacja o innych sesjach multilogowania */
+
+	GG_EVENT_USERLIST100_VERSION,	/**< Otrzymano numer wersji listy kontaktów na serwerze */
 };
 
 #define GG_EVENT_SEARCH50_REPLY GG_EVENT_PUBDIR50_SEARCH_REPLY
@@ -985,6 +987,13 @@
 };
 
 /**
+ * Opis zdarzenia \c GG_EVENT_USERLIST100_VERSION.
+ */
+struct gg_event_userlist100_version {
+	int version;		/**< numer wersji listy kontaktów na serwerze */
+};
+
+/**
  * Unia wszystkich zdarzeń zwracanych przez funkcje \c gg_watch_fd(), 
  * \c gg_dcc_watch_fd() i \c gg_dcc7_watch_fd().
  *
@@ -1018,6 +1027,7 @@
 	struct gg_event_user_data user_data;	/**< Informacje o kontaktach */
 	struct gg_event_msg multilogon_msg;	/**< Inna sesja wysłała wiadomość (\c GG_EVENT_MULTILOGON_MSG) */
 	struct gg_event_multilogon_info multilogon_info;	/**< Informacja o innych sesjach multilogowania (\c GG_EVENT_MULTILOGON_INFO) */
+	struct gg_event_userlist100_version userlist100_version;	/**< Informacja o numerze wersji listy kontaktów na serwerze (\c GG_EVENT_USERLIST100_VERSION) */
 };
 
 /**
Index: include/protocol.h
===
--- include/protocol.h	(wersja 1087)
+++ include/protocol.h	(kopia robocza)
@@ -293,6 +293,12 @@
 
 #define GG_TIMEOUT_DISCONNECT 5	/**< Maksymalny czas oczekiwania na rozłączenie */
 
+#define GG_USERLIST100_VERSION 0x5c
+
+struct gg_userlist100_version {
+	uint32_t version;
+} GG_PACKED;
+
 #ifdef _WIN32
 #pragma pack(pop)
 #endif
Index: src/handlers.c
===
--- src/handlers.c	(wersja 1087)
+++ src/handlers.c	(kopia robocza)
@@ -1695,6 +1695,23 @@
 }
 
 /**
+ * \internal Obsługuje pakiet GG_USERLIST100_VERSION.
+ *
+ * Patrz gg_packet_handler_t
+ */
+static int gg_session_handle_userlist_100_version(struct gg_session *gs, uint32_t type, const char *ptr, size_t len, struct gg_event *ge)
+{
+	struct gg_userlist100_version *version = (struct gg_userlist100_version*) ptr;
+
+	gg_debug_session(gs, GG_DEBUG_MISC, "// gg_watch_fd_connected() received userlist 100 version\n");
+
+	ge->type = GG_EVENT_USERLIST100_VERSION;
+	ge->event.userlist100_version.version = gg_fix32(version->version);
+
+	return 0;
+}
+
+/**
  * \internal Tablica obsługiwanych pakietów
  */
 static const gg_packet_handler_t handlers[] =
@@ -1734,6 +1751,7 @@
 	{ GG_MULTILOGON_INFO, GG_STATE_CONNECTED, sizeof(struct gg_multilogon_info), gg_session_handle_multilogon_info },
 	{ GG_XML_ACTION, GG_STATE_CONNECTED, 0, gg_session_handle_xml_event },
 	{ GG_RECV_OWN_MSG, GG_STATE_CONNECTED, sizeof(struct gg_recv_msg80), gg_session_handle_recv_msg_80 },
+	{ GG_USERLIST100_VERSION, GG_STATE_CONNECTED, sizeof(struct gg_userlist100_version), gg_session_handle_userlist_100_version },
 };
 
 /**
Index: src/debug.c
===
--- src/debug.c	(wersja 1087)
+++ src/debug.c	(kopia robocza)
@@ -328,6 +328,7 @@
 	GG_DEBUG_EVENT(GG_EVENT_USER_DATA)
 	GG_DEBUG_EVENT(GG_EVENT_MULTILOGON_MSG)
 	GG_DEBUG_EVENT(GG_EVENT_MULTILOGON_INFO)
+	GG_DEBUG_EVENT(GG_EVENT_USERLIST100_VERSION)
 #undef GG_DEBUG_EVENT
 
 	// Celowo nie ma default, żeby kompilator wyłapał brakujące stany
___
libgadu-devel mailing list
libgadu-devel@lists.ziew.org
http://lists.ziew.org/mailman/listinfo/libgadu-devel


Re: [libgadu-devel] Łatka dodająca wsparcie dla GG_USERLIST100_VERSION

2011-04-16 Thread Rafał Malinowski
To tak zwane cargo-cult programming. Poprawię się i wrzucę nową wersję;)

Pozdro
___
libgadu-devel mailing list
libgadu-devel@lists.ziew.org
http://lists.ziew.org/mailman/listinfo/libgadu-devel