usbmgmt/usbmgr/device/classdrivers/acm/classimplementation/acmserver/src/acmserver.cpp
branchRCL_3
changeset 16 012cc2ee6408
parent 15 f92a4f87e424
equal deleted inserted replaced
15:f92a4f87e424 16:012cc2ee6408
     1 /*
     1 /*
     2 * Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
    20 */
    20 */
    21 
    21 
    22 #include <e32base.h>
    22 #include <e32base.h>
    23 #include <usb/acmserver.h>
    23 #include <usb/acmserver.h>
    24 #include "acmserverimpl.h"
    24 #include "acmserverimpl.h"
       
    25 #include <usb/usblogger.h>
    25 #include "acmserverconsts.h"
    26 #include "acmserverconsts.h"
    26 #include "OstTraceDefinitions.h"
    27 
    27 #ifdef OST_TRACE_COMPILER_IN_USE
    28 #ifdef __FLOG_ACTIVE
    28 #include "acmserverTraces.h"
    29 _LIT8(KLogComponent, "ACMSVRCLI");
    29 #endif
    30 #endif
    30 
    31 
       
    32 /** Panic category for users of RAcmServer. */
    31 #ifdef _DEBUG
    33 #ifdef _DEBUG
    32 /** Panic category for users of RAcmServer. */
       
    33 _LIT(KAcmSrvPanicCat, "ACMSVR");
    34 _LIT(KAcmSrvPanicCat, "ACMSVR");
    34 #endif
    35 #endif
    35 
       
    36 
    36 
    37 /** Panic codes for users of RAcmServer. */
    37 /** Panic codes for users of RAcmServer. */
    38 enum TAcmServerClientPanic
    38 enum TAcmServerClientPanic
    39 	{
    39 	{
    40 	/** The handle has not been connected. */
    40 	/** The handle has not been connected. */
    56 	};
    56 	};
    57 
    57 
    58 EXPORT_C RAcmServer::RAcmServer() 
    58 EXPORT_C RAcmServer::RAcmServer() 
    59  :	iImpl(NULL)
    59  :	iImpl(NULL)
    60 	{
    60 	{
    61 	OstTraceFunctionEntry0( RACMSERVER_RACMSERVER_CONS_ENTRY );
    61 	LOG_FUNC
    62 	
       
    63 	OstTraceFunctionExit0( RACMSERVER_RACMSERVER_CONS_EXIT );
       
    64 	}
    62 	}
    65 	   
    63 	   
    66 EXPORT_C RAcmServer::~RAcmServer()
    64 EXPORT_C RAcmServer::~RAcmServer()
    67 	{
    65 	{
    68 	OstTraceFunctionEntry0( RACMSERVER_RACMSERVER_ENTRY_DES );
    66 	LOG_FUNC
    69 	if (iImpl)
    67 
    70 		{
    68 	__ASSERT_DEBUG(!iImpl, _USB_PANIC(KAcmSrvPanicCat, EPanicNotClosed));
    71 		OstTraceExt1( TRACE_FATAL, RACMSERVER_RACMSERVER_DESTRUCTURE, "RAcmServer::~RAcmServer;iImpl=%p", iImpl );
       
    72 		__ASSERT_DEBUG( EFalse, User::Panic(KAcmSrvPanicCat, EPanicNotClosed) );
       
    73 		}
       
    74 	OstTraceFunctionExit0( RACMSERVER_RACMSERVER_EXIT_DES );
       
    75 	}
    69 	}
    76 
    70 
    77 EXPORT_C TInt RAcmServer::Connect()
    71 EXPORT_C TInt RAcmServer::Connect()
    78 	{
    72 	{
    79 	OstTraceFunctionEntry0( RACMSERVER_CONNECT_ENTRY );
    73 	LOG_FUNC
    80 	if (iImpl)
    74 
    81 		{
    75 	__ASSERT_DEBUG(!iImpl, _USB_PANIC(KAcmSrvPanicCat, EPanicAlreadyConnected));
    82 		OstTraceExt1( TRACE_FATAL, RACMSERVER_CONNECT, "RAcmServer::Connect;iImpl=%p", iImpl );	
       
    83 		__ASSERT_DEBUG( EFalse, User::Panic(KAcmSrvPanicCat, EPanicAlreadyConnected) );
       
    84 		}
       
    85 	TRAPD(err, iImpl = CAcmServerImpl::NewL());
    76 	TRAPD(err, iImpl = CAcmServerImpl::NewL());
    86 	OstTraceFunctionExit0( RACMSERVER_CONNECT_EXIT );
       
    87 	return err;
    77 	return err;
    88 	}
    78 	}
    89 
    79 
    90 EXPORT_C void RAcmServer::Close()
    80 EXPORT_C void RAcmServer::Close()
    91 	{
    81 	{
    92 	OstTraceFunctionEntry0( RACMSERVER_CLOSE_ENTRY );
    82 	LOG_FUNC
    93 	
    83 
    94 	delete iImpl;
    84 	delete iImpl;
    95 	iImpl = NULL;
    85 	iImpl = NULL;
    96 	OstTraceFunctionExit0( RACMSERVER_CLOSE_EXIT );
       
    97 	}
    86 	}
    98 
    87 
    99 EXPORT_C TInt RAcmServer::CreateFunctions(const TUint aNoAcms)
    88 EXPORT_C TInt RAcmServer::CreateFunctions(const TUint aNoAcms)
   100 	{
    89 	{
   101 	OstTraceFunctionEntry0( RACMSERVER_CREATEFUNCTIONS_ENTRY );
    90 	LOG_FUNC
   102 	OstTrace1( TRACE_NORMAL, RACMSERVER_CREATEFUNCTIONS, "RAcmServer::CreateFunctions;aNoAcms=%d", aNoAcms );
    91 	LOGTEXT2(_L8("\taNoAcms = %d"), aNoAcms);
   103 	
       
   104 	if (!iImpl)
       
   105 		{
       
   106 		OstTrace0( TRACE_FATAL, RACMSERVER_CREATEFUNCTIONS_DUP2, "RAcmServer::CreateFunctions;EPanicNotConnected" );
       
   107 		__ASSERT_DEBUG( EFalse, User::Panic(KAcmSrvPanicCat, EPanicNotConnected) );
       
   108 		}
       
   109 
    92 
   110 	if (!aNoAcms)
    93 	__ASSERT_DEBUG(iImpl, _USB_PANIC(KAcmSrvPanicCat, EPanicNotConnected));
   111 		{
    94 	__ASSERT_DEBUG(aNoAcms, _USB_PANIC(KAcmSrvPanicCat, EPanicCantInstantiateZeroAcms));
   112 		OstTrace0( TRACE_FATAL, RACMSERVER_CREATEFUNCTIONS_DUP1, "RAcmServer::CreateFunctions;EPanicCantInstantiateZeroAcms" );
       
   113 		__ASSERT_DEBUG( EFalse, User::Panic(KAcmSrvPanicCat, EPanicCantInstantiateZeroAcms) );
       
   114 		}
       
   115 	return iImpl->CreateFunctions(aNoAcms, KDefaultAcmProtocolNum, KControlIfcName, KDataIfcName);
    95 	return iImpl->CreateFunctions(aNoAcms, KDefaultAcmProtocolNum, KControlIfcName, KDataIfcName);
   116 	}
    96 	}
   117 							
    97 							
   118 EXPORT_C TInt RAcmServer::CreateFunctions(const TUint aNoAcms, const TUint8 aProtocolNum)
    98 EXPORT_C TInt RAcmServer::CreateFunctions(const TUint aNoAcms, const TUint8 aProtocolNum)
   119 	{
    99 	{
   120 	OstTraceFunctionEntry0( RACMSERVER_CREATEFUNCTIONS_TUINT_TUINT8_ENTRY );
   100 	LOG_FUNC
   121 	OstTraceExt2( TRACE_NORMAL, RACMSERVER_CREATEFUNCTIONS_TUINT_TUINT8, "RAcmServer::CreateFunctions;aNoAcms=%d;aProtocolNum=%d", aNoAcms, aProtocolNum );
   101 	LOGTEXT3(_L8("\taNoAcms = %d, aProtocolNum = %d"), aNoAcms, aProtocolNum);
   122 
   102 
   123 	if (!iImpl)
   103 	__ASSERT_DEBUG(iImpl, _USB_PANIC(KAcmSrvPanicCat, EPanicNotConnected));
   124 		{
   104 	__ASSERT_DEBUG(aNoAcms, _USB_PANIC(KAcmSrvPanicCat, EPanicCantInstantiateZeroAcms));
   125 		OstTrace0( TRACE_FATAL, RACMSERVER_CREATEFUNCTIONS_TUINT_TUINT8_DUP1, "RAcmServer::CreateFunctions;EPanicNotConnected" );
       
   126 		__ASSERT_DEBUG( EFalse, User::Panic(KAcmSrvPanicCat, EPanicNotConnected) );
       
   127 		}
       
   128 
       
   129 	if (!aNoAcms)
       
   130 		{
       
   131 		OstTrace0( TRACE_FATAL, RACMSERVER_CREATEFUNCTIONS_TUINT_TUINT8_DUP2, "RAcmServer::CreateFunctions;EPanicCantInstantiateZeroAcms" );
       
   132 		__ASSERT_DEBUG( EFalse, User::Panic(KAcmSrvPanicCat, EPanicCantInstantiateZeroAcms) );
       
   133 		}
       
   134 	return iImpl->CreateFunctions(aNoAcms, aProtocolNum, KControlIfcName, KDataIfcName);
   105 	return iImpl->CreateFunctions(aNoAcms, aProtocolNum, KControlIfcName, KDataIfcName);
   135 	}
   106 	}
   136 
   107 
   137 EXPORT_C TInt RAcmServer::CreateFunctions(const TUint aNoAcms, const TUint8 aProtocolNum, const TDesC& aAcmControlIfcName, const TDesC& aAcmDataIfcName)
   108 EXPORT_C TInt RAcmServer::CreateFunctions(const TUint aNoAcms, const TUint8 aProtocolNum, const TDesC& aAcmControlIfcName, const TDesC& aAcmDataIfcName)
   138 	{
   109 	{
   139 	OstTraceFunctionEntry0( RACMSERVER_CREATEFUNCTIONS_TUINT_TUINT8_TDESCREF_TDESCREF_ENTRY );
   110 	LOG_FUNC
   140 	
       
   141 	if (!iImpl)
       
   142 		{
       
   143 		OstTrace0( TRACE_FATAL, RACMSERVER_CREATEFUNCTIONS_TUINT_TUINT8_TDESCREF_TDESCREF, "RAcmServer::CreateFunctions;EPanicNotConnected" );
       
   144 		__ASSERT_DEBUG( EFalse, User::Panic(KAcmSrvPanicCat, EPanicNotConnected) );
       
   145 		}
       
   146 
   111 
   147 	if (!aNoAcms)
   112 	__ASSERT_DEBUG(iImpl, _USB_PANIC(KAcmSrvPanicCat, EPanicNotConnected));
   148 		{
   113 	__ASSERT_DEBUG(aNoAcms, _USB_PANIC(KAcmSrvPanicCat, EPanicCantInstantiateZeroAcms));
   149 		OstTrace0( TRACE_FATAL, RACMSERVER_CREATEFUNCTIONS_TUINT_TUINT8_TDESCREF_TDESCREF_DUP1, "RAcmServer::CreateFunctions;EPanicCantInstantiateZeroAcms" );
       
   150 		__ASSERT_DEBUG( EFalse, User::Panic(KAcmSrvPanicCat, EPanicCantInstantiateZeroAcms) );
       
   151 		}
       
   152 	return iImpl->CreateFunctions(aNoAcms, aProtocolNum, aAcmControlIfcName, aAcmDataIfcName);
   114 	return iImpl->CreateFunctions(aNoAcms, aProtocolNum, aAcmControlIfcName, aAcmDataIfcName);
   153 	}
   115 	}
   154 
   116 
   155 EXPORT_C TInt RAcmServer::DestroyFunctions(const TUint aNoAcms)
   117 EXPORT_C TInt RAcmServer::DestroyFunctions(const TUint aNoAcms)
   156 	{
   118 	{
   157 	OstTraceFunctionEntry0( RACMSERVER_DESTROYFUNCTIONS_ENTRY );
   119 	LOG_FUNC
   158 	OstTrace1( TRACE_NORMAL, RACMSERVER_DESTROYFUNCTIONS, "RAcmServer::DestroyFunctions;aNoAcms=%d", aNoAcms );
   120 	LOGTEXT2(_L8("\taNoAcms = %d"), aNoAcms);
   159 
   121 
   160 	if (!iImpl)
   122 	__ASSERT_DEBUG(iImpl, _USB_PANIC(KAcmSrvPanicCat, EPanicNotConnected));
   161 		{
   123 	__ASSERT_DEBUG(aNoAcms, _USB_PANIC(KAcmSrvPanicCat, EPanicCantDestroyZeroAcms));
   162 		OstTrace0( TRACE_FATAL, RACMSERVER_DESTROYFUNCTIONS_DUP1, "RAcmServer::CreateFunctions;EPanicNotConnected" );
       
   163 		__ASSERT_DEBUG( EFalse, User::Panic(KAcmSrvPanicCat, EPanicNotConnected) );
       
   164 		}
       
   165 
       
   166 	if (!aNoAcms)
       
   167 		{
       
   168 		OstTrace0( TRACE_FATAL, RACMSERVER_DESTROYFUNCTIONS_DUP2, "RAcmServer::CreateFunctions;EPanicCantDestroyZeroAcms" );
       
   169 		__ASSERT_DEBUG( EFalse, User::Panic(KAcmSrvPanicCat, EPanicCantInstantiateZeroAcms) );
       
   170 		}
       
   171 
       
   172 	return iImpl->DestroyFunctions(aNoAcms);
   124 	return iImpl->DestroyFunctions(aNoAcms);
   173 	}
   125 	}