ximpfw/tsrc/tsrcutils/testcaseutils/prfwtestmessenger.cpp
changeset 0 e6b17d312c8b
child 20 eedf17a17c27
equal deleted inserted replaced
-1:000000000000 0:e6b17d312c8b
       
     1 /*
       
     2 * Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: XIMP Framework Test Code prfwtestmessenger.cpp
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #include "eunittools.h"
       
    20 #include <e32def.h>
       
    21 #include <eunitmacros.h>
       
    22 #include <ximprestrictedobjectcollection.h>
       
    23 
       
    24 #include "prfwtestmessaging.h"
       
    25 #include "prfwtestmessenger.h"
       
    26 
       
    27 // ============================ MEMBER FUNCTIONS ===============================
       
    28 
       
    29 // CONSTRUCTION
       
    30 EXPORT_C CXIMPTestMessenger* CXIMPTestMessenger::NewForClientSideL( TInt aId )
       
    31     {
       
    32     CXIMPTestMessenger* self = new (ELeave) CXIMPTestMessenger( aId );
       
    33     CleanupStack::PushL( self );
       
    34     self->ConstructL();
       
    35     CleanupStack::Pop();
       
    36     self->DeletePubSubKeys();
       
    37     self->ResetPubSub();
       
    38     return self;
       
    39     }
       
    40 
       
    41 
       
    42 EXPORT_C CXIMPTestMessenger* CXIMPTestMessenger::NewForAdaptationSideL( TInt aId )
       
    43     {
       
    44     CXIMPTestMessenger* self = new (ELeave) CXIMPTestMessenger( aId );
       
    45     CleanupStack::PushL( self );
       
    46     self->ConstructL();
       
    47     CleanupStack::Pop();
       
    48     return self;
       
    49     }
       
    50 
       
    51 
       
    52 
       
    53 void CXIMPTestMessenger::ConstructL()
       
    54     {
       
    55     iDescription.CreateL( 512 );
       
    56     }
       
    57 
       
    58 // reset the given pubsub keys
       
    59 // and any helper variables
       
    60 
       
    61 _LIT_SECURITY_POLICY_PASS( KAllowReadToAll );
       
    62 _LIT_SECURITY_POLICY_PASS( KAllowWriteToAll );
       
    63 
       
    64 EXPORT_C void CXIMPTestMessenger::ResetPubSub()
       
    65     {
       
    66     // check if we've already defined the keys. if we redefine and set
       
    67     // defaults, the test logic breaks.
       
    68     TInt pubSubDefined = GetValueFor( EXIMPTestMetaPubSubDefined );
       
    69     if ( pubSubDefined )
       
    70         {
       
    71         // all done
       
    72         return;
       
    73         }
       
    74 
       
    75     TInt r = 0;
       
    76 
       
    77     // special behavioral keys
       
    78     r = RProperty::Define( iMyUid, EXIMPTestMetaPubSubDefined, RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
    79 
       
    80     r = RProperty::Define( iMyUid, EXIMPPlgTestDeath,                RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
    81     r = RProperty::Define( iMyUid, EXIMPTestPlgSessionLostStrategy,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
    82 
       
    83     // behavioral keys
       
    84     r = RProperty::Define( iMyUid, EXIMPTestPlgBehaveLeave,    RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
    85     r = RProperty::Define( iMyUid, EXIMPTestPlgBehaveError,    RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
    86     r = RProperty::Define( iMyUid, EXIMPTestPlgBehaveCloseHandle, RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
    87     r = RProperty::Define( iMyUid, EXIMPTestPlgBehaveInvalidReqId, RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
    88     // TODO add more here
       
    89 
       
    90     // "method called" keys
       
    91     r = RProperty::Define( iMyUid, EXIMPPlgTestOpenSessionCalled,       RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
    92     r = RProperty::Define( iMyUid, EXIMPPlgTestShareSessionCalled,      RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
    93     r = RProperty::Define( iMyUid, EXIMPPlgTestUnshareSessionCalled,    RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
    94     r = RProperty::Define( iMyUid, EXIMPPlgTestCloseSessionCalled,      RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
    95     r = RProperty::Define( iMyUid, EXIMPPlgTestPublishPresenceCalled,   RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
    96     r = RProperty::Define( iMyUid, EXIMPPlgTestUpdateInterestCalled,    RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
    97     r = RProperty::Define( iMyUid, EXIMPPlgTestSubscribeOwnPresenceCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
    98     r = RProperty::Define( iMyUid, EXIMPPlgTestUnsubscribeOwnPresenceCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
    99     r = RProperty::Define( iMyUid, EXIMPPlgTestUpdateOwnSubscriptionCalled, RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   100     r = RProperty::Define( iMyUid, EXIMPPlgTestSubscribeGroupListCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   101     r = RProperty::Define( iMyUid, EXIMPPlgTestUnsubscribeGroupListCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   102     r = RProperty::Define( iMyUid, EXIMPPlgTestCreatePresentityGroupCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   103     r = RProperty::Define( iMyUid, EXIMPPlgTestDeletePresentityGroupCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   104     r = RProperty::Define( iMyUid, EXIMPPlgTestUpdatePresentityGroupDisplayNameCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   105     r = RProperty::Define( iMyUid, EXIMPPlgTestSubscribePresentityPresesenceCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   106     r = RProperty::Define( iMyUid, EXIMPPlgTestUnsubscribePresentityPresesenceCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   107     r = RProperty::Define( iMyUid, EXIMPPlgTestUpdatePresentityPresesenceCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   108     r = RProperty::Define( iMyUid, EXIMPPlgTestSubscribePresentityGroupContentCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   109     r = RProperty::Define( iMyUid, EXIMPPlgTestUnsubscribePresentityGroupContentCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   110     r = RProperty::Define( iMyUid, EXIMPPlgTestAddPresentityGroupMemberCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   111     r = RProperty::Define( iMyUid, EXIMPPlgTestRemovePresentityGroupMemberCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   112     r = RProperty::Define( iMyUid, EXIMPPlgTestUpdatePresentityGroupMemberDisplayNameCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   113     r = RProperty::Define( iMyUid, EXIMPPlgTestSubscribePresenceWatcherListCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   114     r = RProperty::Define( iMyUid, EXIMPPlgTestUnsubscribePresenceWatcherListCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   115     r = RProperty::Define( iMyUid, EXIMPPlgTestSubscribePresentityGroupMembersPresesenceCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   116     r = RProperty::Define( iMyUid, EXIMPPlgTestUnsubscribePresentityGroupMembersPresesenceCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   117     r = RProperty::Define( iMyUid, EXIMPPlgTestUpdatePresentityGroupMembersPresesenceCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   118     r = RProperty::Define( iMyUid, EXIMPPlgTestSubscribePresenceGrantRequestListCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   119     r = RProperty::Define( iMyUid, EXIMPPlgTestUnsubscribePresenceGrantRequestListCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   120 
       
   121     r = RProperty::Define( iMyUid, EXIMPPlgTestGrantPresenceForPresentityCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   122     r = RProperty::Define( iMyUid, EXIMPPlgTestGrantPresenceForPresentityGroupMembersCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   123     r = RProperty::Define( iMyUid, EXIMPPlgTestGrantPresenceForEveryoneCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   124     r = RProperty::Define( iMyUid, EXIMPPlgTestUpdateGrantPresenceForPresentityCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   125     r = RProperty::Define( iMyUid, EXIMPPlgTestUpdateGrantPresenceForPresentityGroupMembersCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   126     r = RProperty::Define( iMyUid, EXIMPPlgTestUpdateGrantPresenceForEveryoneCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   127     r = RProperty::Define( iMyUid, EXIMPPlgTestWithdrawPresenceFromPresentityCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   128     r = RProperty::Define( iMyUid, EXIMPPlgTestWithdrawPresenceFromPresentityGroupMembersCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   129     r = RProperty::Define( iMyUid, EXIMPPlgTestWithdrawPresenceFromEveryoneCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   130     
       
   131     r = RProperty::Define( iMyUid, EXIMPPlgTestSubscribePresenceBlockListCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   132     r = RProperty::Define( iMyUid, EXIMPPlgTestUnsubscribePresenceBlockListCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   133     r = RProperty::Define( iMyUid, EXIMPPlgTestBlockPresenceForPresentityCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   134     r = RProperty::Define( iMyUid, EXIMPPlgTestCancelPresenceBlockFromPresentityCalled,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   135 
       
   136 //Pia
       
   137     r = RProperty::Define( iMyUid, EXIMPPlgTestSubscribePresentityGroupListCalled, RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   138     r = RProperty::Define( iMyUid, EXIMPPlgTestUnsubscribePresentityGroupListCalled, RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   139     r = RProperty::Define( iMyUid, EXIMPPlgTestHandlePresentityGroupListCalled, RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   140     r = RProperty::Define( iMyUid, EXIMPPlgTestHandlePresentityPresenceCalled, RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   141 
       
   142     r = RProperty::Define( iMyUid, EXIMPPlgTestExistsGroupContentInCache,  RProperty::EInt, KAllowReadToAll, KAllowWriteToAll );
       
   143 
       
   144     // TODO add more here
       
   145 
       
   146     // reset keys which have special meaning to defaults which will cause
       
   147     // no actions - a happy path scenario
       
   148     SetValueFor( EXIMPPlgTestDeath, EXIMPPrtValPluginDeathEmpty );
       
   149     SetValueFor( EXIMPTestPlgSessionLostStrategy, EXIMPPrtValSessionLostEmpty );
       
   150 
       
   151     // set other behavioral things to "happy path" by default
       
   152     SetValueFor( EXIMPTestPlgBehaveLeave, KErrNone );
       
   153     SetValueFor( EXIMPTestPlgBehaveError, KErrNone );
       
   154     SetValueFor( EXIMPTestPlgBehaveCloseHandle, 0 );
       
   155     SetValueFor( EXIMPTestPlgBehaveInvalidReqId, 0 );
       
   156 
       
   157     // reset method called messages
       
   158     SetValueFor( EXIMPPlgTestOpenSessionCalled, 0 );
       
   159     SetValueFor( EXIMPPlgTestShareSessionCalled, 0 );
       
   160     SetValueFor( EXIMPPlgTestUnshareSessionCalled, 0 );
       
   161     SetValueFor( EXIMPPlgTestCloseSessionCalled, 0 );
       
   162     SetValueFor( EXIMPPlgTestPublishPresenceCalled, 0 );
       
   163     SetValueFor( EXIMPPlgTestUpdateInterestCalled, 0 );
       
   164     SetValueFor( EXIMPPlgTestSubscribeOwnPresenceCalled, 0 );
       
   165     SetValueFor( EXIMPPlgTestUnsubscribeOwnPresenceCalled, 0 );
       
   166     SetValueFor( EXIMPPlgTestUpdateOwnSubscriptionCalled, 0 );
       
   167     SetValueFor( EXIMPPlgTestSubscribeGroupListCalled, 0 );
       
   168     SetValueFor( EXIMPPlgTestUnsubscribeGroupListCalled, 0 );
       
   169     SetValueFor( EXIMPPlgTestCreatePresentityGroupCalled, 0 );
       
   170     SetValueFor( EXIMPPlgTestDeletePresentityGroupCalled, 0 );
       
   171     SetValueFor( EXIMPPlgTestUpdatePresentityGroupDisplayNameCalled, 0 );
       
   172     SetValueFor( EXIMPPlgTestSubscribePresentityPresesenceCalled, 0 );
       
   173     SetValueFor( EXIMPPlgTestUnsubscribePresentityPresesenceCalled, 0 );
       
   174     SetValueFor( EXIMPPlgTestUpdatePresentityPresesenceCalled, 0 );
       
   175     SetValueFor( EXIMPPlgTestSubscribePresentityGroupContentCalled, 0 );
       
   176     SetValueFor( EXIMPPlgTestUnsubscribePresentityGroupContentCalled, 0 );
       
   177     SetValueFor( EXIMPPlgTestAddPresentityGroupMemberCalled, 0 );
       
   178     SetValueFor( EXIMPPlgTestRemovePresentityGroupMemberCalled, 0 );
       
   179     SetValueFor( EXIMPPlgTestUpdatePresentityGroupMemberDisplayNameCalled, 0 );
       
   180     SetValueFor( EXIMPPlgTestSubscribePresenceWatcherListCalled, 0 );
       
   181     SetValueFor( EXIMPPlgTestUnsubscribePresenceWatcherListCalled, 0 );
       
   182     SetValueFor( EXIMPPlgTestSubscribePresentityGroupMembersPresesenceCalled, 0 );
       
   183     SetValueFor( EXIMPPlgTestUnsubscribePresentityGroupMembersPresesenceCalled, 0 );
       
   184     SetValueFor( EXIMPPlgTestUpdatePresentityGroupMembersPresesenceCalled, 0 );
       
   185     SetValueFor( EXIMPPlgTestSubscribePresenceGrantRequestListCalled, 0 );
       
   186     SetValueFor( EXIMPPlgTestUnsubscribePresenceGrantRequestListCalled, 0 );
       
   187 
       
   188     SetValueFor( EXIMPPlgTestGrantPresenceForPresentityCalled, 0 );
       
   189     SetValueFor( EXIMPPlgTestGrantPresenceForPresentityGroupMembersCalled, 0 );
       
   190     SetValueFor( EXIMPPlgTestGrantPresenceForEveryoneCalled, 0 );
       
   191     SetValueFor( EXIMPPlgTestUpdateGrantPresenceForPresentityCalled, 0 );
       
   192     SetValueFor( EXIMPPlgTestUpdateGrantPresenceForPresentityGroupMembersCalled, 0 );
       
   193     SetValueFor( EXIMPPlgTestUpdateGrantPresenceForEveryoneCalled, 0 );
       
   194     SetValueFor( EXIMPPlgTestWithdrawPresenceFromPresentityCalled, 0 );
       
   195     SetValueFor( EXIMPPlgTestWithdrawPresenceFromPresentityGroupMembersCalled, 0 );
       
   196     SetValueFor( EXIMPPlgTestWithdrawPresenceFromEveryoneCalled, 0 );
       
   197 
       
   198     SetValueFor( EXIMPPlgTestSubscribePresenceBlockListCalled, 0 );
       
   199     SetValueFor( EXIMPPlgTestUnsubscribePresenceBlockListCalled, 0 );
       
   200     SetValueFor( EXIMPPlgTestBlockPresenceForPresentityCalled, 0 );
       
   201     SetValueFor( EXIMPPlgTestCancelPresenceBlockFromPresentityCalled, 0 );
       
   202     //Pia
       
   203     SetValueFor( EXIMPPlgTestSubscribePresentityGroupListCalled, 0 );  // DoSubscribePresentityGroupListL
       
   204     SetValueFor( EXIMPPlgTestUnsubscribePresentityGroupListCalled, 0 );  // DoUnsubscribePresentityGroupListL
       
   205     SetValueFor( EXIMPPlgTestHandlePresentityGroupListCalled, 0 ); //EXIMPPlgTestHandlePresentityGroupListCalled
       
   206     SetValueFor( EXIMPPlgTestHandlePresentityPresenceCalled, 0 );
       
   207 
       
   208     SetValueFor( EXIMPPlgTestExistsGroupContentInCache, 0 );
       
   209 
       
   210     // TODO add any new keys also to DeletePubSubKeys!!!
       
   211 
       
   212 
       
   213    // TODO add more here
       
   214 
       
   215     // TODO make the integer-valued keys and values into an array with
       
   216     // default values, then loop over the array
       
   217 
       
   218     // pubsub things have been defined. keep this as last line!
       
   219     SetValueFor( EXIMPTestMetaPubSubDefined, 1 );
       
   220     }
       
   221 
       
   222 
       
   223 EXPORT_C void CXIMPTestMessenger::SetPluginIndex( TInt aIndex /* = KErrNotFound */ )
       
   224     {
       
   225     // NOTE! Plugin index is ALWAYS set to base UID!
       
   226     TInt val = 0;
       
   227     TInt r = RProperty::Get( KXIMPTestPropertyCatBase,EXIMPTestMetaPluginIndex, val );
       
   228     if ( r == KErrNotFound )
       
   229         {
       
   230         // value was not defined
       
   231         TInt r = RProperty::Define( KXIMPTestPropertyCatBase, EXIMPTestMetaPluginIndex, RProperty::EInt );
       
   232         }
       
   233 
       
   234     r = RProperty::Set( KXIMPTestPropertyCatBase, EXIMPTestMetaPluginIndex, aIndex );
       
   235 
       
   236     iMyUid = TUid::Uid( KXIMPTestPropertyCatBase.iUid + aIndex );
       
   237     }
       
   238 
       
   239 
       
   240 EXPORT_C TInt CXIMPTestMessenger::GetPluginIndex()
       
   241     {
       
   242     TInt val = 0;
       
   243     TInt r = RProperty::Get( KXIMPTestPropertyCatBase,EXIMPTestMetaPluginIndex, val );
       
   244     if ( r == KErrNotFound )
       
   245         {
       
   246         val = KErrNotFound;
       
   247         }
       
   248 
       
   249     return val;
       
   250     }
       
   251 
       
   252 
       
   253 CXIMPTestMessenger::~CXIMPTestMessenger()
       
   254     {
       
   255     DeletePubSubKeys();
       
   256     iDescription.Close();
       
   257     delete iReqCompleteParams;
       
   258     }
       
   259 
       
   260 
       
   261 CXIMPTestMessenger::CXIMPTestMessenger( TInt aId )
       
   262     {
       
   263     iId = aId;
       
   264     iMyUid = TUid::Uid( KXIMPTestPropertyCatBase.iUid + iId );
       
   265     }
       
   266 
       
   267 
       
   268 // ===========================================================================
       
   269 // PUBLIC FUNCTIONS
       
   270 // ===========================================================================
       
   271 //
       
   272 
       
   273 //
       
   274 // Setters and getters for error code
       
   275 //
       
   276 EXPORT_C void CXIMPTestMessenger::SetNoError()
       
   277     {
       
   278     SetValueFor( EXIMPTestPlgBehaveError, KErrNone );
       
   279     }
       
   280 
       
   281 EXPORT_C void CXIMPTestMessenger::SetError( TInt aErrorCode )
       
   282     {
       
   283     SetValueFor( EXIMPTestPlgBehaveError, aErrorCode );
       
   284     }
       
   285 
       
   286 EXPORT_C TInt CXIMPTestMessenger::GetError()
       
   287     {
       
   288     return GetValueFor( EXIMPTestPlgBehaveError );
       
   289     }
       
   290 
       
   291 //
       
   292 // Setters and getters for boolean flags
       
   293 //
       
   294 EXPORT_C void CXIMPTestMessenger::SetBoolean( TXIMPTestPropertyKeys aKey )
       
   295     {
       
   296     // aKey takes boolean value, e.g. "*BehaveInvalidReqId"
       
   297     SetValueFor( aKey, 1 );
       
   298     }
       
   299 
       
   300 EXPORT_C TBool CXIMPTestMessenger::GetBoolean( TXIMPTestPropertyKeys aKey ) const
       
   301     {
       
   302     // aKey takes boolean value, e.g. "*BehaveInvalidReqId"
       
   303     return GetValueFor( aKey ) == 1;
       
   304     }
       
   305 
       
   306 //
       
   307 // Setters, getters and utility methods for leave codes
       
   308 //
       
   309 EXPORT_C void CXIMPTestMessenger::SetLeave( TInt aLeaveCode )
       
   310     {
       
   311     SetValueFor( EXIMPTestPlgBehaveLeave, aLeaveCode );
       
   312     }
       
   313 
       
   314 EXPORT_C TInt CXIMPTestMessenger::GetLeave()
       
   315     {
       
   316     return GetValueFor( EXIMPTestPlgBehaveLeave );
       
   317     }
       
   318 
       
   319 // call this method to automatically handle leaves
       
   320 EXPORT_C void CXIMPTestMessenger::HandleLeaveL()
       
   321     {
       
   322     User::LeaveIfError( GetLeave() );
       
   323     }
       
   324 
       
   325 
       
   326 //
       
   327 //
       
   328 // General messaging support for direct access,
       
   329 // also used internally as setters and getters.
       
   330 //
       
   331 EXPORT_C void CXIMPTestMessenger::SetValueFor( TXIMPTestPropertyKeys aKey, TInt aValue )
       
   332     {
       
   333     TXIMPTestMsg testMsg;
       
   334     testMsg.iKey = aKey;
       
   335     testMsg.iVal = aValue;
       
   336     Send( testMsg );
       
   337     }
       
   338 
       
   339 EXPORT_C TInt CXIMPTestMessenger::GetValueFor( TXIMPTestPropertyKeys aKey ) const
       
   340     {
       
   341     TXIMPTestMsg testMsg;
       
   342     testMsg.iKey = aKey;
       
   343     Receive( testMsg );
       
   344     return testMsg.iVal;
       
   345     }
       
   346 
       
   347 //
       
   348 // Actual pubsub setters and getters
       
   349 //
       
   350 void CXIMPTestMessenger::Send( TXIMPTestMsg& aMsg )
       
   351     {
       
   352     TInt r = RProperty::Set( iMyUid, aMsg.iKey, aMsg.iVal );
       
   353     // TODO handle error in r
       
   354     }
       
   355 
       
   356 void CXIMPTestMessenger::Receive( TXIMPTestMsg& aMsg ) const
       
   357     {
       
   358     TInt val = 0;
       
   359     TInt r = RProperty::Get( iMyUid,
       
   360             aMsg.iKey, val );
       
   361     aMsg.iVal = val;
       
   362     // TODO handle error in r, set val appropriately (0)?
       
   363     }
       
   364 
       
   365 // ----------------------------------------------------------------
       
   366 //
       
   367 // assert helpers
       
   368 //
       
   369 void CXIMPTestMessenger::CommonAssert( TXIMPTestPropertyKeys aKey,
       
   370         TBool aCompareState,
       
   371         const TDesC8& aTrueDesc,
       
   372         const TDesC8& aFalseDesc ) const
       
   373     {
       
   374     iDescription.Zero();
       
   375     TBool value = GetBoolean( aKey );
       
   376 
       
   377     if ( aCompareState )
       
   378         {
       
   379         // the true case means success here
       
   380         iDescription = aFalseDesc;
       
   381         PRFW_ASSERT_DESC( value, iDescription.PtrZ() );
       
   382         }
       
   383     else
       
   384         {
       
   385         // the false case means success here
       
   386         iDescription = aTrueDesc;
       
   387         PRFW_ASSERT_DESC( ! value, iDescription.PtrZ() );
       
   388         }
       
   389     }
       
   390 
       
   391 //
       
   392 // One Assert-method for each boolean-value (see prfwtestmessaging.h)
       
   393 //
       
   394 EXPORT_C void CXIMPTestMessenger::AssertPluginDied( TBool aState )
       
   395     {
       
   396     // ETrue == Yes, plugin died.
       
   397 /*    CommonAssert( EXIMPPlgTestDeath, aState,
       
   398                  _L8( "Plugin was destroyed" ),
       
   399                  _L8( "Plugin was not destroyed" ) );*/
       
   400     }
       
   401 
       
   402 EXPORT_C void CXIMPTestMessenger::AssertOpenSessionCalled( TBool aState )
       
   403     {
       
   404     CommonAssert( EXIMPPlgTestOpenSessionCalled, aState,
       
   405                  _L8( "OpenSession called" ),
       
   406                  _L8( "OpenSession not called" ) );
       
   407     }
       
   408 
       
   409 EXPORT_C void CXIMPTestMessenger::AssertShareSessionCalled( TBool aState )
       
   410     {
       
   411     CommonAssert( EXIMPPlgTestShareSessionCalled, aState,
       
   412                  _L8( "ShareSession called" ),
       
   413                  _L8( "ShareSession not called" ) );
       
   414     }
       
   415 
       
   416 EXPORT_C void CXIMPTestMessenger::AssertCloseSessionCalled( TBool aState )
       
   417     {
       
   418     CommonAssert( EXIMPPlgTestCloseSessionCalled, aState,
       
   419                  _L8( "CloseSession called" ),
       
   420                  _L8( "CloseSession not called" ) );
       
   421     }
       
   422 
       
   423 EXPORT_C void CXIMPTestMessenger::AssertUnshareSessionCalled( TBool aState )
       
   424     {
       
   425     CommonAssert( EXIMPPlgTestUnshareSessionCalled, aState,
       
   426                  _L8( "UnshareSession called" ),
       
   427                  _L8( "UnshareSession not called" ) );
       
   428     }
       
   429 
       
   430 EXPORT_C void CXIMPTestMessenger::AssertSubscribePresentityGroupContentCalled( TBool aState )
       
   431     {
       
   432     CommonAssert( EXIMPPlgTestSubscribePresentityGroupContentCalled, aState,
       
   433             _L8( "DoSubscribePresentityGroupContentL called" ),
       
   434             _L8( "DoSubscribePresentityGroupContentL not called" ) );
       
   435     }
       
   436 
       
   437 EXPORT_C void CXIMPTestMessenger::AssertSubscribePresentityGroupListCalled( TBool aState )
       
   438     {
       
   439     CommonAssert( EXIMPPlgTestSubscribeGroupListCalled, aState,
       
   440             _L8( "DoSubscribePresentityGroupListL called" ),
       
   441             _L8( "DoSubscribePresentityGroupListL not called" ) );
       
   442     }
       
   443 
       
   444 EXPORT_C void CXIMPTestMessenger::AssertUnsubscribePresentityGroupContentCalled( TBool aState )
       
   445     {
       
   446     CommonAssert( EXIMPPlgTestUnsubscribePresentityGroupContentCalled, aState,
       
   447                  _L8( "DoUnsubscribePresentityGroupContentL called" ),
       
   448                  _L8( "DoUnsubscribePresentityGroupContentL not called" ) );
       
   449     }
       
   450 
       
   451 EXPORT_C void CXIMPTestMessenger::AssertUnsubscribePresentityGroupListCalled( TBool aState )
       
   452     {
       
   453     CommonAssert( EXIMPPlgTestUnsubscribeGroupListCalled, aState,
       
   454                  _L8( "DoUnsubscribePresentityGroupListL called" ),
       
   455                  _L8( "DoUnsubscribePresentityGroupListL not called" ) );
       
   456     }
       
   457 
       
   458 EXPORT_C void CXIMPTestMessenger::AssertAddPresentityGroupMemberCalled( TBool aState )
       
   459     {
       
   460     CommonAssert( EXIMPPlgTestAddPresentityGroupMemberCalled, aState,
       
   461             _L8( "DoAddPresentityGroupMemberL called" ),
       
   462             _L8( "DoAddPresentityGroupMemberL not called" ) );
       
   463     }
       
   464 
       
   465 EXPORT_C void CXIMPTestMessenger::AssertRemovePresentityGroupMemberCalled( TBool aState )
       
   466     {
       
   467     CommonAssert( EXIMPPlgTestRemovePresentityGroupMemberCalled, aState,
       
   468                  _L8( "DoRemovePresentityGroupMemberL called" ),
       
   469                  _L8( "DoRemovePresentityGroupMemberL not called" ) );
       
   470     }
       
   471 
       
   472 EXPORT_C void CXIMPTestMessenger::AssertUpdatePresentityGroupMemberDisplayNameCalled( TBool aState )
       
   473     {
       
   474     CommonAssert( EXIMPPlgTestUpdatePresentityGroupMemberDisplayNameCalled, aState,
       
   475                  _L8( "DoUpdatePresentityGroupMemberDisplayNameL called" ),
       
   476                  _L8( "DoUpdatePresentityGroupMemberDisplayNameL not called" ) );
       
   477     }
       
   478 
       
   479 EXPORT_C void CXIMPTestMessenger::AssertUpdatePresentityGroupDisplayNameCalled( TBool aState )
       
   480     {
       
   481     CommonAssert( EXIMPPlgTestUpdatePresentityGroupDisplayNameCalled, aState,
       
   482                  _L8( "DoUpdatePresentityGroupDisplayNameL called" ),
       
   483                  _L8( "DoUpdatePresentityGroupDisplayNameL not called" ) );
       
   484     }
       
   485 
       
   486 EXPORT_C void CXIMPTestMessenger::AssertCreatePresentityGroupCalled( TBool aState )
       
   487     {
       
   488     CommonAssert( EXIMPPlgTestCreatePresentityGroupCalled, aState,
       
   489                  _L8( "DoCreatePresentityGroupL called" ),
       
   490                  _L8( "DoCreatePresentityGroupL not called" ) );
       
   491     }
       
   492 
       
   493 EXPORT_C void CXIMPTestMessenger::SetReqCompleteParams( MXIMPRestrictedObjectCollection* aParams )
       
   494     {
       
   495     delete iReqCompleteParams;
       
   496     iReqCompleteParams = aParams;
       
   497     }
       
   498 EXPORT_C MXIMPRestrictedObjectCollection* CXIMPTestMessenger::GetReqCompleteParams()
       
   499     {
       
   500     MXIMPRestrictedObjectCollection* retParam = iReqCompleteParams;
       
   501     iReqCompleteParams = NULL;
       
   502     return retParam;
       
   503     }
       
   504 
       
   505 // TODO add more
       
   506 
       
   507 EXPORT_C void CXIMPTestMessenger::DeletePubSubKeys()
       
   508     {
       
   509     TInt r = RProperty::Delete( iMyUid, EXIMPPlgTestDeath );
       
   510     r = RProperty::Delete( iMyUid, EXIMPTestPlgSessionLostStrategy );
       
   511 
       
   512     // behavioral keys
       
   513     r = RProperty::Delete( iMyUid, EXIMPTestPlgBehaveLeave );
       
   514     r = RProperty::Delete( iMyUid, EXIMPTestPlgBehaveError );
       
   515     r = RProperty::Delete( iMyUid, EXIMPTestPlgBehaveCloseHandle );
       
   516     r = RProperty::Delete( iMyUid, EXIMPTestPlgBehaveInvalidReqId );
       
   517     // TODO add more here
       
   518 
       
   519     // "method called" keys
       
   520     r = RProperty::Delete( iMyUid, EXIMPPlgTestOpenSessionCalled );
       
   521     r = RProperty::Delete( iMyUid, EXIMPPlgTestShareSessionCalled );
       
   522     r = RProperty::Delete( iMyUid, EXIMPPlgTestUnshareSessionCalled );
       
   523     r = RProperty::Delete( iMyUid, EXIMPPlgTestCloseSessionCalled );
       
   524     r = RProperty::Delete( iMyUid, EXIMPPlgTestPublishPresenceCalled );
       
   525     r = RProperty::Delete( iMyUid, EXIMPPlgTestUpdateInterestCalled );
       
   526     r = RProperty::Delete( iMyUid, EXIMPPlgTestSubscribeOwnPresenceCalled );
       
   527     r = RProperty::Delete( iMyUid, EXIMPPlgTestUnsubscribeOwnPresenceCalled );
       
   528     r = RProperty::Delete( iMyUid, EXIMPPlgTestUpdateOwnSubscriptionCalled );
       
   529     r = RProperty::Delete( iMyUid, EXIMPPlgTestSubscribeGroupListCalled );
       
   530     r = RProperty::Delete( iMyUid, EXIMPPlgTestUnsubscribeGroupListCalled );
       
   531     r = RProperty::Delete( iMyUid, EXIMPPlgTestCreatePresentityGroupCalled );
       
   532     r = RProperty::Delete( iMyUid, EXIMPPlgTestDeletePresentityGroupCalled );
       
   533     r = RProperty::Delete( iMyUid, EXIMPPlgTestUpdatePresentityGroupDisplayNameCalled );
       
   534     r = RProperty::Delete( iMyUid, EXIMPPlgTestSubscribePresentityPresesenceCalled );
       
   535     r = RProperty::Delete( iMyUid, EXIMPPlgTestUnsubscribePresentityPresesenceCalled );
       
   536     r = RProperty::Delete( iMyUid, EXIMPPlgTestUpdatePresentityPresesenceCalled );
       
   537     r = RProperty::Delete( iMyUid, EXIMPPlgTestSubscribePresentityGroupMembersPresesenceCalled );
       
   538     r = RProperty::Delete( iMyUid, EXIMPPlgTestUnsubscribePresentityGroupMembersPresesenceCalled );
       
   539     r = RProperty::Delete( iMyUid, EXIMPPlgTestUpdatePresentityGroupMembersPresesenceCalled );
       
   540 
       
   541     r = RProperty::Delete( iMyUid, EXIMPPlgTestSubscribePresentityGroupContentCalled );
       
   542     r = RProperty::Delete( iMyUid, EXIMPPlgTestUnsubscribePresentityGroupContentCalled );
       
   543     r = RProperty::Delete( iMyUid, EXIMPPlgTestAddPresentityGroupMemberCalled );
       
   544     r = RProperty::Delete( iMyUid, EXIMPPlgTestRemovePresentityGroupMemberCalled );
       
   545     r = RProperty::Delete( iMyUid, EXIMPPlgTestUpdatePresentityGroupMemberDisplayNameCalled );
       
   546 
       
   547     r = RProperty::Delete( iMyUid, EXIMPPlgTestSubscribePresenceWatcherListCalled );
       
   548     r = RProperty::Delete( iMyUid, EXIMPPlgTestUnsubscribePresenceWatcherListCalled );
       
   549 
       
   550     r = RProperty::Delete( iMyUid, EXIMPPlgTestSubscribePresenceGrantRequestListCalled );
       
   551     r = RProperty::Delete( iMyUid, EXIMPPlgTestUnsubscribePresenceGrantRequestListCalled );
       
   552 
       
   553     r = RProperty::Delete( iMyUid, EXIMPPlgTestGrantPresenceForPresentityCalled );
       
   554     r = RProperty::Delete( iMyUid, EXIMPPlgTestGrantPresenceForPresentityGroupMembersCalled );
       
   555     r = RProperty::Delete( iMyUid, EXIMPPlgTestGrantPresenceForEveryoneCalled );
       
   556     r = RProperty::Delete( iMyUid, EXIMPPlgTestUpdateGrantPresenceForPresentityCalled );
       
   557     r = RProperty::Delete( iMyUid, EXIMPPlgTestUpdateGrantPresenceForPresentityGroupMembersCalled );
       
   558     r = RProperty::Delete( iMyUid, EXIMPPlgTestUpdateGrantPresenceForEveryoneCalled );
       
   559     r = RProperty::Delete( iMyUid, EXIMPPlgTestWithdrawPresenceFromPresentityCalled );
       
   560     r = RProperty::Delete( iMyUid, EXIMPPlgTestWithdrawPresenceFromPresentityGroupMembersCalled );
       
   561     r = RProperty::Delete( iMyUid, EXIMPPlgTestWithdrawPresenceFromEveryoneCalled );
       
   562 
       
   563     r = RProperty::Delete( iMyUid, EXIMPPlgTestSubscribePresenceBlockListCalled );
       
   564     r = RProperty::Delete( iMyUid, EXIMPPlgTestUnsubscribePresenceBlockListCalled );
       
   565     r = RProperty::Delete( iMyUid, EXIMPPlgTestBlockPresenceForPresentityCalled );
       
   566     r = RProperty::Delete( iMyUid, EXIMPPlgTestCancelPresenceBlockFromPresentityCalled );
       
   567 
       
   568     
       
   569        //Pia
       
   570     r = RProperty::Delete( iMyUid, EXIMPPlgTestSubscribePresentityGroupListCalled );  // DoSubscribePresentityGroupListL
       
   571     r = RProperty::Delete( iMyUid, EXIMPPlgTestUnsubscribePresentityGroupListCalled );  // DoUnsubscribePresentityGroupListL
       
   572     r = RProperty::Delete( iMyUid, EXIMPPlgTestHandlePresentityGroupListCalled); //EXIMPPlgTestHandle
       
   573     r = RProperty::Delete( iMyUid, EXIMPPlgTestHandlePresentityPresenceCalled); //
       
   574 
       
   575 
       
   576     r = RProperty::Delete( iMyUid, EXIMPTestMetaPubSubDefined );
       
   577 
       
   578     r = RProperty::Delete( iMyUid, EXIMPPlgTestExistsGroupContentInCache );    
       
   579     }
       
   580 
       
   581 
       
   582 // end of file
       
   583 
       
   584