genericopenlibs/openenvcore/backend/inc/sysif.h
changeset 68 ff3fc7722556
parent 63 a117ad66e027
equal deleted inserted replaced
63:a117ad66e027 68:ff3fc7722556
    34 #include <commdb.h>
    34 #include <commdb.h>
    35 #include <commdbconnpref.h>
    35 #include <commdbconnpref.h>
    36 #include <rpipe.h>
    36 #include <rpipe.h>
    37 
    37 
    38 #include<tz.h>
    38 #include<tz.h>
       
    39 #include <e32atomics.h>
    39 
    40 
    40 #ifdef SYMBIAN_OE_POSIX_SIGNALS
    41 #ifdef SYMBIAN_OE_POSIX_SIGNALS
    41 #include "signalclient.h"
    42 #include "signalclient.h"
    42 #include "tsignalmessage.h"
    43 #include "tsignalmessage.h"
    43 
    44 
   112 /*
   113 /*
   113 @internalComponent
   114 @internalComponent
   114 */
   115 */
   115 	{
   116 	{
   116 public:
   117 public:
   117 	void StorePtrs(RHeap* aHeap, RFs* aFs, RSocketServ* aSs, RCommServ* aCs, RFastLock* aSsLock, RFastLock* aCsLock)
   118 	void StorePtrs(RHeap* aHeap, RFs* aFs, RSocketServ* aSs, RCommServ* aCs, RFastLock* aSsLock, RFastLock* aCsLock,RFastLock* aDefConnLock,RFastLock* aAESelectLock,RFastLock* aTzServerLock)
   118 		{
   119 		{
   119 		iHeap = aHeap;
   120 		iHeap = aHeap;
   120 		iFs = aFs;
   121 		iFs = aFs;
   121 		iSs = aSs;
   122 		iSs = aSs;
   122 		iCs = aCs;
   123 		iCs = aCs;
   123 		iSsLock = aSsLock;
   124 		iSsLock = aSsLock;
   124 		iCsLock = aCsLock;
   125 		iCsLock = aCsLock;
       
   126 		iDefConnLock = aDefConnLock;
       
   127 		iAESelectLock = aAESelectLock;
       
   128 		iTzServerLock = aTzServerLock;
   125 		}
   129 		}
   126 
   130 
   127 	~TCLSICleanup()
   131 	~TCLSICleanup()
   128 		{
   132 		{
   129 		iFs->Close();
   133 		iFs->Close();
   130 		iSs->Close();
   134 		iSs->Close();
   131 		iSsLock->Close();
   135 		iSsLock->Close();
   132 		iCs->Close();
   136 		iCs->Close();
   133 		iCsLock->Close();
   137 		iCsLock->Close();
   134 		iHeap->Close();
   138 		iHeap->Close();
       
   139 		iDefConnLock->Close();
       
   140 		iAESelectLock->Close();
       
   141 		iTzServerLock->Close();
   135 		}
   142 		}
   136 private:
   143 private:
   137 	RHeap* iHeap;
   144 	RHeap* iHeap;
   138 	RFs* iFs;
   145 	RFs* iFs;
   139 	RSocketServ* iSs;
   146 	RSocketServ* iSs;
   140 	RCommServ* iCs;
   147 	RCommServ* iCs;
   141 	RFastLock* iSsLock;
   148 	RFastLock* iSsLock;
   142 	RFastLock* iCsLock;
   149 	RFastLock* iCsLock;
       
   150 	RFastLock* iDefConnLock;
       
   151 	RFastLock* iAESelectLock;
       
   152 	RFastLock* iTzServerLock;
   143 	};
   153 	};
   144 
   154 
   145 
   155 
   146 class TFileTableCleanup
   156 class TFileTableCleanup
   147 {
   157 {
   605 	
   615 	
   606 	// Helper function for the setdefaultif() API to restart the 
   616 	// Helper function for the setdefaultif() API to restart the 
   607 	// default RConnection with the new settings.
   617 	// default RConnection with the new settings.
   608 	TInt StartDefConnection();
   618 	TInt StartDefConnection();
   609 	
   619 	
       
   620 	// Helper function for doing an on-demand connection to RTz server
       
   621 	TInt OnDemandTZServerConnection();
   610 private:
   622 private:
   611 	// NOTE: iCleanup should be the first member of CLSI, since iPrivateHeap
   623 	// NOTE: iCleanup should be the first member of CLSI, since iPrivateHeap
   612 	// will be destroyed from within iCleanup destructor.
   624 	// will be destroyed from within iCleanup destructor.
   613 	TCLSICleanup	iCleanup;
   625 	TCLSICleanup	iCleanup;
   614 
   626 
   681 	RArray<TASelectRequest> iASelectRequest;
   693 	RArray<TASelectRequest> iASelectRequest;
   682 	
   694 	
   683 	// Default connection settings, set/cleared using setdefaultif
   695 	// Default connection settings, set/cleared using setdefaultif
   684 	TConnPref* iDefConnPref;
   696 	TConnPref* iDefConnPref;
   685     RTz     iTzServer;	
   697     RTz     iTzServer;	
       
   698 	RFastLock iTzServerLock;
       
   699 	TBool	iIsRTzConnected;
   686     RPointerArray<CSocketDesc> iSocketArray;
   700     RPointerArray<CSocketDesc> iSocketArray;
   687 #ifdef SYMBIAN_OE_POSIX_SIGNALS
   701 #ifdef SYMBIAN_OE_POSIX_SIGNALS
   688 	// Signal handler thread
   702 	// Signal handler thread
   689 	RThread 				iSignalHandlerThread;
   703 	RThread 				iSignalHandlerThread;
   690 	RPipe					iSignalReadPipe;
   704 	RPipe					iSignalReadPipe;
   834 #endif // SYMBIAN_OE_LIBRT		
   848 #endif // SYMBIAN_OE_LIBRT		
   835 	
   849 	
   836 #endif // SYMBIAN_OE_POSIX_SIGNALS
   850 #endif // SYMBIAN_OE_POSIX_SIGNALS
   837 public:
   851 public:
   838 
   852 
   839    inline RTz & TZServer()
   853 	IMPORT_C RTz & TZServer(TInt& aStatus);
   840         {
   854 	
   841         return iTzServer;
       
   842         } 
       
   843 //ipc server session
   855 //ipc server session
   844 RIpcSession iIpcS;
   856 RIpcSession iIpcS;
   845 friend class RFileDesTransferSession;
   857 friend class RFileDesTransferSession;
   846 	};
   858 	};
   847 
   859