diff -r 000000000000 -r 3553901f7fa8 telephonyserverplugins/ctsydispatchlayer/inc/csmsdispatcher.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyserverplugins/ctsydispatchlayer/inc/csmsdispatcher.h Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,150 @@ +// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +/** + @file + @internalAll +*/ + +#ifndef __CSMSDISPATCHER_H_ +#define __CSMSDISPATCHER_H_ + +// INCLUDES +#include +#include +#include +#include + +#include + +#include + +#include "requestqueueoneshot.h" +#include +#include "mdispatchercallback.h" + +// FORWARD DECLARATIONS +class CMmDataPackage; +class MmMessageManagerCallback; +class TDispatcherHolder; + +class MLtsyDispatchSmsSendSatSms; +class MLtsyDispatchSmsGetSmsStoreInfo; +class MLtsyDispatchSmsGetSmspList; +class MLtsyDispatchSmsNackSmsStored; +class MLtsyDispatchSmsAckSmsStored; +class MLtsyDispatchSmsResumeSmsReception; +class MLtsyDispatchSmsSendSmsMessage; +class MLtsyDispatchSmsSendSmsMessageNoFdnCheck; +class MLtsyDispatchSmsSetMoSmsBearer; +class MLtsyDispatchSmsStoreSmspList; +class MLtsyDispatchSmsStoreSmspListEntry; + + +// CLASS DECLARATION + +/** + * This class is responsible for packing and unpacking data belonging + * to Sms related requests to the Licensee LTSY. + */ +class CSmsDispatcher : public CBase, public MDispatcherCallback + { +public: + + virtual ~CSmsDispatcher(); + + static CSmsDispatcher* NewL( + MLtsyDispatchFactoryV1& aLtsyFactory, + MmMessageManagerCallback& aMessageManagerCallback, + CRequestQueueOneShot& aRequestAsyncOneShot); + + static CSmsDispatcher* NewLC( + MLtsyDispatchFactoryV1& aLtsyFactory, + MmMessageManagerCallback& aMessageManagerCallback, + CRequestQueueOneShot& aRequestAsyncOneShot); + + // Dispatcher functions for dispatching requests DOWN to the Licensee LTSY + + TInt DispatchActivateSmsRoutingL(); + TInt DispatchSendSatSmsL(const CMmDataPackage* aDataPackage); + TInt DispatchGetSmsStoreInfoL(); + TInt DispatchGetSmspListL(); + TInt DispatchNackSmsStoredL(const CMmDataPackage* aDataPackage); + TInt DispatchAckSmsStoredL(const CMmDataPackage* aDataPackage); + TInt DispatchResumeSmsReceptionL(); + TInt DispatchSendSmsMessageL(const CMmDataPackage* aDataPackage); + TInt DispatchSendSmsMessageNoFdnCheckL(const CMmDataPackage* aDataPackage); + TInt DispatchSetMoSmsBearerL(const CMmDataPackage* aDataPackage); + TInt DispatchStoreSmspListEntryL(const CMmDataPackage* aDataPackage); + + + // Complete functions for receiving completions UP from the Licensee LTSY + // via the CCtsyDispatcherCallback object. + + void CallbackNotifyReceiveSmsMessage(TInt aError, TBool aInd, const TSmsMsg& aSmsMessage); + void CallbackSendSatSms(TInt aError); + void CallbackGetSmsStoreInfo(TInt aError, TInt aTotalEntries, TInt aUsedEntries); + void CallbackGetSmspList(TInt aError, const TDesC& aServiceCenterAddress, const TDesC& aDestinationAddress, + const TDesC& aAlphaTagData, const DispatcherSim::TSmsParameters& aSmsParameters, TBool aMoreToCome); + void CallbackNackSmsStored(TInt aError); + void CallbackAckSmsStored(TInt aError); + void CallbackResumeSmsReception(TInt aError); + void CallbackSendSmsMessage(TInt aError, TInt aMsgRef, const TDesC8& aSmsSubmitReport); + void CallbackSendSmsMessageNoFdnCheck(TInt aError, TInt aMsgRef, const TDesC8& aSmsSubmitReport); + void CallbackSetMoSmsBearer(TInt aError); + void CallbackStoreSmspListEntry(TInt aError); + //internal callbacks + void CallbackActivateSmsRouting(CRequestQueueOneShot::TIpcDataPackage* aDataPackage); + + // From MDispatcherCallback + void CallbackSync(CRequestQueueOneShot::TIpcDataPackage& aIpcDataPackage); + + // Other public functions + void SetDispatcherHolder(TDispatcherHolder& aDispatcherHolder); + +private: + + CSmsDispatcher(MLtsyDispatchFactoryV1& aLtsyFactory, + MmMessageManagerCallback& aMessageManagerCallback, + CRequestQueueOneShot& aRequestAsyncOneShot); + + void ConstructL(); + +private: // Not owned + + MLtsyDispatchFactoryV1& iLtsyFactoryV1; + MmMessageManagerCallback& iMessageManagerCallback; + CRequestQueueOneShot& iRequestAsyncOneShot; + TDispatcherHolder* iDispatcherHolder; + + // Interfaces in the Licensee LTSY, not owned by this object + + MLtsyDispatchSmsSendSatSms* iLtsyDispatchSmsSendSatSms; + MLtsyDispatchSmsGetSmsStoreInfo* iLtsyDispatchSmsGetSmsStoreInfo; + MLtsyDispatchSmsGetSmspList* iLtsyDispatchSmsGetSmspList; + MLtsyDispatchSmsNackSmsStored* iLtsyDispatchSmsNackSmsStored; + MLtsyDispatchSmsAckSmsStored* iLtsyDispatchSmsAckSmsStored; + MLtsyDispatchSmsResumeSmsReception* iLtsyDispatchSmsResumeSmsReception; + MLtsyDispatchSmsSendSmsMessage* iLtsyDispatchSmsSendSmsMessage; + MLtsyDispatchSmsSendSmsMessageNoFdnCheck* iLtsyDispatchSmsSendSmsMessageNoFdnCheck; + MLtsyDispatchSmsSetMoSmsBearer* iLtsyDispatchSmsSetMoSmsBearer; + MLtsyDispatchSmsStoreSmspListEntry* iLtsyDispatchSmsStoreSmspListEntry; + + CArrayPtrFlat< TSmsParameters >* iLtsyDataList; + + }; // class CSmsDispatcher + +#endif // __CSMSDISPATCHER_H_ +