00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "ComplexClientAndServer.h"
00018 #include "ComplexServer.h"
00019 #include <e32svr.h>
00020 #include <e32uid.h>
00021
00022
00023
00024
00025
00026
00027
00031 void CCountServer::PanicServer(TCountServPanic aPanic)
00032 {
00033 _LIT(KTxtCountServer,"CountServer");
00034 User::Panic(KTxtCountServer,aPanic);
00035 }
00036
00037
00041 CCountServer* CCountServer::NewL(CActive::TPriority aActiveObjectPriority)
00042 {
00043 CCountServer* self=new (ELeave) CCountServer(aActiveObjectPriority);
00044 CleanupStack::PushL(self);
00045 self->ConstructL();
00046 CleanupStack::Pop();
00047 return self;
00048 }
00049
00050
00057 CObjectCon* CCountServer::NewContainerL()
00058 {
00059 return iContainerIndex->CreateL();
00060 }
00061
00062
00067 void CCountServer::RemoveContainer(CObjectCon *aCon)
00068 {
00069 iContainerIndex->Remove(aCon);
00070 }
00071
00072
00083 CCountServer::CCountServer(CActive::TPriority aActiveObjectPriority)
00084 : CServer2(aActiveObjectPriority)
00085 {
00086 }
00087
00088
00092 void CCountServer::ConstructL()
00093 {
00094 iContainerIndex=CObjectConIx::NewL();
00095 }
00096
00097
00101 CCountServer::~CCountServer()
00102 {
00103 delete iContainerIndex;
00104 }
00105
00106
00110 CSession2* CCountServer::NewSessionL(const TVersion &aVersion,const RMessage2& ) const
00111 {
00112
00113 TVersion v(KCountServMajorVersionNumber,KCountServMinorVersionNumber,KCountServBuildVersionNumber);
00114 if (!User::QueryVersionSupported(v,aVersion))
00115 User::Leave(KErrNotSupported);
00116
00117
00118
00119
00120
00121
00122 return new (ELeave) CCountSession;
00123 }
00124
00125