122 * |
122 * |
123 * @return Name of *this* availability. |
123 * @return Name of *this* availability. |
124 */ |
124 */ |
125 virtual MMusAvaObserver::TAvailabilityName Name(); |
125 virtual MMusAvaObserver::TAvailabilityName Name(); |
126 |
126 |
|
127 /** |
|
128 * Invitation has been received. |
|
129 */ |
|
130 virtual void PrepareForReceivedInviteL(); |
|
131 |
127 |
132 |
128 public: // functions from base class MMusAvaCapabilityQueryObserver |
133 public: // functions from base class MMusAvaCapabilityQueryObserver |
129 |
134 |
130 void CapabilitiesResolved( const CMusAvaCapabilityQueryBase& aSentQuery ); |
135 void CapabilitiesResolved( const CMusAvaCapabilityQueryBase& aSentQuery ); |
131 |
136 |
156 /** |
161 /** |
157 * Advertise about video codec capabilities |
162 * Advertise about video codec capabilities |
158 */ |
163 */ |
159 void VideoCodecsResolvedL( const MDesCArray& aVideoCodecs ); |
164 void VideoCodecsResolvedL( const MDesCArray& aVideoCodecs ); |
160 |
165 |
161 |
|
162 TBool CapabilityQueryAnswered( TBool aAnswered ); |
166 TBool CapabilityQueryAnswered( TBool aAnswered ); |
163 |
167 |
|
168 void FastModeResolved( MusSettingsKeys::TFastMode aMode ); |
|
169 |
|
170 private: |
|
171 |
|
172 /** |
|
173 * Change state. |
|
174 * @param aNewState, proposed new state |
|
175 * @return KErrNone if successfull |
|
176 */ |
|
177 TInt DoSetState( MMusAvaObserver::TAvailabilityStatus aNewState ); |
|
178 |
|
179 /** |
|
180 * Handle state change in fast mode, state change may be modified |
|
181 * based on fast mode session setup progress. |
|
182 * @param aNewState, proposed new state |
|
183 * @param aCouldNotProceed, ETrue if state change occured because |
|
184 * couldn't proceed (e.g. missing information) |
|
185 * @return new state to set |
|
186 */ |
|
187 MMusAvaObserver::TAvailabilityStatus HandleFastModeL( |
|
188 MMusAvaObserver::TAvailabilityStatus aNewState ); |
|
189 |
|
190 MMusAvaObserver::TAvailabilityStatus HandleFastModeAvailableL( |
|
191 MMusAvaObserver::TAvailabilityStatus aNewState ); |
|
192 |
|
193 MMusAvaObserver::TAvailabilityStatus HandleFastModeOptionsNotSentL( |
|
194 MMusAvaObserver::TAvailabilityStatus aNewState ); |
|
195 |
|
196 MMusAvaObserver::TAvailabilityStatus HandleFastModeOptionNotAvailableL( |
|
197 MMusAvaObserver::TAvailabilityStatus aNewState ); |
|
198 |
|
199 void HandleFastModeQueryAnswered(); |
|
200 |
|
201 TBool FastModeNegotiatedByAnswerMT(); |
|
202 |
|
203 TBool FastModeNegotiationFailedMO(); |
|
204 |
164 private: |
205 private: |
165 |
206 |
166 /** |
207 /** |
167 * Reference to availability settings (data store) |
208 * Reference to availability settings (data store) |
168 */ |
209 */ |
176 CMusAvaCapabilitySipAgent* iSipAgent; |
217 CMusAvaCapabilitySipAgent* iSipAgent; |
177 CMusAvaCapabilityExchange* iCapabilityExchange; |
218 CMusAvaCapabilityExchange* iCapabilityExchange; |
178 CMusAvaCapability* iSwisCapability; |
219 CMusAvaCapability* iSwisCapability; |
179 TBool iCapabilitiesRequestAnswered; |
220 TBool iCapabilitiesRequestAnswered; |
180 TBool iCapabilityQueryAnswered; |
221 TBool iCapabilityQueryAnswered; |
|
222 |
|
223 TBool iFastModeCapable; |
|
224 TBool iFastModeAvailabilityDelayed; |
181 |
225 |
182 MUS_UNITTEST ( UT_CMusAvaOptionHandler ) |
226 MUS_UNITTEST ( UT_CMusAvaOptionHandler ) |
183 MUS_UNITTEST ( UT_CMusAvaCapabilityExchange ) |
227 MUS_UNITTEST ( UT_CMusAvaCapabilityExchange ) |
184 MUS_UNITTEST ( UT_CMusAvaCapability ) |
228 MUS_UNITTEST ( UT_CMusAvaCapability ) |
185 MUS_UNITTEST ( UT_CMusAvaTerminal ) |
229 MUS_UNITTEST ( UT_CMusAvaTerminal ) |