usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/inc/msmmserver.h
branchRCL_3
changeset 15 f92a4f87e424
parent 0 c9bc50fca66e
child 16 012cc2ee6408
equal deleted inserted replaced
14:d3e8e7d462dd 15:f92a4f87e424
    35 // Forward declaration
    35 // Forward declaration
    36 class CMsmmEngine;
    36 class CMsmmEngine;
    37 class CMsmmTerminator;
    37 class CMsmmTerminator;
    38 class CDeviceEventQueue;
    38 class CDeviceEventQueue;
    39 class CMsmmPolicyPluginBase;
    39 class CMsmmPolicyPluginBase;
       
    40 class THostMsErrData;
       
    41 class CMsmmDismountUsbDrives;
       
    42 class TUSBMSDeviceDescription;
    40 
    43 
    41 // Server side resource container class
    44 // Server side resource container class
    42 // Intends to be used by any internal objects (such as sub-command objects) 
    45 // Intends to be used by any internal objects (such as sub-command objects) 
    43 // needs access to engine, policy plugin, MSC or RFs. 
    46 // needs access to engine, policy plugin, MSC or RFs. 
    44 class MMsmmSrvProxy
    47 class MMsmmSrvProxy
    64 
    67 
    65 public:
    68 public:
    66     // CMsmmServer API
    69     // CMsmmServer API
    67     virtual CSession2* NewSessionL(const TVersion& aVersion, 
    70     virtual CSession2* NewSessionL(const TVersion& aVersion, 
    68             const RMessage2& aMessage) const;
    71             const RMessage2& aMessage) const;
    69     
    72     CPolicyServer::TCustomResult CustomSecurityCheckL(const RMessage2& aMsg, 
       
    73                                                         TInt& aAction,  
       
    74                                                         TSecurityInfo& aMissing);
       
    75 
    70     TInt SessionNumber() const;
    76     TInt SessionNumber() const;
    71     void AddSession();
    77     void AddSession();
    72     void RemoveSession();
    78     void RemoveSession();
    73 
    79 
       
    80     void DismountUsbDrivesL(TUSBMSDeviceDescription& aDevice);
       
    81     
    74     // From MMsmmSrvProxy
    82     // From MMsmmSrvProxy
    75     inline CMsmmEngine& Engine() const;
    83     inline CMsmmEngine& Engine() const;
    76     inline RFs& FileServerSession() const;
    84     inline RFs& FileServerSession() const;
    77     inline CMsmmPolicyPluginBase* PolicyPlugin() const;
    85     inline CMsmmPolicyPluginBase* PolicyPlugin() const;
    78 
    86 
    85     CMsmmTerminator*    iTerminator; // Owned
    93     CMsmmTerminator*    iTerminator; // Owned
    86     CMsmmEngine*        iEngine; // Owned
    94     CMsmmEngine*        iEngine; // Owned
    87     RFs                 iFs;
    95     RFs                 iFs;
    88     CMsmmPolicyPluginBase*  iPolicyPlugin; // Owned
    96     CMsmmPolicyPluginBase*  iPolicyPlugin; // Owned
    89     CDeviceEventQueue* iEventQueue; // Owned
    97     CDeviceEventQueue* iEventQueue; // Owned
       
    98     CMsmmDismountUsbDrives* iDismountManager; //Singleton to request dismounting usb drives via RFs
       
    99     THostMsErrData* iDismountErrData; // The data nodes try, Owned
    90     };
   100     };
    91 #include "msmmserver.inl" 
   101 #include "msmmserver.inl" 
    92 #endif  // MSMMSERVER_H
   102 #endif  // MSMMSERVER_H