class REComSession : public RSessionBase |
The REComSession singleton class provides an API to identify (resolution), instantiate, and destroy interface class implementations requested by ECOM clients. It manages the session connection to the ECOM Server itself so that typically only one connection is made to the ECOM Server per thread. It provides an un-initialise function where it releases memory and handles of unused plug-ins, see the FinalClose() function. It also ensures that all necessary clean-up is performed in the event of a Leave by any of the ListImplementationsL() or CreateImplementationL() methods.
Note: Although a public default constructor is provided in this class it is strongly recommended this object is never created by users of this API on the stack or heap by value. To access the non-static methods of this API use the static OpenL() method to obtain a pointer or a reference to the single reference counted session in use. Close() must be called when finished with.
Special care must be taken when using aInstanceKey. It is a 32-bit instance key that is returned from a call to one of the CreateImplementationL() methods. This instance key must only be used with DestroyedImplementation() to identify the implementation instance for destruction, or GetImplementationUidL() to retrieve the Implementation Uid of the instance it refers to. No meaning must be attached to this instance key by ECOM clients and it must not be used for any other purpose.
Inherited Enumerations | |
---|---|
RHandleBase:TAttributes | |
RSessionBase:TAttachMode |
Private Attributes | |
---|---|
TInt | iReserved1 |
TInt | iReserved2 |
TInt | iReserved3 |
Inherited Attributes | |
---|---|
RHandleBase::iHandle |
IMPORT_C void | CancelNotifyOnChange | ( | TRequestStatus & | aStatus | ) |
TRequestStatus & aStatus |
IMPORT_C TAny * | CreateImplementationL | ( | TUid | aImplementationUid, |
TUid & | aInstanceKey | |||
) | [static] |
IMPORT_C TAny * | CreateImplementationL | ( | TUid | aImplementationUid, |
TInt32 | aKeyOffset | |||
) | [static] |
IMPORT_C TAny * | CreateImplementationL | ( | TUid | aImplementationUid, |
TUid & | aInstanceKey, | |||
TAny * | aConstructionParameters | |||
) | [static] |
IMPORT_C TAny * | CreateImplementationL | ( | TUid | aImplementationUid, |
TInt32 | aKeyOffset, | |||
TAny * | aConstructionParameters | |||
) | [static] |
IMPORT_C TAny * | CreateImplementationL | ( | TUid | aInterfaceUid, |
TUid & | aInstanceKey, | |||
const TEComResolverParams & | aResolutionParameters | |||
) | [static] |
TUid aInterfaceUid | |
TUid & aInstanceKey | |
const TEComResolverParams & aResolutionParameters |
IMPORT_C TAny * | CreateImplementationL | ( | TUid | aInterfaceUid, |
TInt32 | aKeyOffset, | |||
const TEComResolverParams & | aResolutionParameters | |||
) | [static] |
TUid aInterfaceUid | |
TInt32 aKeyOffset | |
const TEComResolverParams & aResolutionParameters |
IMPORT_C TAny * | CreateImplementationL | ( | TUid | aInterfaceUid, |
TUid & | aInstanceKey, | |||
TAny * | aConstructionParameters, | |||
const TEComResolverParams & | aResolutionParameters | |||
) | [static] |
TUid aInterfaceUid | |
TUid & aInstanceKey | |
TAny * aConstructionParameters | |
const TEComResolverParams & aResolutionParameters |
IMPORT_C TAny * | CreateImplementationL | ( | TUid | aInterfaceUid, |
TInt32 | aKeyOffset, | |||
TAny * | aConstructionParameters, | |||
const TEComResolverParams & | aResolutionParameters | |||
) | [static] |
TUid aInterfaceUid | |
TInt32 aKeyOffset | |
TAny * aConstructionParameters | |
const TEComResolverParams & aResolutionParameters |
IMPORT_C TAny * | CreateImplementationL | ( | TUid | aInterfaceUid, |
TUid & | aInstanceKey, | |||
const TEComResolverParams & | aResolutionParameters, | |||
TUid | aResolverUid | |||
) | [static] |
TUid aInterfaceUid | |
TUid & aInstanceKey | |
const TEComResolverParams & aResolutionParameters | |
TUid aResolverUid |
IMPORT_C TAny * | CreateImplementationL | ( | TUid | aInterfaceUid, |
TInt32 | aKeyOffset, | |||
const TEComResolverParams & | aResolutionParameters, | |||
TUid | aResolverUid | |||
) | [static] |
TUid aInterfaceUid | |
TInt32 aKeyOffset | |
const TEComResolverParams & aResolutionParameters | |
TUid aResolverUid |
IMPORT_C TAny * | CreateImplementationL | ( | TUid | aInterfaceUid, |
TUid & | aInstanceKey, | |||
TAny * | aConstructionParameters, | |||
const TEComResolverParams & | aResolutionParameters, | |||
TUid | aResolverUid | |||
) | [static] |
TUid aInterfaceUid | |
TUid & aInstanceKey | |
TAny * aConstructionParameters | |
const TEComResolverParams & aResolutionParameters | |
TUid aResolverUid |
IMPORT_C TAny * | CreateImplementationL | ( | TUid | aInterfaceUid, |
TInt32 | aKeyOffset, | |||
TAny * | aConstructionParameters, | |||
const TEComResolverParams & | aResolutionParameters, | |||
TUid | aResolverUid | |||
) | [static] |
TUid aInterfaceUid | |
TInt32 aKeyOffset | |
TAny * aConstructionParameters | |
const TEComResolverParams & aResolutionParameters | |
TUid aResolverUid |
IMPORT_C TAny * | CreateImplementationL | ( | TUid | aInterfaceUid, |
const RExtendedInterfacesArray & | aExtendedInterfaces, | |||
TUid & | aInstanceKey, | |||
const TEComResolverParams & | aResolutionParameters, | |||
TAny * | aConstructionParameters = NULL | |||
) | [static] |
TUid aInterfaceUid | |
const RExtendedInterfacesArray & aExtendedInterfaces | |
TUid & aInstanceKey | |
const TEComResolverParams & aResolutionParameters | |
TAny * aConstructionParameters = NULL |
IMPORT_C TAny * | CreateImplementationL | ( | TUid | aInterfaceUid, |
const RExtendedInterfacesArray & | aExtendedInterfaces, | |||
TInt32 | aKeyOffset, | |||
const TEComResolverParams & | aResolutionParameters, | |||
TAny * | aConstructionParameters = NULL | |||
) | [static] |
TUid aInterfaceUid | |
const RExtendedInterfacesArray & aExtendedInterfaces | |
TInt32 aKeyOffset | |
const TEComResolverParams & aResolutionParameters | |
TAny * aConstructionParameters = NULL |
IMPORT_C TAny * | CreateImplementationL | ( | TUid | aInterfaceUid, |
const RExtendedInterfacesArray & | aExtendedInterfaces, | |||
TUid & | aInstanceKey, | |||
const TEComResolverParams & | aResolutionParameters, | |||
TUid | aResolverUid, | |||
TAny * | aConstructionParameters = NULL | |||
) | [static] |
TUid aInterfaceUid | |
const RExtendedInterfacesArray & aExtendedInterfaces | |
TUid & aInstanceKey | |
const TEComResolverParams & aResolutionParameters | |
TUid aResolverUid | |
TAny * aConstructionParameters = NULL |
IMPORT_C TAny * | CreateImplementationL | ( | TUid | aInterfaceUid, |
const RExtendedInterfacesArray & | aExtendedInterfaces, | |||
TInt32 | aKeyOffset, | |||
const TEComResolverParams & | aResolutionParameters, | |||
TUid | aResolverUid, | |||
TAny * | aConstructionParameters = NULL | |||
) | [static] |
TUid aInterfaceUid | |
const RExtendedInterfacesArray & aExtendedInterfaces | |
TInt32 aKeyOffset | |
const TEComResolverParams & aResolutionParameters | |
TUid aResolverUid | |
TAny * aConstructionParameters = NULL |
IMPORT_C void | DestroyedImplementation | ( | TUid | aInstanceKey | ) | [static] |
TUid aInstanceKey |
IMPORT_C TAny * | GetExtendedInterfaceL | ( | const TUid & | aInstanceKey, |
const TUid & | aExtendedInterfaceUid | |||
) | [static] |
IMPORT_C TUid | GetImplementationUidL | ( | TUid | aInstanceKey | ) | [static] |
TUid aInstanceKey |
IMPORT_C void | ListExtendedInterfacesL | ( | const TUid & | aImplementationUid, |
RExtendedInterfacesArray & | aIfInfo | |||
) | [static] |
const TUid & aImplementationUid | |
RExtendedInterfacesArray & aIfInfo |
IMPORT_C void | ListImplementationsL | ( | TUid | aInterfaceUid, |
RImplInfoPtrArray & | aImplInfoArray | |||
) | [static] |
TUid aInterfaceUid | |
RImplInfoPtrArray & aImplInfoArray |
IMPORT_C void | ListImplementationsL | ( | TUid | aInterfaceUid, |
const TEComResolverParams & | aResolutionParameters, | |||
RImplInfoPtrArray & | aImplInfoArray | |||
) | [static] |
TUid aInterfaceUid | |
const TEComResolverParams & aResolutionParameters | |
RImplInfoPtrArray & aImplInfoArray |
IMPORT_C void | ListImplementationsL | ( | TUid | aInterfaceUid, |
const TEComResolverParams & | aResolutionParameters, | |||
TUid | aResolverUid, | |||
RImplInfoPtrArray & | aImplInfoArray | |||
) | [static] |
TUid aInterfaceUid | |
const TEComResolverParams & aResolutionParameters | |
TUid aResolverUid | |
RImplInfoPtrArray & aImplInfoArray |
IMPORT_C void | ListImplementationsL | ( | TUid | aInterfaceUid, |
RImplInfoPtrArray & | aImplInfoArray, | |||
TBool | aCapabilityCheck | |||
) | [static] |
TUid aInterfaceUid | |
RImplInfoPtrArray & aImplInfoArray | |
TBool aCapabilityCheck |
IMPORT_C void | ListImplementationsL | ( | TUid | aInterfaceUid, |
const TEComResolverParams & | aResolutionParameters, | |||
RImplInfoPtrArray & | aImplInfoArray, | |||
TBool | aCapabilityCheck | |||
) | [static] |
TUid aInterfaceUid | |
const TEComResolverParams & aResolutionParameters | |
RImplInfoPtrArray & aImplInfoArray | |
TBool aCapabilityCheck |
IMPORT_C void | ListImplementationsL | ( | TUid | aInterfaceUid, |
const TEComResolverParams & | aResolutionParameters, | |||
TUid | aResolverUid, | |||
RImplInfoPtrArray & | aImplInfoArray, | |||
TBool | aCapabilityCheck | |||
) | [static] |
TUid aInterfaceUid | |
const TEComResolverParams & aResolutionParameters | |
TUid aResolverUid | |
RImplInfoPtrArray & aImplInfoArray | |
TBool aCapabilityCheck |
IMPORT_C void | ListImplementationsL | ( | TUid | aInterfaceUid, |
RExtendedInterfacesArray & | aExtendedInterfaces, | |||
RImplInfoPtrArray & | aImplInfoArray | |||
) | [static] |
TUid aInterfaceUid | |
RExtendedInterfacesArray & aExtendedInterfaces | |
RImplInfoPtrArray & aImplInfoArray |
IMPORT_C void | ListImplementationsL | ( | TUid | aInterfaceUid, |
RExtendedInterfacesArray & | aExtendedInterfaces, | |||
const TEComResolverParams & | aResolutionParameters, | |||
RImplInfoPtrArray & | aImplInfoArray | |||
) | [static] |
TUid aInterfaceUid | |
RExtendedInterfacesArray & aExtendedInterfaces | |
const TEComResolverParams & aResolutionParameters | |
RImplInfoPtrArray & aImplInfoArray |
IMPORT_C void | ListImplementationsL | ( | TUid | aInterfaceUid, |
RExtendedInterfacesArray & | aExtendedInterfaces, | |||
const TEComResolverParams & | aResolutionParameters, | |||
TUid | aResolverUid, | |||
RImplInfoPtrArray & | aImplInfoArray | |||
) | [static] |
TUid aInterfaceUid | |
RExtendedInterfacesArray & aExtendedInterfaces | |
const TEComResolverParams & aResolutionParameters | |
TUid aResolverUid | |
RImplInfoPtrArray & aImplInfoArray |
void | ListImplementationsL | ( | TInt | aServiceId, |
TUid | aInterfaceUid, | |||
const RExtendedInterfacesArray & | aExtendedInterfaces, | |||
const TEComResolverParams & | aResolutionParameters, | |||
TUid | aResolverUid, | |||
RImplInfoPtrArray & | aImplInfoArray, | |||
TBool | aCapabilityCheck = ETrue | |||
) | [private] |
TInt aServiceId | |
TUid aInterfaceUid | |
const RExtendedInterfacesArray & aExtendedInterfaces | |
const TEComResolverParams & aResolutionParameters | |
TUid aResolverUid | |
RImplInfoPtrArray & aImplInfoArray | |
TBool aCapabilityCheck = ETrue |
IMPORT_C void | ManuallyReleaseExtendedInterfaceL | ( | const TUid & | aInstanceKey, |
const TUid & | aExtendedInterfaceUid | |||
) | [static] |
IMPORT_C void | NotifyOnChange | ( | TRequestStatus & | aStatus | ) |
TRequestStatus & aStatus |
void | PackMatchStrAndExtendedInterfacesL | ( | const TEComResolverParams & | aResolutionParameters, |
const RExtendedInterfacesArray & | aExtendedInterfaces, | |||
RBuf8 & | aMatchStrExtInfBuf | |||
) | [private] |
const TEComResolverParams & aResolutionParameters | |
const RExtendedInterfacesArray & aExtendedInterfaces | |
RBuf8 & aMatchStrExtInfBuf |
void | ProcessListExtendedInterfacesL | ( | const TUid & | aImplementationUid, |
RExtendedInterfacesArray & | aIfInfo | |||
) | [private] |
const TUid & aImplementationUid | |
RExtendedInterfacesArray & aIfInfo |
TAny * | ResolveAndCreateImplL | ( | TUid | aImplementationUid, |
TUid & | aInstanceKey, | |||
TAny * | aCreationParameters, | |||
TBool | aCreationParamsFlag | |||
) | [private] |
TAny * | ResolveAndCreateImplL | ( | TUid | aInterfaceUid, |
const TEComResolverParams & | aResolutionParameters, | |||
TUid & | aInstanceKey, | |||
TAny * | aCreationParameters, | |||
TBool | aCreationParamsFlag | |||
) | [private] |
TUid aInterfaceUid | |
const TEComResolverParams & aResolutionParameters | |
TUid & aInstanceKey | |
TAny * aCreationParameters | |
TBool aCreationParamsFlag |
TAny * | ResolveAndCreateImplL | ( | TUid | aInterfaceUid, |
const TEComResolverParams & | aResolutionParameters, | |||
TUid | aResolverUid, | |||
TUid & | aInstanceKey, | |||
TAny * | aCreationParameters, | |||
TBool | aCreationParamsFlag | |||
) | [private] |
TAny * | ResolveAndCreateImplL | ( | TUid | aInterfaceUid, |
const RExtendedInterfacesArray & | aExtendedInterfaces, | |||
const TEComResolverParams & | aResolutionParameters, | |||
TUid & | aInstanceKey, | |||
TAny * | aCreationParameters, | |||
TBool | aCreationParamsFlag | |||
) | [private] |
TUid aInterfaceUid | |
const RExtendedInterfacesArray & aExtendedInterfaces | |
const TEComResolverParams & aResolutionParameters | |
TUid & aInstanceKey | |
TAny * aCreationParameters | |
TBool aCreationParamsFlag |
TAny * | ResolveAndCreateImplL | ( | TUid | aInterfaceUid, |
const RExtendedInterfacesArray & | aExtendedInterfaces, | |||
const TEComResolverParams & | aResolutionParameters, | |||
TUid | aResolverUid, | |||
TUid & | aInstanceKey, | |||
TAny * | aCreationParameters, | |||
TBool | aCreationParamsFlag | |||
) | [private] |
TUid aInterfaceUid | |
const RExtendedInterfacesArray & aExtendedInterfaces | |
const TEComResolverParams & aResolutionParameters | |
TUid aResolverUid | |
TUid & aInstanceKey | |
TAny * aCreationParameters | |
TBool aCreationParamsFlag |
TAny * | ResolveAndCreateImplL | ( | TInt | aServiceId, |
TUid | aInterfaceUid, | |||
const RExtendedInterfacesArray & | aExtendedInterfaces, | |||
const TEComResolverParams & | aResolutionParameters, | |||
TUid | aResolverUid, | |||
TUid & | aInstanceKey, | |||
TAny * | aCreationParameters, | |||
TBool | aCreationParamsFlag | |||
) | [private] |
TInt aServiceId | |
TUid aInterfaceUid | |
const RExtendedInterfacesArray & aExtendedInterfaces | |
const TEComResolverParams & aResolutionParameters | |
TUid aResolverUid | |
TUid & aInstanceKey | |
TAny * aCreationParameters | |
TBool aCreationParamsFlag |
IMPORT_C void | SetGetParametersL | ( | const TIpcArgs & | aArgs | ) | [static] |
const TIpcArgs & aArgs |