equal
deleted
inserted
replaced
54 |
54 |
55 // LOCAL FUNCTION PROTOTYPES |
55 // LOCAL FUNCTION PROTOTYPES |
56 // None. |
56 // None. |
57 |
57 |
58 // ============================ MEMBER FUNCTIONS =============================== |
58 // ============================ MEMBER FUNCTIONS =============================== |
|
59 // ----------------------------------------------------------------------------- |
|
60 // CloseEngine |
|
61 // CB method used if ConstructL leaves. Just calls Close to initiate proper |
|
62 // shutdown sequence |
|
63 // ----------------------------------------------------------------------------- |
|
64 // |
|
65 void CloseEngine( TAny* aPtr ) |
|
66 { |
|
67 static_cast<CCseSchedulerServerEngine*>( aPtr )->Close(); |
|
68 } |
59 |
69 |
60 // ----------------------------------------------------------------------------- |
70 // ----------------------------------------------------------------------------- |
61 // CCseSchedulerServerEngine::CCseSchedulerServerEngine |
71 // CCseSchedulerServerEngine::CCseSchedulerServerEngine |
62 // C++ default constructor can NOT contain any code, that might leave. |
72 // C++ default constructor can NOT contain any code, that might leave. |
63 // ----------------------------------------------------------------------------- |
73 // ----------------------------------------------------------------------------- |
77 // |
87 // |
78 CCseSchedulerServerEngine* CCseSchedulerServerEngine::NewL( CCseSchedulerServer& aServer ) |
88 CCseSchedulerServerEngine* CCseSchedulerServerEngine::NewL( CCseSchedulerServer& aServer ) |
79 { |
89 { |
80 CSELOGSTRING_HIGH_LEVEL(">>>CCseSchedulerServerEngine::NewL"); |
90 CSELOGSTRING_HIGH_LEVEL(">>>CCseSchedulerServerEngine::NewL"); |
81 |
91 |
82 CCseSchedulerServerEngine* self = new( ELeave ) CCseSchedulerServerEngine( aServer ); |
92 CCseSchedulerServerEngine* self = new( ELeave ) CCseSchedulerServerEngine( aServer ); |
83 CleanupStack::PushL( self ); |
93 CleanupStack::PushL( TCleanupItem( CloseEngine, self ) ); |
84 self->ConstructL(); |
94 self->ConstructL(); |
85 CleanupStack::Pop( self ); |
95 CleanupStack::Pop( ); // CleanupItem |
86 |
96 |
87 CSELOGSTRING_HIGH_LEVEL("<<<CCseSchedulerServerEngine::NewL"); |
97 CSELOGSTRING_HIGH_LEVEL("<<<CCseSchedulerServerEngine::NewL"); |
88 return self; |
98 return self; |
89 } |
99 } |
90 |
100 |
93 // Symbian 2nd phase constructor can leave. |
103 // Symbian 2nd phase constructor can leave. |
94 // ----------------------------------------------------------------------------- |
104 // ----------------------------------------------------------------------------- |
95 // |
105 // |
96 void CCseSchedulerServerEngine::ConstructL() |
106 void CCseSchedulerServerEngine::ConstructL() |
97 { |
107 { |
98 CSELOGSTRING_HIGH_LEVEL(">>>CCseSchedulerServerEngine::ConstructL"); |
108 CSELOGSTRING_HIGH_LEVEL(">>>CCseSchedulerServerEngine::ConstructL"); |
99 |
109 |
100 iDb = CCseScheduleDB::NewL(); |
110 iDb = CCseScheduleDB::NewL(); |
101 iCompletitionBreaker = CIdle::NewL( CActive::EPriorityLow ); |
111 iCompletitionBreaker = CIdle::NewL( CActive::EPriorityLow ); |
102 |
112 |
103 CSELOGSTRING_HIGH_LEVEL("<<<CCseSchedulerServerEngine::ConstructL"); |
113 CSELOGSTRING_HIGH_LEVEL("<<<CCseSchedulerServerEngine::ConstructL"); |
104 } |
114 } |
105 |
115 |
106 // ----------------------------------------------------------------------------- |
116 // ----------------------------------------------------------------------------- |
107 // CCseSchedulerServerEngine::~CCseSchedulerServerEngine |
117 // CCseSchedulerServerEngine::~CCseSchedulerServerEngine |
109 // ----------------------------------------------------------------------------- |
119 // ----------------------------------------------------------------------------- |
110 // |
120 // |
111 CCseSchedulerServerEngine::~CCseSchedulerServerEngine() |
121 CCseSchedulerServerEngine::~CCseSchedulerServerEngine() |
112 { |
122 { |
113 CSELOGSTRING_HIGH_LEVEL(">>>CCseSchedulerServerEngine::~CCseSchedulerServerEngine"); |
123 CSELOGSTRING_HIGH_LEVEL(">>>CCseSchedulerServerEngine::~CCseSchedulerServerEngine"); |
114 |
124 |
115 delete iDb; |
125 delete iDb; |
116 |
126 |
117 iPluginControllerArray.ResetAndDestroy(); |
127 iPluginControllerArray.ResetAndDestroy(); |
118 iPluginControllerArray.Close(); |
128 iPluginControllerArray.Close(); |
119 delete iCompletitionBreaker; |
129 delete iCompletitionBreaker; |
120 |
130 |
121 CSELOGSTRING_HIGH_LEVEL("<<<CCseSchedulerServerEngine::~CCseSchedulerServerEngine"); |
131 CSELOGSTRING_HIGH_LEVEL("<<<CCseSchedulerServerEngine::~CCseSchedulerServerEngine"); |
122 } |
132 } |
123 |
|
124 |
133 |
125 // ----------------------------------------------------------------------------- |
134 // ----------------------------------------------------------------------------- |
126 // CCseSchedulerServerEngine::GeneralServiceL |
135 // CCseSchedulerServerEngine::GeneralServiceL |
127 // |
136 // |
128 // Schedule operations |
137 // Schedule operations |
862 // |
871 // |
863 // ----------------------------------------------------------------------------- |
872 // ----------------------------------------------------------------------------- |
864 // |
873 // |
865 void CCseSchedulerServerEngine::Close() |
874 void CCseSchedulerServerEngine::Close() |
866 { |
875 { |
867 CSELOGSTRING_HIGH_LEVEL(">>>CCseSchedulerServerEngine::IsSchedulerActive"); |
876 CSELOGSTRING_HIGH_LEVEL(">>>CCseSchedulerServerEngine::Close"); |
868 |
877 |
869 while( AccessCount() >= 1 ) |
878 while( AccessCount() >= 1 ) |
870 { |
879 { |
871 Dec(); |
880 Dec(); |
872 } |
881 } |
873 |
882 |
874 CSELOGSTRING_HIGH_LEVEL("<<<CCseSchedulerServerEngine::IsSchedulerActive"); |
883 CSELOGSTRING_HIGH_LEVEL("<<<CCseSchedulerServerEngine::Close"); |
875 } |
884 } |
876 |
885 |
877 |
886 |
878 // ----------------------------------------------------------------------------- |
887 // ----------------------------------------------------------------------------- |
879 // CCseSchedulerServerEngine::GetScheduleArrayLengthByPluginUidL |
888 // CCseSchedulerServerEngine::GetScheduleArrayLengthByPluginUidL |