[Freeswitch-svn] [commit] r11450 - freeswitch/branches/ctrix/mod_airpe

FreeSWITCH SVN ctrix at freeswitch.org
Thu Jan 22 17:01:31 PST 2009


Author: ctrix
Date: Thu Jan 22 19:01:31 2009
New Revision: 11450

Log:
More OSX Stuff...

Modified:
   freeswitch/branches/ctrix/mod_airpe/airpe_if_osx.c

Modified: freeswitch/branches/ctrix/mod_airpe/airpe_if_osx.c
==============================================================================
--- freeswitch/branches/ctrix/mod_airpe/airpe_if_osx.c	(original)
+++ freeswitch/branches/ctrix/mod_airpe/airpe_if_osx.c	Thu Jan 22 19:01:31 2009
@@ -62,7 +62,7 @@
 /*****************************************************************************
     THREADS
  *****************************************************************************/
-void IncomingMessage(CFStringRef aNotificationString) {
+static void IncomingMessage(CFStringRef aNotificationString) {
 
     ADEBUG("Incoming message");
 
@@ -71,31 +71,55 @@
 
 }
 
+static void AttachResponse(unsigned int aAttachResponseCode) {
+    ADEBUG("Attach: %d\n", aAttachResponseCode);
+}
+
+
 void *SWITCH_THREAD_FUNC airpe_skype_thread(switch_thread_t * thread, void *obj) {
     airpe_interface_t *airpe = NULL;
     struct SkypeDelegate *del;
-    CFStringRef cfs;
 
     assert(obj);
     airpe = obj;
 
-    cfs = CFStringCreateWithCString(NULL, "airpe", 5);
+    if ( !IsSkypeAvailable() ) {
+	ADEBUG("Sorry, not available\n");
+	return NULL;
+    }
+
+    if ( !IsSkypeRunning() ) {
+	ADEBUG("Sorry, not running\n");
+	return NULL;
+    }
 
     del = &airpe->skype_window->delegate;
-    del->clientApplicationName=cfs;
+    del->clientApplicationName=CFSTR("airpe");
     del->SkypeNotificationReceived=IncomingMessage;
+    del->SkypeAttachResponse=AttachResponse;
+
     SetSkypeDelegate(del);
     ConnectToSkype();
 
+    if ( airpe_on_connect_messages( airpe, 6 ) != SWITCH_STATUS_SUCCESS ) {
+	switch_log_printf(	SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, 
+				"airpe client %s. Failed to send handshake messages\n", 
+				airpe->name);
+    	return NULL;
+    }
+
+
+    airpe->running = 1;
     while ( airpe->running ) {
-ADEBUG("loop\n");
 	switch_sleep(1000000);
     }
 
     DisconnectFromSkype();
     RemoveSkypeDelegate();
 
-    CFRelease(cfs);
+    ADEBUG("Exiting\n");
+
+    airpe->airpe_thread_skype = NULL;
 
     return NULL;
 }



More information about the Freeswitch-svn mailing list