telephonyserverplugins/licenseetsystub/licensee_tsy_stub/inc/cmmcustomstubext.h
changeset 0 3553901f7fa8
equal deleted inserted replaced
-1:000000000000 0:3553901f7fa8
       
     1 // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 
       
    14 #ifndef CMMCUSTOMSTUBEXT_H
       
    15 #define CMMCUSTOMSTUBEXT_H
       
    16 
       
    17 //  INCLUDES
       
    18 #include <ctsy/serviceapi/cmmcustomvendorext.h>
       
    19 #include <ctsy/serviceapi/mcustomvendorextcomplete.h>
       
    20 
       
    21 // FORWARD DECLARATIONS
       
    22 class CMmMessageRouter;
       
    23 
       
    24 // CLASS DECLARATION
       
    25 
       
    26 /**
       
    27  * CMmCustomVendorExt is used to provide an extension interface for 
       
    28  * implementing vendor spesific IPCs.
       
    29  *
       
    30  */
       
    31 class CMmCustomStubExt : public CMmCustomVendorExt
       
    32     {
       
    33     public:
       
    34     
       
    35         /**
       
    36          * Destructor.
       
    37          */
       
    38         virtual ~CMmCustomStubExt();
       
    39 
       
    40         /**
       
    41          * InitializeL
       
    42          *          
       
    43          * @param aMCustomVendorExtComplete Reference to vendor completion
       
    44          */
       
    45         virtual void InitializeL( 
       
    46             MCustomVendorExtComplete& aMCustomVendorExtComplete ); 
       
    47         
       
    48         /**
       
    49          * DoExtFuncL
       
    50          *          
       
    51          * @param aTsyReqHandle Request handle
       
    52          * @param aIpc IPC number of request
       
    53          * @param aPackage Contains parameters for request
       
    54          * @return KErrNotSupported
       
    55          */
       
    56         virtual TInt DoExtFuncL( const TTsyReqHandle aTsyReqHandle, 
       
    57             const TInt aIpc, const TDataPackage& aPackage );
       
    58             
       
    59         /**
       
    60          * SupportingIPC
       
    61          *          
       
    62          * @param aIpc IPC to verify
       
    63          * @return EFalse
       
    64          */
       
    65         virtual TBool SupportingIPC( TInt /*aIpc*/ ); 
       
    66     
       
    67         /**
       
    68          * RegisterNotification
       
    69          *          
       
    70          * @param aIpc IPC of the notification request
       
    71          * @return Error value
       
    72          */
       
    73         virtual TInt RegisterNotification( const TInt /*aIpc*/ ); 
       
    74                 
       
    75         /**
       
    76          * DeregisterNotification
       
    77          *          
       
    78          * @param aIpc IPC of the notification request
       
    79          * @return KErrNotSupported
       
    80          */
       
    81         virtual TInt DeregisterNotification( const TInt /*aIpc*/ );
       
    82       
       
    83         /**
       
    84          * ReqModeL
       
    85          *          
       
    86          * @param aIpc IPC of the request
       
    87          * @return 0
       
    88          */
       
    89         virtual CTelObject::TReqMode ReqModeL( const TInt /*aIpc*/ ); 
       
    90             
       
    91         /**
       
    92          * NumberOfSlotsL
       
    93          *          
       
    94          * @param aIpc IPC of the request
       
    95          * @return 2
       
    96          */
       
    97         virtual TInt NumberOfSlotsL( const TInt /*aIpc*/ );
       
    98 
       
    99         /**
       
   100          * CancelService
       
   101          *          
       
   102          * @param aIpc IPC of the request to be cancelled
       
   103          * @param aTsyReqHandle Request handle
       
   104          * @return KErrGeneral
       
   105          */
       
   106         virtual TInt CancelService( const TInt /*aIpc*/, 
       
   107             const TTsyReqHandle /*aTsyReqHandle*/ );
       
   108 
       
   109         /**
       
   110          * Complete completes due to timer expiration
       
   111          *          
       
   112          * @param aReqHandleType Req handle type
       
   113          * @param aError Completion value
       
   114          * @param aIPC IPC number
       
   115          * @return KErrNotSupported
       
   116          */
       
   117         virtual TInt Complete( TInt /*aReqHandleType*/, 
       
   118             TInt /*aError*/, TInt /*aIPC*/ );
       
   119 
       
   120         /**
       
   121          * GetRequiredPlatSecCaps
       
   122          *          
       
   123          * @param aIpc IPC number
       
   124          * @return TSecurityPolicy(TSecurityPolicy::EAlwaysFail)
       
   125          */
       
   126         virtual TSecurityPolicy GetRequiredPlatSecCaps( const TInt /*aIpc*/ );
       
   127         
       
   128         /**
       
   129          * SetMessageRouter
       
   130          *          
       
   131          * @param aMessageRouter Pointer to messagerouter
       
   132          */
       
   133         void SetMessageRouter( CMmMessageRouter* aMessageRouter );
       
   134         
       
   135         /**
       
   136          * Constructor.
       
   137          */
       
   138         CMmCustomStubExt(); 
       
   139     
       
   140     private:    // data
       
   141         
       
   142         /*
       
   143          * Pointer to Messagerouter
       
   144          * Own.
       
   145          */                  
       
   146         CMmMessageRouter* iMessageRouter;
       
   147         
       
   148         /*
       
   149          * iFirstTime
       
   150          */         
       
   151         TBool iFirstTime;
       
   152         
       
   153         /*
       
   154          * Pointer to custom extension vendor completion.
       
   155          */ 
       
   156         MCustomVendorExtComplete* iVendorExtComplete; 
       
   157         
       
   158     };
       
   159     
       
   160 
       
   161 #endif // CMMCUSTOMSTUBEXT_H
       
   162 
       
   163 //  End of File