Author: jerome
Date: 2009-12-29 11:21:03 +0100 (Tue, 29 Dec 2009)
New Revision: 6017

Modified:
   
software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/connector.py
   
software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py
Log:
* Fixed a bug making outgoing calls when Skype client were never started.

Modified: 
software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/connector.py
===================================================================
--- 
software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/connector.py
      2009-12-28 09:52:05 UTC (rev 6016)
+++ 
software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/connector.py
      2009-12-29 10:21:03 UTC (rev 6017)
@@ -154,13 +154,13 @@
     def __new_skype_status__(self, status):
         '''If Skype is closed and reopened we can reattach.
         '''
+        self.skype.OnAttachmentStatus = self.__new_skype_status__
         #If api is not attached, then setting 'api not ready' values
         if status != Skype4Py.apiAttachSuccess:
             self.apiReady = False
         
         #API attach is available, meaning api was disconnected.
         if status == Skype4Py.apiAttachAvailable:
-            self.skype.OnAttachmentStatus = self.__new_skype_status__
             #Attaching api.
             try:
                 self.skype.Attach()
@@ -279,4 +279,14 @@
         '''
         if(self.lock):
             self.lock = False
-        return not self.lock
+        return not self.lock
+    
+    
+    # 
--------------------------------------------------------------------------
+    # Attach Skype api.
+    # 
--------------------------------------------------------------------------
+    def AttachAPI(self):
+        '''Attach Skype api.
+        '''
+        self.__connect_all__()
+        

Modified: 
software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py
===================================================================
--- 
software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py
   2009-12-28 09:52:05 UTC (rev 6016)
+++ 
software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py
   2009-12-29 10:21:03 UTC (rev 6017)
@@ -318,6 +318,7 @@
         '''
         Initialize Skype objects and set events handlers.
         '''
+        self.mutex.acquire()
         #Api ready and connected so creatin other commands objects.
         self.synchronious = SynchroniousCommands(self.connectorObj)
         
@@ -340,9 +341,9 @@
         self.asynchronious.OnOutgoingCall         = self.OnOutgoingCall
         self.asynchronious.OnOutgoingFinished     = self.OnOutgoingFinished
         
-        self.mutex.acquire()
         self.initialized = True
         self.mutex.release()
+        
       
         
     def OnIncomingRefused(self, contactHandle):
@@ -513,14 +514,14 @@
             time.sleep(1.0)
             
             #Setting Tux Droid as audio peripheral.
-            '''
+            
             try:
                 #in try statement to take calls in care.
                 if ( self.synchronious != None ) and ( not 
self.synchronious.isTuxDroidAudioCard() ):
                     self.throwTrace(self.synchronious.setAudioCards())
             except:
                 pass
-            '''
+            
                 
      
     ##----------------------------------------------------------------
@@ -535,25 +536,34 @@
         if self.isIncoming:
             #Then it's an incoming call.
             self.serv.notify(COMMAND_INCOMING)
+        
         elif self.isOutgoingUser:
             if not self.connectorObj.isClientRunning():
-                self.connectorObj.startClient()
-                while ( not self.initialized ):
-                    time.sleep(2.0)
+                thread = threading.Thread(target=self.connectorObj.startClient)
+                thread.start()
+                self.clientStartedByPlugin = True   
+                #Wait for login and attach.
+                mutex = threading.Lock()
                 self.initialized = False
-                self.clientStartedByPlugin = True   
+                while not self.initialized:
+                    mutex.acquire()
+                    time.sleep(4)
+                    self.connectorObj.OnAPIReady = self.initializeDaemon
+                    self.connectorObj.AttachAPI()
+                    mutex.release()
+                
             #Then interface outgoing call.
             self.serv.notify(COMMAND_OUTGOING_USER)
+        
         else:
             #Then user uses TuxBox to make a call. 
             self.serv.notify(COMMAND_OUTGOING_INTERFACE)
         
         #Finally, reset values.            
         self.isIncoming = False
-        self.isOutgoingUser = True        
+        self.isOutgoingUser = True  
         
         
-        
     def ServerOnClientNotification(self, idClient, Message):
         '''
         '''


------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn

Reply via email to