// --------------------------------------------------------------------------- // // --------------------------------------------------------------------------- // TBool WlanOsa::Initialize( TBool aUseCachedMemory, TInt aAllocationUnit, void* aDfcQueue ) { TraceDump(INFO_LEVEL, ("[WLAN] WlanOsa::Initialize()")); TBool status( ETrue ); iDfcQueue = aDfcQueue; if ( iPimpl ) { status = Pimpl().Initialize( aUseCachedMemory, aAllocationUnit ); } else { status = EFalse; } TraceDump(INFO_LEVEL, (("[WLAN] WlanOsa::Initialize(): status (bool): %d"), status)); return status; }
// --------------------------------------------------------------------------- // From class MWlanOsa. // // --------------------------------------------------------------------------- // void WlanOsa::Free( void* aPtr ) { #ifdef __WLAN_ENABLE_DMA Pimpl().iMemoryPool->Free( aPtr ); #else GpFree( aPtr ); #endif // __WLAN_ENABLE_DMA }
// --------------------------------------------------------------------------- // From class MWlanOsaExt. // --------------------------------------------------------------------------- // void WlanOsa::MutexRelease() { TraceDump(MUTEX_LEVEL, ("[WLAN] WlanOsa::MutexRelease() +")); TraceDump(MUTEX_LEVEL, (("[WLAN] current thread id: %d"), (Kern::CurrentThread()).iId)); // release mutex Kern::MutexSignal( *(Pimpl().iMutex) ); TraceDump(MUTEX_LEVEL, ("[WLAN] WlanOsa::MutexRelease() -")); TraceDump(MUTEX_LEVEL, (("[WLAN] current thread id: %d"), (Kern::CurrentThread()).iId)); }
// --------------------------------------------------------------------------- // From class MWlanOsaExt. // --------------------------------------------------------------------------- // void WlanOsa::MutexAcquire() { TraceDump(MUTEX_LEVEL, ("[WLAN] WlanOsa::MutexAcquire() +")); TraceDump(MUTEX_LEVEL, (("[WLAN] current thread id: %d"), (Kern::CurrentThread()).iId)); // acquire mutex Kern::MutexWait( *(Pimpl().iMutex) ); TraceDump(MUTEX_LEVEL, ("[WLAN] WlanOsa::MutexAcquire() -")); TraceDump(MUTEX_LEVEL, (("[WLAN] current thread id: %d"), (Kern::CurrentThread()).iId)); }
// --------------------------------------------------------------------------- // From class MWlanOsa. // // --------------------------------------------------------------------------- // void* WlanOsa::Alloc( TOsaMemoryType aOsaMemoryType, TInt aSize, TUint aFlags ) { #ifdef __WLAN_ENABLE_DMA return Pimpl().iMemoryPool->Alloc( aOsaMemoryType, aSize, (aFlags & KAllocZeroStampMask) ); #else return GpAlloc( aSize, (aFlags & KAllocZeroStampMask) ); #endif // __WLAN_ENABLE_DMA }
// --------------------------------------------------------------------------- // // --------------------------------------------------------------------------- // WlanOsa::~WlanOsa() { TraceDump(INFO_LEVEL, ("[WLAN] WlanOsa dtor")); iDfcQueue = NULL; if ( IsValid() ) { // we are valid -> proceed // close the mutex TraceDump(MUTEX_LEVEL, ("[WLAN] WlanOsa close mutex")); if ( Pimpl().iMutex ) { Pimpl().iMutex->Close( NULL ); } if ( iPimpl ) { delete iPimpl; iPimpl = NULL; } } }
// --------------------------------------------------------------------------- // // --------------------------------------------------------------------------- // WlanOsa::WlanOsa() : iPimpl( NULL ), iDfcQueue( NULL ) { TraceDump(INFO_LEVEL, ("[WLAN] WlanOsa ctor")); iPimpl = new WlanOsaImpl(); if ( iPimpl ) { if ( iPimpl->IsValid() ) { // allocation success & object valid -> proceed Validate(); const TUint mutex_order( KMutexOrdGeneral7 ); TraceDump(MUTEX_LEVEL, (("[WLAN] WlanOsa mutex create: order: %d"), mutex_order)); const TInt ret( Kern::MutexCreate( Pimpl().iMutex, KNullDesC, mutex_order) ); if ( ret != KErrNone ) { delete iPimpl; // and invalidate InValidate(); } } else { // osa impl is invalid. Deallocate it delete iPimpl; // we are invalid, too InValidate(); } } else { // allocation failed invalidate object InValidate(); } }
wstring const &BaseTypeGenerator<ApiHolder>::GetFullName() const { return Pimpl()->GetFullName(); }
void BaseTypeGenerator<ApiHolder>::Initialize(assembly_generator_label_type *pAsmGen) { Pimpl()->Initialize(pAsmGen); }
void BaseTypeGenerator<ApiHolder>::Accept(IMetadataVisitor *pVisitor) const { Pimpl()->Accept(pVisitor); }
void BaseTypeGenerator<ApiHolder>::SetMember(TypeProvider const &member) { Pimpl()->SetMember(member); }
void BaseTypeGenerator<ApiHolder>::SetGenericParameterAttributes(GenericParamAttributes const &gpAttr) { Pimpl()->SetGenericParameterAttributes(gpAttr); }
void BaseTypeGenerator<ApiHolder>::SetDimensions(vector<ArrayDimension> const &arrDims) { Pimpl()->SetDimensions(arrDims); }
typename BaseTypeGenerator<ApiHolder>::method_generator_label_type *BaseTypeGenerator<ApiHolder>::DefineConstructor(MethodAttributes const &attr, CallingConventions const &callingConvention, vector<IType const *> const ¶mTypes) { return Pimpl()->DefineConstructor(attr, callingConvention, paramTypes); }
typename BaseTypeGenerator<ApiHolder>::method_generator_label_type *BaseTypeGenerator<ApiHolder>::DefineMethod(wstring const &name, MethodAttributes const &attr, CallingConventions const &callingConvention, IType const *pRetType, vector<IType const *> const ¶mTypes) { return Pimpl()->DefineMethod(name, attr, callingConvention, pRetType, paramTypes); }
void BaseTypeGenerator<ApiHolder>::SetBaseType(IType const *pBaseType) { Pimpl()->SetBaseType(pBaseType); }
void BaseTypeGenerator<ApiHolder>::SetKind(TypeKinds const &kind) { Pimpl()->SetKind(kind); }
typename BaseTypeGenerator<ApiHolder>::method_generator_label_type *BaseTypeGenerator<ApiHolder>::DefineDefaultConstructor(MethodAttributes const &attr) { return Pimpl()->DefineDefaultConstructor(attr); }
void BaseTypeGenerator<ApiHolder>::SetGenericArguments(vector<IType const *> const &genericArgs) { Pimpl()->SetGenericArguments(genericArgs); }
typename BaseTypeGenerator<ApiHolder>::property_generator_label_type *BaseTypeGenerator<ApiHolder>::DefineProperty(wstring const &name, PropertyAttributes const &attr, IType const *pPropType, vector<IType const *> const ¶mTypes) { return Pimpl()->DefineProperty(name, attr, pPropType, paramTypes); }
void BaseTypeGenerator<ApiHolder>::SetGenericParameterPosition(ULONG genericParamPos) { Pimpl()->SetGenericParameterPosition(genericParamPos); }
void BaseTypeGenerator<ApiHolder>::DefineGenericParameters(vector<wstring> const &names) { Pimpl()->DefineGenericParameters(names); }
void BaseTypeGenerator<ApiHolder>::SetSourceType(IType const *pSrcType) { Pimpl()->SetSourceType(pSrcType); }
void BaseTypeGenerator<ApiHolder>::DefineGenericParameters(vector<wstring> const &names, vector<type_generator_label_type *> &genericArgGens) { Pimpl()->DefineGenericParameters(names, genericArgGens); }
BaseTypeGenerator<ApiHolder>::~BaseTypeGenerator() { Pimpl()->~type_generator_pimpl_label_type(); }
IType const *BaseTypeGenerator<ApiHolder>::CreateType() const { return Pimpl()->CreateType(); }
mdToken BaseTypeGenerator<ApiHolder>::GetToken() const { return Pimpl()->GetToken(); }
void BaseTypeGenerator<ApiHolder>::SetFullName(wstring const &fullName) { Pimpl()->SetFullName(fullName); }
bool BaseTypeGenerator<ApiHolder>::IsPublic() const { return Pimpl()->IsPublic(); }
void BaseTypeGenerator<ApiHolder>::SetAttributes(TypeAttributes const &attr) { Pimpl()->SetAttributes(attr); }