# HG changeset patch # User hgs # Date 1278907427 -10800 # Node ID 4e80e1b997a853007c880dd364c8cbf13014e239 # Parent 4b81101308c63a6a474512952c8e6466e501cf4d 201025_01 diff -r 4b81101308c6 -r 4e80e1b997a8 atext/client/src/atextcommon.cpp --- a/atext/client/src/atextcommon.cpp Mon May 03 13:34:38 2010 +0300 +++ b/atext/client/src/atextcommon.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -55,7 +55,7 @@ Close(); } TRACE_FUNC_EXIT - return KErrNone; + return retVal; } // --------------------------------------------------------------------------- diff -r 4b81101308c6 -r 4e80e1b997a8 atext/server/group/extsrv.mmp --- a/atext/server/group/extsrv.mmp Mon May 03 13:34:38 2010 +0300 +++ b/atext/server/group/extsrv.mmp Mon Jul 12 07:03:47 2010 +0300 @@ -47,7 +47,7 @@ EPOCSTACKSIZE 0x5000 // Hack for plugins using RCmManager; remove this line when RCmManager becomes client-server EPOCHEAPSIZE 0x1000 0x2000000 // Use same as MCE -CAPABILITY CAP_SERVER NetworkControl CommDD +CAPABILITY CAP_SERVER NetworkControl CommDD PowerMgmt VENDORID VID_DEFAULT SOURCEPATH ../src diff -r 4b81101308c6 -r 4e80e1b997a8 atext/server/inc/atextcommonsession.h --- a/atext/server/inc/atextcommonsession.h Mon May 03 13:34:38 2010 +0300 +++ b/atext/server/inc/atextcommonsession.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -253,7 +253,7 @@ /** * Session to ECOM */ - REComSession iEComSession; + REComSession* iEComSession; /** * Instance of plugin diff -r 4b81101308c6 -r 4e80e1b997a8 atext/server/inc/atextmetadata.h --- a/atext/server/inc/atextmetadata.h Mon May 03 13:34:38 2010 +0300 +++ b/atext/server/inc/atextmetadata.h Mon Jul 12 07:03:47 2010 +0300 @@ -302,6 +302,13 @@ */ CATExtPluginBase* iOldHandler; + /** + * Pointer to editor handler; set when editor mode started, + * NULL when editor mode not active. + * Not own. + */ + TATExtPluginEntry* iEditorHandler; + }; /** @@ -521,6 +528,22 @@ TBool aMultiPart ); /** + * Writes multipart or single part reply buffer to client for handle. + * Used for creating a reply for HandleCommand(). + * + * @since S60 5.0 + * @param aMultiPart ETrue (default behavior) if multipart reply wanted, + * EFalse otherwise. + * For multipart replies the reply may be over + * KDefaultCmdBufLength. + * @param aStartOfEditor ETrue if start of editor mode, + * EFalse otherwise + * @return Symbian error code on error, KErrNone otherwise + */ + TInt WriteHandleCmdReplyBuffer( TBool aMultiPart, + TBool aStartOfEditor ); + + /** * Clears internal initialized command handler data. This is currently used * only by CompleteCommandMessage() and is called when the data is not * needed anymore. It also prepares the internal data for a new diff -r 4b81101308c6 -r 4e80e1b997a8 atext/server/inc/atextsession.h --- a/atext/server/inc/atextsession.h Mon May 03 13:34:38 2010 +0300 +++ b/atext/server/inc/atextsession.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -418,7 +418,7 @@ /** * Session to ECOM */ - REComSession iEComSession; + REComSession* iEComSession; /** * ECOM listener diff -r 4b81101308c6 -r 4e80e1b997a8 atext/server/src/atextcommonsession.cpp --- a/atext/server/src/atextcommonsession.cpp Mon May 03 13:34:38 2010 +0300 +++ b/atext/server/src/atextcommonsession.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -11,7 +11,7 @@ * * Contributors: * -* Description: +* Description: * */ @@ -132,6 +132,7 @@ CATExtCommonSession::CATExtCommonSession( CATExtSrvCommon& aServer, const TVersion& aVersion ) : iServer( aServer ), + iEComSession( NULL ), iVersion( aVersion ) { } @@ -158,13 +159,12 @@ TRACE_FUNC_EXIT User::Leave( retTemp ); } - REComSession& ecomSession = REComSession::OpenL(); - CleanupClosePushL( ecomSession ); + iEComSession = &REComSession::OpenL(); RImplInfoPtrArray implementations; CleanupResetDestroyClosePushL( implementations ); TUid ifUid = TUid::Uid( ATEXT_INTERFACE_COM_UID ); - iEComSession.ListImplementationsL( ifUid, - implementations ); + iEComSession->ListImplementationsL( ifUid, + implementations ); if ( implementations.Count() != 1 ) { TRACE_FUNC_EXIT @@ -173,9 +173,7 @@ TUid pluginUid = implementations[0]->ImplementationUid(); iCommonBase = CATExtCommonBase::NewL( pluginUid, *this, connectionName ); CleanupStack::PopAndDestroy( &implementations ); - CleanupStack::Pop( &ecomSession ); CleanupStack::PopAndDestroy( &connectionName ); - iEComSession = ecomSession; TRACE_FUNC_EXIT } @@ -488,7 +486,10 @@ } delete iCommonBase; iCommonBase = NULL; - iEComSession.Close(); + if ( iEComSession ) + { + iEComSession->Close(); + } if ( !aSyncClose ) { REComSession::FinalClose(); diff -r 4b81101308c6 -r 4e80e1b997a8 atext/server/src/atextmetadata.cpp --- a/atext/server/src/atextmetadata.cpp Mon May 03 13:34:38 2010 +0300 +++ b/atext/server/src/atextmetadata.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -211,6 +211,22 @@ TRACE_FUNC_EXIT return retTemp; } + // First check if in editor mode + if ( iCmdData.iEditorHandler ) + { + iCmdData.iReplyExpected = EFalse; + iCmdData.iHandler = iCmdData.iEditorHandler; + iCmdData.iHandler->iInstance->HandleCommand( iCmdData.iCmdBuffer, + iCmdData.iCmdReplyBuffer, + EFalse ); + aComplInfo.iProcessed = ETrue; + aComplInfo.iReplyExpected = ETrue; + // Note: The aComplInfo.iReplyExpected is used only for normal mode and + // is set to ETrue here to skip a check in CATExtSession::IpcHandleCommand(). + TRACE_FUNC_EXIT + return KErrNone; + } + // Not in editor so handle in normal mode TRACE_INFO(( _L8("Received command '%S'"), &iCmdData.iCmdBuffer )); // Now the command exists. Load the plugins for a command and check support. TRAPD( retTrap, CreateAndFindSupportL(iCmdData.iCmdBuffer, @@ -327,20 +343,42 @@ TRACE_FUNC_EXIT return KErrInUse; } + if ( !iCmdData.iCmdMessage.Handle() ) + { + TRACE_FUNC_EXIT + return KErrBadHandle; + } + TBool startOfEditor = EFalse; + if ( aReplyType == EReplyTypeEditor) + { + // If completion is for editor command then set iCmdData.iEditorHandler + // for the first time only + if ( !iCmdData.iEditorHandler ) + { + iCmdData.iEditorHandler = FindInstanceFromPlugindata( aPlugin ); + iCmdData.iReplyExpected = ETrue; // reply expected when first reply in editor mode + startOfEditor = ETrue; + } + } + else + { + // If completion was something else than EReplyTypeEditor then just end + // editor mode (no need to check iEditorHandler) + if ( iCmdData.iEditorHandler ) + { + iCmdData.iReplyExpected = ETrue; // reply expected when last reply in editor mode + } + iCmdData.iEditorHandler = NULL; + } // Next check if aPlugin is set (the call comes from a plugin and not from // ATEXT) and a reply is not needed. In this case do nothing as it is wrong // behavior from the plugin (a plugin must not complete messages where no // reply is expected; this is done by ATEXT) - if ( aPlugin && !iCmdData.iReplyExpected ) + if ( aPlugin && !iCmdData.iReplyExpected && !iCmdData.iEditorHandler ) { TRACE_FUNC_EXIT return KErrAlreadyExists; } - if ( !iCmdData.iCmdMessage.Handle() ) - { - TRACE_FUNC_EXIT - return KErrBadHandle; - } // Finally write the data and complete the message TPckg replyType( aReplyType ); TInt writeError = iCmdData.iCmdMessage.Write( EATExtHandleCmdParamReplyType, @@ -356,20 +394,7 @@ { CreateEmptyOrErrorBuffer( iCmdData.iCmdReplyBuffer, aErrorReply ); } - if ( aMultiPart ) - { - WriteReplyBufferToClient( iCmdData.iCmdReplyBuffer, - EATExtHandleCmdParamReply, - iCmdData.iCmdMessage, - ETrue, - EATExtHandleCmdParamLength ); - } - else - { - WriteReplyBufferToClient( iCmdData.iCmdReplyBuffer, - EATExtHandleCmdParamReply, - iCmdData.iCmdMessage ); - } + WriteHandleCmdReplyBuffer( aMultiPart, startOfEditor ); } iCmdData.iCmdStarted = EFalse; iCmdData.iReplyExpected = EFalse; @@ -380,6 +405,38 @@ } // --------------------------------------------------------------------------- +// Writes multipart or single part reply buffer to client for handle. +// Used for creating a reply for HandleCommand(). +// --------------------------------------------------------------------------- +// +TInt CATExtMetadata::WriteHandleCmdReplyBuffer( TBool aMultiPart, + TBool aStartOfEditor ) + { + TRACE_FUNC_ENTRY + if ( iCmdData.iEditorHandler && !aStartOfEditor ) + { + TRACE_FUNC_EXIT + return KErrNotReady; + } + if ( aMultiPart ) + { + WriteReplyBufferToClient( iCmdData.iCmdReplyBuffer, + EATExtHandleCmdParamReply, + iCmdData.iCmdMessage, + ETrue, + EATExtHandleCmdParamLength ); + } + else + { + WriteReplyBufferToClient( iCmdData.iCmdReplyBuffer, + EATExtHandleCmdParamReply, + iCmdData.iCmdMessage ); + } + TRACE_FUNC_EXIT + return KErrNone; + } + +// --------------------------------------------------------------------------- // Clears internal initialized command handler data. This is currently used // only by CompleteCommandMessage() and is called when the data is not needed // anymore. It also prepares the internal data for a new HandleCommand() call. @@ -964,6 +1021,7 @@ iCmdData.iReplyExpected = EFalse; iCmdData.iHandler = NULL; iCmdData.iOldHandler = NULL; + iCmdData.iEditorHandler = NULL; iCarriageReturn = KDefaultCarriageReturn; iLineFeed = KDefaultLineFeed; iQuietMode = EFalse; @@ -1185,7 +1243,7 @@ TRACE_FUNC_ENTRY if ( iCmdData.iCmdStarted || (iCmdData.iCmdMessage.Handle() && iCmdData.iCmdBuffer.Length()>0) || - iCmdData.iCmdReplyBuffer.Length()>0 ) + iCmdData.iCmdReplyBuffer.Length()>0 ) { TRACE_FUNC_EXIT return ETrue; @@ -1227,6 +1285,7 @@ iPluginData = NULL; iCmdData.iHandler = NULL; iCmdData.iOldHandler = NULL; + iCmdData.iEditorHandler = NULL; TRACE_FUNC_EXIT return KErrNone; } @@ -1248,6 +1307,7 @@ if ( iCmdData.iHandler && iCmdData.iHandler->iInstance ) { iCmdData.iHandler->iInstance->HandleCommandCancel(); + iCmdData.iEditorHandler = NULL; } CompleteCommandMessage( NULL, aError, @@ -2336,6 +2396,7 @@ iCmdData.iCmdStarted = ETrue; iCmdData.iCmdMessage = aEntrySupport.iMessage; iCmdData.iHandler = aEntrySupport.iEntry; + iCmdData.iEditorHandler = NULL; } // No "else" here as HandleCommandL() is used also with observer plugins if ( !aAtCmdFull ) @@ -2372,6 +2433,12 @@ TRACE_FUNC_EXIT User::Leave( KErrGeneral ); } + if ( !aEntrySupport.iSupportFound ) + { + // No initial support found -> do nothing + TRACE_FUNC_EXIT + return; + } TInt i; TInt count = aEntrySupport.iSupport->Count(); for ( i=aEntrySupport.iStartIndex; i ifUidPckgBuf; TInt retTemp = ReadStructFromMessage( ifUidPckgBuf, EATExtConnectParamUid, @@ -239,10 +239,10 @@ User::Leave( retTemp ); } // Create listener - CATExtListen* listener = CATExtListen::NewLC( ecomSession, this ); + CATExtListen* listener = CATExtListen::NewLC( *iEComSession, this ); listener->AddInterfaceUid( ifUidPckgBuf() ); // Create metadata. Pass iListener to add the UIDs - CATExtMetadata* metadata = CATExtMetadata::NewLC( ecomSession, + CATExtMetadata* metadata = CATExtMetadata::NewLC( *iEComSession, listener, *this ); metadata->CreateImplementationMetadataL( ifUidPckgBuf(), connectionName ); @@ -250,8 +250,6 @@ CleanupStack::Pop( metadata ); CleanupStack::Pop( listener ); CleanupStack::PopAndDestroy( &connectionName ); - CleanupStack::Pop( &ecomSession ); - iEComSession = ecomSession; iListener = listener; iMetadata = metadata; TRACE_FUNC_EXIT @@ -322,6 +320,7 @@ } // Third, check a case where there is support but reply is not // expected. In this case "" must be returned to complete processing. + // Note: The EFalse setting is used only for normal mode. if ( !complInfo.iReplyExpected ) { // Return "" @@ -334,8 +333,8 @@ TRACE_FUNC_EXIT return retTemp; } - // The rest are for known command with reply. This case is handled in - // HandleCommand(). + // The rest are for known command with reply or data in editor mode. + // This case is handled in HandleCommand(). TRACE_INFO(( _L8("Command handled: wait for asynchronous reply or do nothing") )); TRACE_FUNC_EXIT return KErrNone; @@ -896,7 +895,10 @@ iListener = NULL; delete iMetadata; iMetadata = NULL; - iEComSession.Close(); + if ( iEComSession ) + { + iEComSession->Close(); + } if ( !aSyncClose ) { REComSession::FinalClose(); diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/TestConsole/Bld.inf --- a/bluetooth/btexample/test/TestConsole/Bld.inf Mon May 03 13:34:38 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -// Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// Component description file -// -// - -PRJ_TESTMMPFILES - -BTTestConsole.mmp diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/TestConsole/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bluetooth/btexample/test/TestConsole/bld.inf Mon Jul 12 07:03:47 2010 +0300 @@ -0,0 +1,20 @@ +// Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// Component description file +// +// + +PRJ_TESTMMPFILES + +BTTestConsole.mmp diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_CIT_P581_BtExcluded.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_CIT_P581_BtExcluded.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_CIT_P581_BtExcluded.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -14,7 +14,7 @@ // // Run all the BT_ROMCONFIG_* tests -// Expects a ROM to be built without BT i.e. SYMBIAN_EXCLUDE_BLUETOOTH has been specified +// Expects a ROM to be built without BT i.e. __BT has NOT been specified RUN_SCRIPT c:\scripts\btromconfig\BT_ROMCONFIG_MANAGER_001.script diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_CIT_P581_BtIncluded.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_CIT_P581_BtIncluded.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_CIT_P581_BtIncluded.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -14,7 +14,7 @@ // // Run all the BT_INC_ROMCONFIG_* tests -// Expects a ROM to be built with BT i.e. SYMBIAN_EXCLUDE_BLUETOOTH has NOT been specified +// Expects a ROM to be built with BT i.e. __BT has been specified RUN_SCRIPT c:\scripts\btromconfig\BT_INC_ROMCONFIG_MANAGER_001.script diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_INC_ROMCONFIG_RSOCKETSERV_002.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_INC_ROMCONFIG_RSOCKETSERV_002.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_INC_ROMCONFIG_RSOCKETSERV_002.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,7 @@ START_TESTCASE BT-INC-ROMCONFIG-RSocketServ-002 //! @SYMTestCaseID BT-INC-ROMCONFIG-RSocketServ-002 //! @SYMTestCaseDesc RSocketServ::StartProtocol should succeed for Bluetooth protocols -//! on a SYMBIAN_EXCLUDE_BLUETOOTH ROM +//! on a __BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 3 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_MANAGER_001.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_MANAGER_001.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_MANAGER_001.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,7 @@ START_TESTCASE BT-ROMCONFIG-MANAGER-001 //! @SYMTestCaseID BT-ROMCONFIG-MANAGER-001 //! @SYMTestCaseDesc Cannot conenct to RBTMan -//! on a SYMBIAN_EXCLUDE_BLUETOOTH ROM +//! on a !__BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 1 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_MANAGER_002.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_MANAGER_002.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_MANAGER_002.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,7 @@ START_TESTCASE BT-ROMCONFIG-MANAGER-002 //! @SYMTestCaseID BT-ROMCONFIG-MANAGER-002 //! @SYMTestCaseDesc Cannot connect to RBTRegServ -//! on a SYMBIAN_EXCLUDE_BLUETOOTH ROM +//! on a !__BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 1 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_PAN_001.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_PAN_001.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_PAN_001.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -24,7 +24,7 @@ START_TESTCASE BT-ROMCONFIG-PAN-001 //! @SYMTestCaseID BT-ROMCONFIG-PAN-001 //! @SYMTestCaseDesc Cannot start a BT PAN RConnection -//! on a SYMBIAN_EXCLUDE_BLUETOOTH ROM +//! on a !__BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 1 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RBTPHYLNKADAPT_001.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RBTPHYLNKADAPT_001.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RBTPHYLNKADAPT_001.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,7 @@ START_TESTCASE BT-ROMCONFIG-RBTPHYLNKADAPT-001 //! @SYMTestCaseID BT-ROMCONFIG-RBTPHYLNKADAPT-001 //! @SYMTestCaseDesc Cannot open RBTPhysicalLinkAdapter -//! on a SYMBIAN_EXCLUDE_BLUETOOTH ROM +//! on a !__BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 1 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RCOMMSERV_001.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RCOMMSERV_001.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RCOMMSERV_001.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,7 @@ START_TESTCASE BT-ROMCONFIG-RCommServ-001 //! @SYMTestCaseID BT-ROMCONFIG-RCommServ-001 //! @SYMTestCaseDesc RCommServ::LoadCommModule should fail for Bluetooth -//! on a SYMBIAN_EXCLUDE_INFRARED ROM +//! on a !__BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 1 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_REMCON_001.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_REMCON_001.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_REMCON_001.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,7 @@ START_TESTCASE BT-ROMCONFIG-REMCON-001 //! @SYMTestCaseID BT-ROMCONFIG-REMCON-001 //! @SYMTestCaseDesc Cannot open CRemConInterfaceSelector as Controller -//! on a SYMBIAN_EXCLUDE_BLUETOOTH ROM +//! on a !__BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 1 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_REMCON_002.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_REMCON_002.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_REMCON_002.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,7 @@ START_TESTCASE BT-ROMCONFIG-REMCON-002 //! @SYMTestCaseID BT-ROMCONFIG-REMCON-002 //! @SYMTestCaseDesc Cannot open CRemConInterfaceSelector as Target -//! on a SYMBIAN_EXCLUDE_BLUETOOTH ROM +//! on a !__BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 1 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RHOSTRESOLVER_001.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RHOSTRESOLVER_001.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RHOSTRESOLVER_001.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,7 @@ START_TESTCASE BT-ROMCONFIG-RHostResolver-001 //! @SYMTestCaseID BT-ROMCONFIG-RHostResolver-001 //! @SYMTestCaseDesc RHostResolver::Open should fail for Bluetooth protocols -//! on a SYMBIAN_EXCLUDE_BLUETOOTH ROM +//! on a !__BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 1 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RSOCKETSERV_001.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RSOCKETSERV_001.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RSOCKETSERV_001.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,7 @@ START_TESTCASE BT-ROMCONFIG-RSocketServ-001 //! @SYMTestCaseID BT-ROMCONFIG-RSocketServ-001 //! @SYMTestCaseDesc RSocketServ::FindProtocol should fail for Bluetooth protocols -//! on a SYMBIAN_EXCLUDE_BLUETOOTH ROM +//! on a !__BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 1 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RSOCKETSERV_002.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RSOCKETSERV_002.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RSOCKETSERV_002.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,7 @@ START_TESTCASE BT-ROMCONFIG-RSocketServ-002 //! @SYMTestCaseID BT-ROMCONFIG-RSocketServ-002 //! @SYMTestCaseDesc RSocketServ::StartProtocol should fail for Bluetooth protocols -//! on a SYMBIAN_EXCLUDE_BLUETOOTH ROM +//! on a !__BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 1 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RSOCKETSERV_003.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RSOCKETSERV_003.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RSOCKETSERV_003.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,7 @@ START_TESTCASE BT-ROMCONFIG-RSocketServ-003 //! @SYMTestCaseID BT-ROMCONFIG-RSocketServ-003 //! @SYMTestCaseDesc RSocketServ::GetProtocolInfo should not find Bluetooth protocols -//! on a SYMBIAN_EXCLUDE_BLUETOOTH ROM +//! on a !__BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 1 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RSOCKET_001.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RSOCKET_001.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_RSOCKET_001.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,7 @@ START_TESTCASE BT-ROMCONFIG-RSocket-001 //! @SYMTestCaseID BT-ROMCONFIG-RSocket-0001 //! @SYMTestCaseDesc RSocket::Open should fail for Infra-Red protocols -//! on a SYMBIAN_EXCLUDE_BLUETOOTH ROM +//! on a !__BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 1 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_SDPAGENT_001.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_SDPAGENT_001.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_SDPAGENT_001.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,7 @@ START_TESTCASE BT-ROMCONFIG-SDPAGENT-001 //! @SYMTestCaseID BT-ROMCONFIG-SDPAGENT-001 //! @SYMTestCaseDesc Cannot use SdpAgent -//! on a SYMBIAN_EXCLUDE_BLUETOOTH ROM +//! on a !__BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 1 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_SDP_001.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_SDP_001.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_SDP_001.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,7 @@ START_TESTCASE BT-ROMCONFIG-SDP-001 //! @SYMTestCaseID BT-ROMCONFIG-SDP-001 //! @SYMTestCaseDesc Cannot connect to RSdp -//! on a SYMBIAN_EXCLUDE_BLUETOOTH ROM +//! on a !__BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 1 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_USER_001.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_USER_001.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_USER_001.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,7 @@ START_TESTCASE BT-ROMCONFIG-USER-001 //! @SYMTestCaseID BT-ROMCONFIG-USER-001 //! @SYMTestCaseDesc CBluetoothPhysicalLinks cannot be constructed -//! on a SYMBIAN_EXCLUDE_BLUETOOTH ROM +//! on a !__BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 1 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_USER_002.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_USER_002.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_USER_002.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,7 @@ START_TESTCASE BT-ROMCONFIG-USER-002 //! @SYMTestCaseID BT-ROMCONFIG-USER-002 //! @SYMTestCaseDesc CBluetoothSocket cannot be constructed -//! on a SYMBIAN_EXCLUDE_BLUETOOTH ROM +//! on a !__BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 1 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_USER_003.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_USER_003.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_USER_003.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,7 @@ START_TESTCASE BT-ROMCONFIG-USER-003 //! @SYMTestCaseID BT-ROMCONFIG-USER-003 //! @SYMTestCaseDesc CBluetoothSynchronousLink cannot be used -//! on a SYMBIAN_EXCLUDE_BLUETOOTH ROM +//! on a !__BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 1 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_USER_004.script --- a/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_USER_004.script Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btexample/test/cit/ROMConfig/scripts/BT_ROMCONFIG_USER_004.script Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,7 @@ START_TESTCASE BT-ROMCONFIG-USER-004 //! @SYMTestCaseID BT-ROMCONFIG-USER-004 //! @SYMTestCaseDesc RHCIDirectAccess cannot be opened -//! on a SYMBIAN_EXCLUDE_BLUETOOTH ROM +//! on a !__BT ROM //! @SYMREQ 5413 //! @SYMTestType CIT //! @SYMTestPriority 1 diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btextnotifiers/inc/BTExtNotifiersPartner.h --- a/bluetooth/btextnotifiers/inc/BTExtNotifiersPartner.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btextnotifiers/inc/BTExtNotifiersPartner.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -19,6 +19,7 @@ #include #include #include +#include /** @publishedPartner diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btlogger/generic/group/BLD.INF --- a/bluetooth/btlogger/generic/group/BLD.INF Mon May 03 13:34:38 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -/** - @file -*/ - -#include "../test/headercheck/group/bld.inf" - -PRJ_EXPORTS -../public/logger.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(bluetooth/logger.h) -../public/components.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(bluetooth/logger/components.h) -btlogger.mmh SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(bluetooth/btlogger.mmh) - -btlogger.iby /epoc32/rom/include/btlogger.iby - -PRJ_MMPFILES -logger.MMP diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btlogger/generic/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bluetooth/btlogger/generic/group/bld.inf Mon Jul 12 07:03:47 2010 +0300 @@ -0,0 +1,30 @@ +// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +/** + @file +*/ + +#include "../test/headercheck/group/bld.inf" + +PRJ_EXPORTS +../public/logger.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(bluetooth/logger.h) +../public/components.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(bluetooth/logger/components.h) +btlogger.mmh SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(bluetooth/btlogger.mmh) + +btlogger.iby /epoc32/rom/include/btlogger.iby + +PRJ_MMPFILES +logger.MMP diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btlogger/group/BLD.INF --- a/bluetooth/btlogger/group/BLD.INF Mon May 03 13:34:38 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -// Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -/** - @file -*/ - -#include "../generic/group/bld.inf" -#include "../btsnoophcilogger/group/bld.inf" diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btlogger/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bluetooth/btlogger/group/bld.inf Mon Jul 12 07:03:47 2010 +0300 @@ -0,0 +1,21 @@ +// Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +/** + @file +*/ + +#include "../generic/group/bld.inf" +#include "../btsnoophcilogger/group/bld.inf" diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/common/bt_v2.mmp --- a/bluetooth/btstack/common/bt_v2.mmp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/common/bt_v2.mmp Mon Jul 12 07:03:47 2010 +0300 @@ -69,6 +69,7 @@ SOURCE Subscribers.cpp SOURCE btcommands.cpp SOURCE AclDataQ.cpp +SOURCE hostmbufpool.cpp SOURCE AclDataQController.cpp SOURCE bredrcontrollerconfiguration.cpp @@ -231,6 +232,7 @@ MACRO CONNECTION_PREEMPTS_INQUIRY //MACRO KEEP_L2CAP_DEBUG_STATISTICS MACRO BT_LINKMGR_V2 +MACRO HOSTCONTROLLER_TO_HOST_FLOW_CONTROL OPTION cw -strict on -w pedantic,unused,hidevirtual,padding,ptrintconv diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/eirman/eirmanager.cpp --- a/bluetooth/btstack/eirman/eirmanager.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/eirman/eirmanager.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -169,7 +169,7 @@ } } -TInt CEirManager::SetData(TEirTag aTag, TDesC8& aData, TEirDataMode aEirDataMode) +TInt CEirManager::SetData(TEirTag aTag, const TDesC8& aData, TEirDataMode aEirDataMode) { LOG_FUNC LOG1(_L("CEirManager::SetData tag = %d"), aTag); diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/eirman/eirmanager.h --- a/bluetooth/btstack/eirman/eirmanager.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/eirman/eirmanager.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -89,7 +89,7 @@ TInt RegisterTag(TEirTag aTag, MEirManagerNotifiee& aNotifiee); void DeregisterTag(TEirTag aTag); - TInt SetData(TEirTag aTag, TDesC8& aData, TEirDataMode aEirDataMode); + TInt SetData(TEirTag aTag, const TDesC8& aData, TEirDataMode aEirDataMode); // from MHCICommandQueueClient void MhcqcCommandEventReceived(const THCIEventBase& aEvent, const CHCICommandBase* aRelatedCommand); diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/eirman/eirmanserver.cpp --- a/bluetooth/btstack/eirman/eirmanserver.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/eirman/eirmanserver.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -58,9 +58,11 @@ : CPolicyServer(CActive::EPriorityStandard, KEirManServerPolicy) , iCommandQueue(aCommandQueue) , iLinkMgrProtocol(aLinkMgrProtocol) - , iSessionCount(0) + , iInternalSessionCount(0) + , iExternalSessionCount(0) , iIsFeaturesReady(EFalse) , iIsEirSupported(EFalse) + , iSessions(_FOFF(CEirManSession, iLink)) { LOG_FUNC } @@ -93,28 +95,63 @@ CEirManServer* ncThis = const_cast(this); - CEirManSession* sess = CEirManSession::NewL(*ncThis); + CEirManExternalSession* sess = CEirManExternalSession::NewL(*ncThis); LOG1(_L("\tsess = 0x%08x"), sess); return sess; } -void CEirManServer::AddSession() +CEirManInternalSession* CEirManServer::NewInternalSessionL(MEirInternalSessionNotifier& aParent) + { + LOG_FUNC + // Server will refuse to create any more session if we have found out eir isn't supported. + if(iIsFeaturesReady && !iIsEirSupported) + { + User::Leave(KErrNotSupported); + } + CEirManInternalSession* sess = CEirManInternalSession::NewL(*this, aParent); + return sess; + } + +void CEirManServer::AddSession(CEirManSession& aSession, TBool aInternalSession) { LOG_FUNC - if(iSessionCount++ == 0) + + iSessions.AddLast(aSession); + + if (aInternalSession) { - // While we have clients we need to make sure that the protocol remains alive. - iLinkMgrProtocol.LocalOpen(); + if(iInternalSessionCount++ == 0) + { + // While we have clients we need to make sure that the protocol remains alive. + iLinkMgrProtocol.LocalOpen(); + } + } + else + { + if(iExternalSessionCount++ == 0) + { + // While we have clients we need to make sure that the protocol remains alive. + iLinkMgrProtocol.Open(); + } } } -void CEirManServer::DropSession() +void CEirManServer::DropSession(TBool aInternalSession) { LOG_FUNC - if(--iSessionCount == 0) + if (aInternalSession) { - // There are no long - iLinkMgrProtocol.LocalClose(); + if(--iInternalSessionCount == 0) + { + iLinkMgrProtocol.LocalClose(); + } + } + else + { + if(--iExternalSessionCount == 0) + { + iLinkMgrProtocol.Close(); + } } } @@ -126,8 +163,10 @@ TRAPD(err, iEirManager = CEirManager::NewL(iCommandQueue, iLinkMgrProtocol)); iIsFeaturesReady = ETrue; - iSessionIter.SetToFirst(); - CSession2* sessionPtr; + TDblQueIter sessionIter(iSessions); + + sessionIter.SetToFirst(); + CEirManSession* sessionPtr; if(iLinkMgrProtocol.IsExtendedInquiryResponseSupportedLocally() && err == KErrNone) { iIsEirSupported = ETrue; @@ -137,10 +176,9 @@ err = ((err != KErrNone) ? KErrNoMemory : KErrNotSupported); } - while((sessionPtr = iSessionIter++) != NULL) + while((sessionPtr = sessionIter++) != NULL) { - CEirManSession* eirSession = static_cast(sessionPtr); - eirSession->NotifyEirFeatureState(err); + sessionPtr->NotifyEirFeatureState(err); } } } @@ -171,42 +209,46 @@ _LIT_SECURITY_POLICY_S0(KSDPSecurityPolicy, KSDPServerID); _LIT_SECURITY_POLICY_S0(KStackSecurityPolicy, KStackID); _LIT_SECURITY_POLICY_C1(KVendorSpecificDataSecurityPolicy, ECapabilityWriteDeviceData); - if(function == EEirManRegisterTag) + _LIT_SECURITY_POLICY_C1(KEirCommonSecurityPolicy, ECapabilityLocalServices); + + if(KEirCommonSecurityPolicy.CheckPolicy(aMsg)) { - tag = static_cast(aMsg.Int0()); - switch(tag) + if(function == EEirManRegisterTag) { - case EEirTagName: - case EEirTagTxPowerLevel: - /** These must have come from the stack **/ - if(KStackSecurityPolicy.CheckPolicy(aMsg)) - { - result = EPass; - } - break; - case EEirTagSdpUuid16: - case EEirTagSdpUuid32: - case EEirTagSdpUuid128: - /** These must have come from SDP server **/ - if(KSDPSecurityPolicy.CheckPolicy(aMsg)) - { - result = EPass; - } - break; - case EEirTagManufacturerSpecific: - /** To do this you must have write device data **/ - if(KVendorSpecificDataSecurityPolicy.CheckPolicy(aMsg)) - { - result = EPass; - } - break; - - case EEirTagFlags: - /** At present no implementation of Flags is supported. - So we are rejecting this until an implementation is provided. **/ - default: //unknown or reserved tag, reject - //no need to do anything - break; + tag = static_cast(aMsg.Int0()); + switch(tag) + { + case EEirTagName: + case EEirTagTxPowerLevel: + /** These must have come from the stack **/ + if(KStackSecurityPolicy.CheckPolicy(aMsg)) + { + result = EPass; + } + break; + case EEirTagSdpUuid16: + case EEirTagSdpUuid32: + case EEirTagSdpUuid128: + /** These must have come from SDP server **/ + if(KSDPSecurityPolicy.CheckPolicy(aMsg)) + { + result = EPass; + } + break; + case EEirTagManufacturerSpecific: + /** To do this you must have write device data **/ + if(KVendorSpecificDataSecurityPolicy.CheckPolicy(aMsg)) + { + result = EPass; + } + break; + case EEirTagFlags: + /** At present no implementation of Flags is supported. + So we are rejecting this until an implementation is provided. **/ + default: //unknown or reserved tag, reject + //no need to do anything + break; + } } } //Anything not covered by the above is invalid so do nothing and let it fail diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/eirman/eirmanserver.h --- a/bluetooth/btstack/eirman/eirmanserver.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/eirman/eirmanserver.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -24,9 +24,11 @@ #include class CEirManSession; +class CEirManInternalSession; class CEirManager; class MHCICommandQueue; class CLinkMgrProtocol; +class MEirInternalSessionNotifier; enum TEirFeatureState { @@ -44,10 +46,12 @@ static CEirManServer* NewL(MHCICommandQueue& aCommandQueue, CLinkMgrProtocol& aLinkMgrProtocol); ~CEirManServer(); + CEirManInternalSession* NewInternalSessionL(MEirInternalSessionNotifier& aParent); + inline CEirManager& EirManager() const; - void AddSession(); - void DropSession(); + void AddSession(CEirManSession& aSession, TBool aInternalSession); + void DropSession(TBool aInternalSession); void NotifyFeaturesReady(); TEirFeatureState EirFeatureState(); @@ -65,9 +69,11 @@ CLinkMgrProtocol& iLinkMgrProtocol; //owned CEirManager* iEirManager; - TInt iSessionCount; + TInt iInternalSessionCount; + TInt iExternalSessionCount; TBool iIsFeaturesReady; TBool iIsEirSupported; + TDblQue iSessions; }; #include "eirmanserver.inl" diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/eirman/eirmanserversecuritypolicy.h --- a/bluetooth/btstack/eirman/eirmanserversecuritypolicy.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/eirman/eirmanserversecuritypolicy.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -58,7 +58,7 @@ /** Main policy */ const CPolicyServer::TPolicy KEirManServerPolicy = { - CPolicyServer::EAlwaysPass , /** Specifies all connect attempts should pass */ + KPolicyCapabilityCheck , /** Connect attempts are only successful if the caller has ECapabilityLocalServices */ KEirManServerRangeCount, KEirManServerRanges, KEirManServerElementsIndex, diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/eirman/eirmansession.cpp --- a/bluetooth/btstack/eirman/eirmansession.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/eirman/eirmansession.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -32,19 +32,21 @@ _LIT8(KLogComponent, LOG_COMPONENT_EIRMANAGER); #endif -CEirManSession* CEirManSession::NewL(CEirManServer& aServer) +CEirManSession* CEirManSession::NewL(CEirManServer& aServer, MEirSessionNotifier& aParent, TBool aInternalSession) { LOG_STATIC_FUNC - CEirManSession* self = new(ELeave) CEirManSession(aServer); + CEirManSession* self = new(ELeave) CEirManSession(aServer, aParent, aInternalSession); CleanupStack::PushL(self); self->ConstructL(); CleanupStack::Pop(self); return self; } -CEirManSession::CEirManSession(CEirManServer& aServer) +CEirManSession::CEirManSession(CEirManServer& aServer, MEirSessionNotifier& aParent, TBool aInternalSession) : iEirManServer(aServer) + , iParent(aParent) , iEirTag(EEirTagRESERVED) + , iInternalSession(aInternalSession) { LOG_FUNC } @@ -52,7 +54,7 @@ void CEirManSession::ConstructL() { LOG_FUNC - iEirManServer.AddSession(); + iEirManServer.AddSession(*this, iInternalSession); } CEirManSession::~CEirManSession() @@ -60,70 +62,24 @@ LOG_FUNC // deregister any registered tag that may be registered DeregisterTag(); - if(!iDataAvailableListenerMessage.IsNull()) - { - // complete any outstanding messages. - iDataAvailableListenerMessage.Complete(KErrCancel); - } - iEirManServer.DropSession(); + iLink.Deque(); + iEirManServer.DropSession(iInternalSession); } -void CEirManSession::ServiceL(const RMessage2& aMessage) - { - LOG_FUNC - LOG1(_L("CEirManSession::ServiceL aMessage.Function() = %d"), aMessage.Function()); - TBool complete = ETrue; - TInt ret = KErrNone; - - switch (aMessage.Function()) - { - case EEirManRegisterTag: - complete = EFalse; // always async. - RegisterTag(aMessage); - break; - - case EEirManSpaceAvailableNotification: - ret = RegisterSpaceAvailableListener(aMessage, complete); - break; - - case EEirManCancelSpaceAvailableNotification: - ret = CancelSpaceAvailableListener(); - break; - - case EEirManSetData: - ret = SetData(aMessage); - break; - - case EEirManNewData: - ret = NewData(aMessage); - break; - - default: - aMessage.Panic(KEirManCliPncCat, EEirManPanicInvalidIPC); - break; - } - - if (complete) - { - aMessage.Complete(ret); - } - } - -void CEirManSession::RegisterTag(const RMessage2& aMessage) +void CEirManSession::RegisterTag(TEirTag aTag) { LOG_FUNC - TEirTag tag = static_cast(aMessage.Int0()); - LOG1(_L("CEirManSession::RegisterTag tag = %d"), tag); + LOG1(_L("CEirManSession::RegisterTag tag = %d"), aTag); - if(!(tag >= EEirTagName && tag < EEirTagRESERVED)) + if(!(aTag >= EEirTagName && aTag < EEirTagRESERVED)) { - __ASSERT_ALWAYS(EFalse, aMessage.Panic(KEirManCliPncCat, EEirManPanicInvalidTag)); + iParent.MesnRegisterComplete(KErrArgument); } else if(iEirTag != EEirTagRESERVED) { LOG1(_L("CEirManSession::RegisterTag ERROR, Tag in use: %d"), iEirTag); - aMessage.Complete(KErrInUse); + iParent.MesnRegisterComplete(KErrInUse); } else { @@ -131,23 +87,23 @@ if(iEirManServer.EirFeatureState() == EEirFeatureReady) { // Eir is supported - TInt result = iEirManServer.EirManager().RegisterTag(tag, *this); + TInt result = iEirManServer.EirManager().RegisterTag(aTag, *this); if(result == KErrNone) { - iEirTag = tag; + iEirTag = aTag; } - aMessage.Complete(result); + iParent.MesnRegisterComplete(result); } else if(iEirManServer.EirFeatureState() == EEirFeaturePending) { // We don't know if eir is supported or not at this moment - iPendingEirTag = tag; - iRegisterMessage = aMessage; + iRegisterPending = ETrue; + iPendingEirTag = aTag; } else { // Eir is not supported - aMessage.Complete(KErrNotSupported); + iParent.MesnRegisterComplete(KErrNotSupported); } } } @@ -169,7 +125,7 @@ void CEirManSession::NotifyEirFeatureState(TInt aResult) { LOG1(_L("Eir Server has been notified feature ready, result: %d"), aResult); - if(aResult == KErrNone && !iRegisterMessage.IsNull()) + if(aResult == KErrNone && iRegisterPending) { __ASSERT_DEBUG(iEirManServer.EirFeatureState() == EEirFeatureReady, EIR_SESSION_PANIC(EEirSessionEirFeatureNotSupported)); TInt result = iEirManServer.EirManager().RegisterTag(iPendingEirTag, *this); @@ -177,80 +133,28 @@ { iEirTag = iPendingEirTag; } - iRegisterMessage.Complete(result); + iRegisterPending = EFalse; + iParent.MesnRegisterComplete(result); } - else if(!iRegisterMessage.IsNull()) + else if(iRegisterPending) { - iRegisterMessage.Complete(aResult); + iRegisterPending = EFalse; + iParent.MesnRegisterComplete(aResult); } } -TInt CEirManSession::RegisterSpaceAvailableListener(const RMessage2& aMessage, TBool& aComplete) - { - LOG_FUNC - if(iDataAvailableListenerMessage.Handle()) - { - LOG(_L("CEirManSession:::RegisterSpaceAvailableListener ERROR IN USE")); - return KErrInUse; - } - - iDataAvailableListenerMessage = aMessage; - - aComplete = EFalse; - - if(iLastSpaceOffered != 0) - { - LOG(_L("cached space present, completing immediately")); - CompleteSpaceAvailableRequest(iLastSpaceOffered); - iLastSpaceOffered = 0; - return KErrNone; - } - - LOG(_L("waiting for callback...")); - return KErrNone; - } - -TInt CEirManSession::NewData(const RMessage2& aMessage) +TInt CEirManSession::NewData(TInt aRequiredLength) { LOG_FUNC - __ASSERT_ALWAYS(iEirTag != EEirTagRESERVED, aMessage.Panic(KEirManCliPncCat, EEirManPanicInvalidTag)); - TInt requiredLength = static_cast(aMessage.Int0()); - - return iEirManServer.EirManager().NewData(iEirTag, requiredLength); + return iEirManServer.EirManager().NewData(iEirTag, aRequiredLength); } -TInt CEirManSession::CancelSpaceAvailableListener() + +TInt CEirManSession::SetData(const TDesC8& aData, TEirDataMode aMode) { LOG_FUNC - - if(!iDataAvailableListenerMessage.Handle()) - { - return KErrNotFound; - } - - iDataAvailableListenerMessage.Complete(KErrCancel); - - return KErrNone; - } - -TInt CEirManSession::SetData(const RMessage2& aMessage) - { - LOG_FUNC - __ASSERT_ALWAYS(iEirTag != EEirTagRESERVED, aMessage.Panic(KEirManCliPncCat, EEirManPanicInvalidTag)); - TEirDataMode eirDataMode = static_cast(aMessage.Int1()); - LOG2(_L("Tag: %d EirDataMode: %d"), iEirTag, eirDataMode); - - // No need to allocate memory with an expensive malloc() call (via HBuf8::NewL or whatever), - // since the EIR contents fit in the stack, and the EIR Manager will cache the data anyway - TBuf8 data; - TInt err = aMessage.Read(0, data); - - if(err == KErrNone) - { - err = iEirManServer.EirManager().SetData(iEirTag, data, eirDataMode); - } - return err; + return iEirManServer.EirManager().SetData(iEirTag, aData, aMode); } // Callback from the EIR Manager @@ -267,6 +171,181 @@ return; } + iParent.MesnSpaceAvailable(aSpaceForTag); + + } + +TEirTag CEirManSession::EirTag() const + { + return iEirTag; + } + +CEirManExternalSession* CEirManExternalSession::NewL(CEirManServer& aServer) + { + CEirManExternalSession* self = new(ELeave) CEirManExternalSession(); + CleanupStack::PushL(self); + self->ConstructL(aServer); + CleanupStack::Pop(self); + return self; + } + +CEirManExternalSession::CEirManExternalSession() + { + + } + +void CEirManExternalSession::ConstructL(CEirManServer& aServer) + { + iSession = CEirManSession::NewL(aServer, *this, EFalse); + } + +CEirManExternalSession::~CEirManExternalSession() + { + if(!iDataAvailableListenerMessage.IsNull()) + { + // complete any outstanding messages. + iDataAvailableListenerMessage.Complete(KErrCancel); + } + delete iSession; + } +/* + * Each of the individual methods is responsible for completing the message. + * All 'leaves' are processed in CSession2::ServiceError() resulting in message completion + * with the appropriate error code. + * RegisterTagL() and RegisterSpaceAvailableListenerL() store aMessage parameter for the future use + * when the callbacks are called. + */ +void CEirManExternalSession::ServiceL(const RMessage2& aMessage) + { + LOG_FUNC + LOG1(_L("CEirManSession::ServiceL aMessage.Function() = %d"), aMessage.Function()); + + switch (aMessage.Function()) + { + case EEirManRegisterTag: + RegisterTagL(aMessage); + break; + + case EEirManSpaceAvailableNotification: + RegisterSpaceAvailableListenerL(aMessage); + break; + + case EEirManCancelSpaceAvailableNotification: + CancelSpaceAvailableListenerL(aMessage); + break; + + case EEirManSetData: + SetDataL(aMessage); + break; + + case EEirManNewData: + NewDataL(aMessage); + break; + + default: + aMessage.Panic(KEirManCliPncCat, EEirManPanicInvalidIPC); + break; + } + } + +void CEirManExternalSession::RegisterTagL(const RMessage2& aMessage) + { + LOG_FUNC + TEirTag tag = static_cast(aMessage.Int0()); + LOG1(_L("CEirManSession::RegisterTag tag = %d"), tag); + + iRegisterMessage = aMessage; + + iSession->RegisterTag(tag); + } + +void CEirManExternalSession::MesnRegisterComplete(TInt aResult) + { + if (aResult == KErrArgument) + { + iRegisterMessage.Panic(KEirManCliPncCat, EEirManPanicInvalidTag); + } + else + { + iRegisterMessage.Complete(aResult); + } + } + +void CEirManExternalSession::RegisterSpaceAvailableListenerL(const RMessage2& aMessage) + { + LOG_FUNC + + if(iDataAvailableListenerMessage.Handle()) + { + LOG(_L("CEirManSession:::RegisterSpaceAvailableListener ERROR IN USE")); + LEAVEL(KErrInUse); + } + + iDataAvailableListenerMessage = aMessage; + + if(iLastSpaceOffered != 0) + { + LOG(_L("cached space present, completing immediately")); + CompleteSpaceAvailableRequest(iLastSpaceOffered); + iLastSpaceOffered = 0; + return; + } + + LOG(_L("waiting for callback...")); + } + +void CEirManExternalSession::NewDataL(const RMessage2& aMessage) + { + LOG_FUNC + + if (iSession->EirTag() == EEirTagRESERVED) + { + aMessage.Panic(KEirManCliPncCat, EEirManPanicInvalidTag); + return; + } + + TInt requiredLength = static_cast(aMessage.Int0()); + + LEAVEIFERRORL(iSession->NewData(requiredLength)); + aMessage.Complete(KErrNone); + } + +void CEirManExternalSession::CancelSpaceAvailableListenerL(const RMessage2& aMessage) + { + LOG_FUNC + + if(!iDataAvailableListenerMessage.Handle()) + { + LEAVEL(KErrNotFound); + } + + iDataAvailableListenerMessage.Complete(KErrCancel); + aMessage.Complete(KErrNone); + } + +void CEirManExternalSession::SetDataL(const RMessage2& aMessage) + { + LOG_FUNC + if (iSession->EirTag() == EEirTagRESERVED) + { + aMessage.Panic(KEirManCliPncCat, EEirManPanicInvalidTag); + return; + } + + TEirDataMode eirDataMode = static_cast(aMessage.Int1()); + LOG1(_L("EirDataMode: %d"), eirDataMode); + + // No need to allocate memory with an expensive malloc() call (via HBuf8::NewL or whatever), + // since the EIR contents fit in the stack, and the EIR Manager will cache the data anyway + TBuf8 data; + LEAVEIFERRORL(aMessage.Read(0, data)); + + LEAVEIFERRORL(iSession->SetData(data, eirDataMode)); + aMessage.Complete(KErrNone); + } + +void CEirManExternalSession::MesnSpaceAvailable(TUint aSpaceForTag) + { if(iDataAvailableListenerMessage.Handle()) { LOG(_L("Listener outstanding, completing request")); @@ -282,14 +361,92 @@ } } -void CEirManSession::CompleteSpaceAvailableRequest(TUint aBytesAvailable) +void CEirManExternalSession::CompleteSpaceAvailableRequest(TUint aBytesAvailable) { LOG_FUNC LOG1(_L("CEirManSession::CompleteSpaceAvailableRequest bytes: %d"), aBytesAvailable); // Offer the space to the client - TPckg pckg(aBytesAvailable); + TPckgC pckg(aBytesAvailable); TInt err = iDataAvailableListenerMessage.Write(0, pckg); iDataAvailableListenerMessage.Complete(err); } +CEirManInternalSession* CEirManInternalSession::NewL(CEirManServer& aServer, MEirInternalSessionNotifier& aParent) + { + LOG_STATIC_FUNC + CEirManInternalSession* self = new(ELeave) CEirManInternalSession(aParent); + CleanupStack::PushL(self); + self->ConstructL(aServer); + CleanupStack::Pop(self); + return self; + } + +CEirManInternalSession::CEirManInternalSession(MEirInternalSessionNotifier& aParent) + : iParent(aParent) + { + + } + +void CEirManInternalSession::ConstructL(CEirManServer& aServer) + { + iSession = CEirManSession::NewL(aServer, *this, ETrue); + iSetDataCb = new (ELeave) CAsyncCallBack(CActive::EPriorityHigh); + TCallBack cb(&SetDataCb, this); + iSetDataCb->Set(cb); + } + +CEirManInternalSession::~CEirManInternalSession() + { + delete iSetDataCb; + delete iSession; + } + +void CEirManInternalSession::RegisterTag(TEirTag aTag) + { + iSession->RegisterTag(aTag); + } + +void CEirManInternalSession::SetData(const TDesC8& aData, TEirDataMode aMode) + { + delete iPendingData; + iPendingData = NULL; + iSetDataCb->Cancel(); + iPendingData = aData.Alloc(); + iPendingMode = aMode; + if (iPendingData) + { + iSetDataCb->CallBack(); + } + } + +TInt CEirManInternalSession::SetDataCb(TAny* aThis) + { + static_cast(aThis)->DoSetData(); + return KErrNone; + } + +void CEirManInternalSession::DoSetData() + { + TInt err = iSession->SetData(*iPendingData, iPendingMode); + if (err != KErrNone) + { + iParent.MeisnSetDataError(err); + } + } + +TInt CEirManInternalSession::NewData(TInt aRequiredLength) + { + return iSession->NewData(aRequiredLength); + } + + +void CEirManInternalSession::MesnRegisterComplete(TInt aResult) + { + iParent.MeisnRegisterComplete(aResult); + } + +void CEirManInternalSession::MesnSpaceAvailable(TUint aSpaceForTag) + { + iParent.MeisnSpaceAvailable(aSpaceForTag - KEirLengthTagLength); + } diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/eirman/eirmansession.h --- a/bluetooth/btstack/eirman/eirmansession.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/eirman/eirmansession.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -27,41 +27,115 @@ #include "eirmanager.h" class CEirManServer; +class CEirManInternalSession; -NONSHARABLE_CLASS(CEirManSession) : public CSession2, public MEirManagerNotifiee +NONSHARABLE_CLASS(MEirSessionNotifier) { public: - static CEirManSession* NewL(CEirManServer& aServer); + virtual void MesnRegisterComplete(TInt aResult) = 0; + virtual void MesnSpaceAvailable(TUint aSpaceForTag) = 0; + }; + +NONSHARABLE_CLASS(MEirInternalSessionNotifier) + { +public: + virtual void MeisnRegisterComplete(TInt aResult) = 0; + virtual void MeisnSpaceAvailable(TUint aSpaceForTag) = 0; + virtual void MeisnSetDataError(TInt aError) = 0; + }; + +NONSHARABLE_CLASS(CEirManSession) : public CBase, public MEirManagerNotifiee + { +public: + static CEirManSession* NewL(CEirManServer& aServer, MEirSessionNotifier& aParent, TBool aInternalSession); ~CEirManSession(); void NotifyEirFeatureState(TInt aResult); + + void RegisterTag(TEirTag aTag); + TInt SetData(const TDesC8& aData, TEirDataMode aMode); + TInt NewData(TInt aRequiredLength); + TEirTag EirTag() const; + private: - CEirManSession(CEirManServer& aServer); + CEirManSession(CEirManServer& aServer, MEirSessionNotifier& aParent, TBool aInternalSession); void ConstructL(); + void DeregisterTag(); + +private: // from MEirManagerNotifiee + virtual void MemnEirBlockAvailable(TEirTag aTag, TUint aSpaceForTag); - // ServiceL handlers - void RegisterTag(const RMessage2& aMessage); - TInt RegisterSpaceAvailableListener(const RMessage2& aMessage, TBool& aComplete); - TInt CancelSpaceAvailableListener(); - TInt SetData(const RMessage2& aMessage); - TInt NewData(const RMessage2& aMessage); +public: + TDblQueLink iLink; +private: + CEirManServer& iEirManServer; // unowned + MEirSessionNotifier& iParent; + TEirTag iEirTag; + TEirTag iPendingEirTag; + TBool iRegisterPending; + TBool iInternalSession; + }; + +NONSHARABLE_CLASS(CEirManExternalSession): public CSession2, public MEirSessionNotifier + { +public: + static CEirManExternalSession* NewL(CEirManServer& aServer); + ~CEirManExternalSession(); + +private: + void ConstructL(CEirManServer& aServer); + CEirManExternalSession(); + void RegisterTagL(const RMessage2& aMessage); + void RegisterSpaceAvailableListenerL(const RMessage2& aMessage); + void CancelSpaceAvailableListenerL(const RMessage2& aMessage); + void NewDataL(const RMessage2& aMessage); + void SetDataL(const RMessage2& aMessage); + +private: void CompleteSpaceAvailableRequest(TUint aBytesAvailable); - void DeregisterTag(); private: // CSession2 virtuals virtual void ServiceL(const RMessage2& aMessage); -private: // from MEirManagerNotifiee - virtual void MemnEirBlockAvailable(TEirTag aTag, TUint aSpaceForTag); - private: - CEirManServer& iEirManServer; // unowned - TEirTag iEirTag; - TEirTag iPendingEirTag; - TUint iLastSpaceOffered; - TBool iSpaceAvailableListenerOutstanding; + virtual void MesnRegisterComplete(TInt aResult); + virtual void MesnSpaceAvailable(TUint aSpaceForTag); + +private: RMessage2 iRegisterMessage; RMessage2 iDataAvailableListenerMessage; + TUint iLastSpaceOffered; + + CEirManSession* iSession; + }; + +NONSHARABLE_CLASS(CEirManInternalSession) : public CBase, public MEirSessionNotifier + { +public: + static CEirManInternalSession* NewL(CEirManServer& aServer, MEirInternalSessionNotifier& aParent); + ~CEirManInternalSession(); + + void RegisterTag(TEirTag aTag); + void SetData(const TDesC8& aData, TEirDataMode aMode); + TInt NewData(TInt aRequiredLength); + +private: + CEirManInternalSession(MEirInternalSessionNotifier& aParent); + void ConstructL(CEirManServer& aServer); + + static TInt SetDataCb(TAny* aThis); + void DoSetData(); + +private: // from MEirManagerNotifiee + virtual void MesnRegisterComplete(TInt aResult); + virtual void MesnSpaceAvailable(TUint aSpaceForTag); + +private: + CEirManSession* iSession; + MEirInternalSessionNotifier& iParent; + CAsyncCallBack* iSetDataCb; + HBufC8* iPendingData; + TEirDataMode iPendingMode; }; #endif // _EIRMANSESSION_H diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/l2cap/l2capSAPSignalHandler.cpp --- a/bluetooth/btstack/l2cap/l2capSAPSignalHandler.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/l2cap/l2capSAPSignalHandler.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -631,32 +631,44 @@ // SAP state machine requested that we open the channel before we could do it. // We can do it now. iOpenChannelRequestAwaitingPeerEntityConfig = EFalse; - iSigState->OpenChannelRequest(*this); + iSigState->OpenChannel(*this); } } TBool CL2CapSAPSignalHandler::DelayConfigRequest() { LOG_FUNC - iAwaitingConfigRequestDelayTimer = iSAPSignalHandlerTimerState==EConfigRequestDelayTimer; + // The whole delaying of sending of ConfigRequest is basically a workaround for + // certain broken carkits from a certain Swedish manufacturer at a certain stretch + // of time. + // The defect was: the carkits advertised their capability to do RTM in Extended + // Feature Mask, but when sent a ConfigRequest with RTM they would just panic + // (ie. they really only did Basic mode). + // So the workaround is to delay the sending of our Config Request such that + // we receive the carkit's request first - we have an optimization which will + // downgrade our requested channel mode to Basic if the remote requests it before + // we've sent out our ConfigReq. This way we send Basic mode in our ConfigReq + // and the carkit is happy. + return iSAPSignalHandlerTimerState==EConfigRequestDelayTimer; + } - return iAwaitingConfigRequestDelayTimer; //true if we are delaying - } - void CL2CapSAPSignalHandler::ConfigRequestDelayTimerExpiry() { LOG_FUNC - if(iAwaitingConfigRequestDelayTimer) + // Now that ConfigReq delay timer have expired we can start the proper configuration timer. + StartConfigurationTimer(); + + if (!iAwaitConfigureChannelRequest) { - iAwaitingConfigRequestDelayTimer = EFalse; - ConfigureChannelRequest(); + ConfigureChannel(); } + // [else]: we're in an active open scenario and SAP hasn't yet issued a ConfigureChannelRequest. } void CL2CapSAPSignalHandler::CloseChannelRequest() { LOG_FUNC - iSigState->CloseChannelRequest(*this); + iSigState->CloseChannel(*this); } void CL2CapSAPSignalHandler::OpenChannelRequest() @@ -667,7 +679,7 @@ if (IsPeerInfoDefined()) { - iSigState->OpenChannelRequest(*this); + iSigState->OpenChannel(*this); } else { @@ -686,7 +698,12 @@ void CL2CapSAPSignalHandler::ConfigureChannelRequest() { LOG_FUNC - iSigState->ConfigureChannelRequest(*this); + iAwaitConfigureChannelRequest = EFalse; + + if (iSAPSignalHandlerTimerState != EConfigRequestDelayTimer) + { + ConfigureChannel(); + } } void CL2CapSAPSignalHandler::PendingCommandsDrained() @@ -707,34 +724,31 @@ void CL2CapSAPSignalHandler::StartConfigurationTimer() { LOG_FUNC - switch(iSAPSignalHandlerTimerState) - { - case EConfigurationTimer: - case EConfigRequestDelayTimer: - // The timer is already running. Cancel it and start it again. - BTSocketTimer::Remove(iSAPSignalHandlerTimerEntry); - iSAPSignalHandlerTimerState = ETimerIdle; - break; - - case ETimerIdle: - default: - // No timer running, nothing needs to be done. - break; - }; + __ASSERT_DEBUG(iSAPSignalHandlerTimerState == ETimerIdle, + Panic(EL2CapAttemptToStartConfigTimerWhenItIsRunning)); + + TCallBack cb(TimerExpired, this); + iSAPSignalHandlerTimerEntry.Set(cb); + BTSocketTimer::Queue(KL2ConfigWatchdogTimeout * KL2ProtocolSecondTimerMultiplier, + iSAPSignalHandlerTimerEntry); + iSAPSignalHandlerTimerState = EConfigurationTimer; + } - if(iSAPSignalHandlerTimerState == ETimerIdle) - { - TCallBack cb(TimerExpired, this); - iSAPSignalHandlerTimerEntry.Set(cb); - BTSocketTimer::Queue(KL2ConfigRequestDelayTimout, - iSAPSignalHandlerTimerEntry); - iSAPSignalHandlerTimerState = EConfigRequestDelayTimer; - } +void CL2CapSAPSignalHandler::StartConfigRequestDelayTimer() + { + LOG_FUNC + __ASSERT_DEBUG(iSAPSignalHandlerTimerState == ETimerIdle, + Panic(EL2CapAttemptToStartConfigTimerWhenItIsRunning)); + + TCallBack cb(TimerExpired, this); + iSAPSignalHandlerTimerEntry.Set(cb); + BTSocketTimer::Queue(KL2ConfigRequestDelayTimout, + iSAPSignalHandlerTimerEntry); + iSAPSignalHandlerTimerState = EConfigRequestDelayTimer; } - + void CL2CapSAPSignalHandler::CancelTimer() { - LOG_FUNC if(iSAPSignalHandlerTimerState != ETimerIdle) { @@ -751,18 +765,14 @@ case ETimerIdle: Panic(EL2CAPSSHTimerExpiredWhileInIdleState); break; - + case EConfigRequestDelayTimer: { - TCallBack cb(TimerExpired, this); - iSAPSignalHandlerTimerEntry.Set(cb); - BTSocketTimer::Queue(KL2ConfigWatchdogTimeout * KL2ProtocolSecondTimerMultiplier, - iSAPSignalHandlerTimerEntry); - iSAPSignalHandlerTimerState = EConfigurationTimer; + iSAPSignalHandlerTimerState = ETimerIdle; ConfigRequestDelayTimerExpiry(); } break; - + case EConfigurationTimer: iSAPSignalHandlerTimerState = ETimerIdle; iSigState->ConfigurationTimerExpiry(*this); diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/l2cap/l2capSAPSignalHandler.h --- a/bluetooth/btstack/l2cap/l2capSAPSignalHandler.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/l2cap/l2capSAPSignalHandler.h Mon Jul 12 07:03:47 2010 +0300 @@ -128,6 +128,7 @@ static TInt TimerExpired(TAny* aSAPSignalHandler); void StartConfigurationTimer(); + void StartConfigRequestDelayTimer(); void CancelTimer(); void DetachFromMux(); @@ -136,14 +137,16 @@ TInt SendEchoRequest(const TDes8* aData); void EchoResponseReceived(const TDesC8* aData); + inline void ConfigureChannel(); + void OverrideParkMode(); void UndoOverrideParkMode(); void OverrideLPMWithTimeout(); + inline TInt SignalHandlerErrorCode() const; inline MSocketNotify::TOperationBitmasks SignalHandlerErrorAction() const; inline void SetSignalHandlerErrorCode(TInt aError); inline void SetSignalHandlerErrorAction(MSocketNotify::TOperationBitmasks aAction); - private: CL2CapSAPSignalHandler(CL2CAPConnectionSAP& aSAP); void ConstructL(); @@ -187,9 +190,14 @@ // OpenChannelRequest, so OpenChannelRequest is delayed until Information Response comes // through. TBool iOpenChannelRequestAwaitingPeerEntityConfig; - // The SAP is ready to send a config request - // Flag to indicate that we are delaying sending this config request - TBool iAwaitingConfigRequestDelayTimer; + // A ConfigureChannelRequest from the SAP is only expected in an active open scenario. + // On passive open we kick the configuration ourselves. + TBool iAwaitConfigureChannelRequest; + + friend class TL2CAPSigStateClosed; + friend class TL2CAPSigStateWaitConnectRsp; + friend class TL2CAPSigStateWaitConnect; + friend class TL2CAPSigStateConfigBase; }; inline TUint8 CL2CapSAPSignalHandler::GetOutstandingRequestID() @@ -230,7 +238,7 @@ { return iRemotePort; } - + inline const TBTDevAddr& CL2CapSAPSignalHandler::RemoteBTAddress() const { return iSAP->RemoteDev(); @@ -280,5 +288,10 @@ { iSignalHandlerErrorAction = aAction; } - + +inline void CL2CapSAPSignalHandler::ConfigureChannel() + { + iSigState->ConfigureChannel(*this); + } + #endif diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/l2cap/l2capSigStates.cpp --- a/bluetooth/btstack/l2cap/l2capSigStates.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/l2cap/l2capSigStates.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -49,7 +49,7 @@ } // Events from the SAP -void TL2CAPSigState::CloseChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const +void TL2CAPSigState::CloseChannel(CL2CapSAPSignalHandler& aSignalHandler) const { LOG_FUNC // This is a standard action for most states. @@ -62,7 +62,7 @@ aSignalHandler.SAP()->ChannelClosed(); } -void TL2CAPSigState::OpenChannelRequest(CL2CapSAPSignalHandler& /*aSignalHandler*/) const +void TL2CAPSigState::OpenChannel(CL2CapSAPSignalHandler& /*aSignalHandler*/) const { LOG_FUNC PanicInState(EL2CAPUnexpectedSAPEvent); @@ -74,7 +74,7 @@ PanicInState(EL2CAPUnexpectedSAPEvent); } -void TL2CAPSigState::ConfigureChannelRequest(CL2CapSAPSignalHandler& /*aSignalHandler*/) const +void TL2CAPSigState::ConfigureChannel(CL2CapSAPSignalHandler& /*aSignalHandler*/) const { LOG_FUNC PanicInState(EL2CAPUnexpectedSAPEvent); @@ -282,7 +282,7 @@ LOG_FUNC } -void TL2CAPSigStateClosed::OpenChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const +void TL2CAPSigStateClosed::OpenChannel(CL2CapSAPSignalHandler& aSignalHandler) const { LOG_FUNC // The SAP has requested a channel be opened. @@ -353,7 +353,7 @@ } -void TL2CAPSigStateClosed::CloseChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const +void TL2CAPSigStateClosed::CloseChannel(CL2CapSAPSignalHandler& aSignalHandler) const { LOG_FUNC // Detach from the Mux. Inform the SAP that disconnection is complete. @@ -382,6 +382,8 @@ // Cancel the configuration timer. aSignalHandler.CancelTimer(); + aSignalHandler.iOpenChannelRequestAwaitingPeerEntityConfig = EFalse; + // If Park mode has been overridden during either channel establishment or // channel disconnect, remove the override. // NB It is safe to call this method multiple times. @@ -446,7 +448,7 @@ } // Events from the Mux -void TL2CAPSigStateWaitConnectRsp::CloseChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const +void TL2CAPSigStateWaitConnectRsp::CloseChannel(CL2CapSAPSignalHandler& aSignalHandler) const { // Disconnect the channel. HandleSAPDisconnect(aSignalHandler); @@ -457,6 +459,7 @@ LOG_FUNC //set the remote CID to 0 aSignalHandler.SetRemotePort(TL2CAPPort(0)); + aSignalHandler.iAwaitConfigureChannelRequest = ETrue; } /****************************************************************************/ @@ -469,7 +472,7 @@ } // Events from the SAP -void TL2CAPSigStateWaitConnect::OpenChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const +void TL2CAPSigStateWaitConnect::OpenChannel(CL2CapSAPSignalHandler& aSignalHandler) const { LOG_FUNC @@ -489,7 +492,7 @@ // We should never get in here! The timer, which allows the delay // should have been started on entry to the state "WaitConfig". { - aSignalHandler.ConfigureChannelRequest(); + aSignalHandler.ConfigureChannel(); } } } // Success Response @@ -516,7 +519,7 @@ } // Events from the Mux -void TL2CAPSigStateWaitConnect::CloseChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const +void TL2CAPSigStateWaitConnect::CloseChannel(CL2CapSAPSignalHandler& aSignalHandler) const { LOG_FUNC @@ -567,6 +570,12 @@ HandleDisconnectRequest(aSignalHandler, aId); } +void TL2CAPSigStateWaitConnect::Enter(CL2CapSAPSignalHandler& aSignalHandler) const + { + LOG_FUNC + aSignalHandler.iAwaitConfigureChannelRequest = EFalse; + } + /**************************************************************************/ // Implementation of TL2CAPSigStateConfigBase @@ -606,7 +615,7 @@ } // Events from the SAP -void TL2CAPSigStateConfigBase::CloseChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const +void TL2CAPSigStateConfigBase::CloseChannel(CL2CapSAPSignalHandler& aSignalHandler) const { LOG_FUNC // Disconnect the channel. @@ -624,7 +633,7 @@ void TL2CAPSigStateConfigBase::ConfigurationTimerExpiry(CL2CapSAPSignalHandler& aSignalHandler) const { LOG_FUNC - CloseChannelRequest(aSignalHandler); + CloseChannel(aSignalHandler); } // Common handling of Config Request and Response commands. @@ -669,13 +678,29 @@ case EConfigSuccess: // Move to next state. aSignalHandler.SetState(iFactory.GetState(aConfigSuccessState)); + + if (!configRequestSent && !aSignalHandler.iAwaitConfigureChannelRequest) + { + // The delay timer is there so that we don't send a + // Config Req before receiving one from the remote + // (as a workaround for some broken carkits, see + // DelayConfigRequest()). Since we've just received a + // ConfigReq from the remote, we can stop the delay + // timer and send our request if this is passive open + // or remotely-initiated reconfiguration. + // If it's an active open scenario then we need to wait + // for security access request to get completed. + aSignalHandler.CancelTimer(); + aSignalHandler.StartConfigurationTimer(); + aSignalHandler.ConfigureChannel(); + } break; - + case EConfigUnacceptableParams: case EConfigRejected: // Stay in current state. break; - + case EConfigUnknownOption: // impossible on this path default: __ASSERT_DEBUG(EFalse, PanicInState(EL2CAPInvalidConfigResponseCodeGenerated)); @@ -836,7 +861,7 @@ } // Events from the SAP -void TL2CAPSigStateWaitConfig::ConfigureChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const +void TL2CAPSigStateWaitConfig::ConfigureChannel(CL2CapSAPSignalHandler& aSignalHandler) const { LOG_FUNC // Local config can now be initiated. The local config requirements must @@ -851,7 +876,7 @@ if(err == KErrNone) { aSignalHandler.SetState(iFactory.GetState(CL2CAPSignalStateFactory::EWaitConfigReqRsp)); - } + } else { Error(aSignalHandler, KErrCouldNotConnect, MSocketNotify::EErrorAllOperations); @@ -859,7 +884,7 @@ } // Else wait until the delay timer expires. } - + // L2CAP commands received from the peer. void TL2CAPSigStateWaitConfig::ConfigRequest(CL2CapSAPSignalHandler& aSignalHandler, HConfigureRequest* aConfigRequest) const @@ -868,12 +893,14 @@ // Call the config base class helper method to process this command. TL2CAPSigStateConfigBase::ConfigRequest(aSignalHandler, aConfigRequest, CL2CAPSignalStateFactory::EWaitSendConfig); } - + // Change of state events void TL2CAPSigStateWaitConfig::Enter(CL2CapSAPSignalHandler& aSignalHandler) const { LOG_FUNC - aSignalHandler.StartConfigurationTimer(); + // First start the ConfigReq sending delay timer (see DelayConfigRequest() for why). + // It's short lived, we'll start the proper L2CAP config timer when it expires. + aSignalHandler.StartConfigRequestDelayTimer(); } /**************************************************************************/ @@ -890,7 +917,7 @@ } // Events from the SAP -void TL2CAPSigStateWaitSendConfig::ConfigureChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const +void TL2CAPSigStateWaitSendConfig::ConfigureChannel(CL2CapSAPSignalHandler& aSignalHandler) const { LOG_FUNC // Local config can now be initiated. The local config requirements must @@ -1005,9 +1032,6 @@ // should not be sent until it completes. aSignalHandler.ReconfiguringChannel(); static_cast(aSignalHandler.HandleConfigureRequest(aConfigRequest)); - - // Start local reconfiguration. - aSignalHandler.ConfigureChannelRequest(); } TInt TL2CAPSigStateOpen::UpdateChannelConfig(CL2CapSAPSignalHandler& aSignalHandler, const TL2CapConfig& aAPIConfig) const @@ -1019,14 +1043,14 @@ { aSignalHandler.ReconfiguringChannel(); aSignalHandler.SetState(iFactory.GetState(CL2CAPSignalStateFactory::EWaitConfig)); - aSignalHandler.ConfigureChannelRequest(); + aSignalHandler.ConfigureChannel(); rerr = KErrL2CAPConfigPending; } return rerr; } -void TL2CAPSigStateOpen::CloseChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const +void TL2CAPSigStateOpen::CloseChannel(CL2CapSAPSignalHandler& aSignalHandler) const { LOG_FUNC // Disconnect the channel. @@ -1060,16 +1084,16 @@ LOG(_L("CL2CapSigStateOpen::Enter doing reconfig")); // now get reconfiguring aSignalHandler.SetState(iFactory.GetState(CL2CAPSignalStateFactory::EWaitConfig)); - aSignalHandler.ConfigureChannelRequest(); + aSignalHandler.ConfigureChannel(); } else { // Remove and park override. aSignalHandler.UndoOverrideParkMode(); - + // Cancel the configuration timer. aSignalHandler.CancelTimer(); - + // Inform the SAP that the channel is now configured and ready to use. aSignalHandler.SAP()->ChannelConfigured(aSignalHandler.ChannelConfig(), aSignalHandler.Mux(), @@ -1153,7 +1177,7 @@ aSignalHandler.CancelTimer(); } -void TL2CAPSigStateWaitDisconnect::CloseChannelRequest(CL2CapSAPSignalHandler& /*aSignalHandler*/) const +void TL2CAPSigStateWaitDisconnect::CloseChannel(CL2CapSAPSignalHandler& /*aSignalHandler*/) const { LOG_FUNC // Already disconnecting. @@ -1201,7 +1225,7 @@ // Could well be in this state - just drop. } -void TL2CAPSigStateWaitDisconnect::ConfigureChannelRequest(CL2CapSAPSignalHandler& /*aSignalHandler*/) const +void TL2CAPSigStateWaitDisconnect::ConfigureChannel(CL2CapSAPSignalHandler& /*aSignalHandler*/) const { LOG_FUNC // This may be called if an Information Request times out diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/l2cap/l2capSigStates.h --- a/bluetooth/btstack/l2cap/l2capSigStates.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/l2cap/l2capSigStates.h Mon Jul 12 07:03:47 2010 +0300 @@ -78,10 +78,10 @@ TL2CAPSigState(const CL2CAPSignalStateFactory& aFactory); // Events from the SAP - virtual void CloseChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const; - virtual void OpenChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const; + virtual void CloseChannel(CL2CapSAPSignalHandler& aSignalHandler) const; + virtual void OpenChannel(CL2CapSAPSignalHandler& aSignalHandler) const; virtual void ConnectRequestReceived(CL2CapSAPSignalHandler& aSignalHandler) const; - virtual void ConfigureChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const; + virtual void ConfigureChannel(CL2CapSAPSignalHandler& aSignalHandler) const; virtual TInt UpdateChannelConfig(CL2CapSAPSignalHandler& aSignalHandler, const TL2CapConfig& aAPIConfig) const; virtual TInt GetNegotiatedChannelMode(const CL2CapSAPSignalHandler& aSignalHandler, TL2CapChannelMode& aMode) const; @@ -142,9 +142,9 @@ TL2CAPSigStateClosed(const CL2CAPSignalStateFactory& aFactory); // Events from the SAP - void OpenChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const; + void OpenChannel(CL2CapSAPSignalHandler& aSignalHandler) const; void ConnectRequestReceived(CL2CapSAPSignalHandler& aSignalHandler) const; - void CloseChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const; + void CloseChannel(CL2CapSAPSignalHandler& aSignalHandler) const; void ConfigRequest(CL2CapSAPSignalHandler& aSignalHandler, HConfigureRequest* aConfigRequest) const; @@ -165,7 +165,7 @@ TL2CAPSigStateWaitConnectRsp(const CL2CAPSignalStateFactory& aFactory); // Events from the SAP - void CloseChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const; + void CloseChannel(CL2CapSAPSignalHandler& aSignalHandler) const; // L2CAP commands received from the peer. void ConnectResponse(CL2CapSAPSignalHandler& aSignalHandler, @@ -183,15 +183,16 @@ TL2CAPSigStateWaitConnect(const CL2CAPSignalStateFactory& aFactory); // Events from the SAP - void OpenChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const; - void CloseChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const; + void OpenChannel(CL2CapSAPSignalHandler& aSignalHandler) const; + void CloseChannel(CL2CapSAPSignalHandler& aSignalHandler) const; // L2CAP commands received from the peer. void DisconnectRequest(CL2CapSAPSignalHandler& aSignalHandler, TUint8 aId) const; // Change of state state events void PendingCommandsDrained(CL2CapSAPSignalHandler& aSignalHandler) const; - + + void Enter(CL2CapSAPSignalHandler& aSignalHandler) const; }; NONSHARABLE_CLASS(TL2CAPSigStateConfigBase) : public TL2CAPSigState @@ -212,7 +213,7 @@ MSocketNotify::TOperationBitmasks aErrorAction) const; // Events from the SAP - void CloseChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const; + void CloseChannel(CL2CapSAPSignalHandler& aSignalHandler) const; TInt UpdateChannelConfig(CL2CapSAPSignalHandler& aSignalHandler, const TL2CapConfig& aAPIConfig) const; // Timer Events @@ -238,7 +239,7 @@ TL2CAPSigStateWaitConfig(const CL2CAPSignalStateFactory& aFactory); // Events from the SAP - void ConfigureChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const; + void ConfigureChannel(CL2CapSAPSignalHandler& aSignalHandler) const; // L2CAP commands received from the peer. void ConfigRequest(CL2CapSAPSignalHandler& aSignalHandler, @@ -259,7 +260,7 @@ TL2CAPSigStateWaitSendConfig(const CL2CAPSignalStateFactory& aFactory); // Events from the SAP - void ConfigureChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const; + void ConfigureChannel(CL2CapSAPSignalHandler& aSignalHandler) const; }; NONSHARABLE_CLASS(TL2CAPSigStateWaitConfigReqRsp) : public TL2CAPSigStateConfigBase @@ -317,7 +318,7 @@ TL2CAPSigStateOpen(const CL2CAPSignalStateFactory& aFactory); // Events from the SAP - void CloseChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const; + void CloseChannel(CL2CapSAPSignalHandler& aSignalHandler) const; // L2CAP commands received from the peer. void DisconnectRequest(CL2CapSAPSignalHandler& aSignalHandler, TUint8 aId) const; @@ -343,7 +344,7 @@ TL2CAPSigStateWaitDisconnect(const CL2CAPSignalStateFactory& aFactory); // Events from the SAP - void CloseChannelRequest(CL2CapSAPSignalHandler& aSignalHandler) const; + void CloseChannel(CL2CapSAPSignalHandler& aSignalHandler) const; TInt UpdateChannelConfig(CL2CapSAPSignalHandler& aSignalHandler, const TL2CapConfig& aAPIConfig) const; // State changes from the Mux @@ -360,7 +361,7 @@ void ConfigResponse(CL2CapSAPSignalHandler& /*aSignalHandler*/, HConfigureResponse* /*aConfigResponse*/) const; - void ConfigureChannelRequest(CL2CapSAPSignalHandler& /*aSignalHandler*/) const; + void ConfigureChannel(CL2CapSAPSignalHandler& /*aSignalHandler*/) const; }; #endif diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/l2cap/l2util.h --- a/bluetooth/btstack/l2cap/l2util.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/l2cap/l2util.h Mon Jul 12 07:03:47 2010 +0300 @@ -172,7 +172,8 @@ EL2CAPNullOwnerSupplied = 148, EL2CAPTryingToStealOwnedPdu = 149, EL2CapConstructingPositiveConfigResponseWithUnresolvedOptionStatus = 200, - EL2CapReferencingUnackedIFrameWhenNoRetransmissionGoing = 274, + EL2CapReferencingUnackedIFrameWhenNoRetransmissionGoing = 274, + EL2CapAttemptToStartConfigTimerWhenItIsRunning = 275, }; /** diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/ACLSAP.cpp --- a/bluetooth/btstack/linkmgr/ACLSAP.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/ACLSAP.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -19,6 +19,7 @@ #include #include #include +#include #include "ACLSAP.h" #include "physicallinks.h" @@ -1089,13 +1090,7 @@ CPhysicalLink* physicalLink = &iLinksMan.NewPhysicalLinkL(iRemoteDev); // physicalLink is owned by the physical links manager. User::LeaveIfError(BindLink(EACLLink, *physicalLink)); - TInt err = iPhysicalLink->Connect(); - if(err != KErrNone) - { - // If we failed to connect then we should roll back the attachment - ClearPhysicalLink(); - User::Leave(err); - } + iPhysicalLink->Connect(); } } @@ -1333,53 +1328,34 @@ iState->Shutdown(*this, aOption); } - void CACLLink::NotifyDataToSocket(TUint8 aFlag, const TDesC8& aData) { LOG_FUNC - const TUint8 KFlagHeaderSize =1; /* The design of the protocol specification for L2CAP means that both we and L2CAP need to know the flag parameter for now we just signal one datagram (*could* signal two - one for flag: but that's just as grubby) */ + RMBufChain aclData; - // make a new chain consisting of Flag(1st octet) followed by Data. - RMBufChain aclData; - #ifdef HOSTCONTROLLER_TO_HOST_FLOW_CONTROL - THCIConnHandle connH=iHandle; - aclData = const_cast(iLinksMan.HCIFacade()).TakeInboundACLDataBufferFromPool(connH); - aclData.CopyIn(aData,KFlagHeaderSize); - aclData.TrimEnd(aData.Length()+KFlagHeaderSize); //return the reserved MBufs we didn't need - //to the global pool - #else - TRAPD(err, aclData.CreateL(aData, KFlagHeaderSize)); - + CACLDataQController& aclQctrl = iProtocol.ACLController(); + THCIConnHandle connH = iHandle; + TRAPD(err, aclData = aclQctrl.PopulateInboundBufferL(connH, aFlag, aData)); if (err) { - //Since HC->H flow control is off, and we have run out of MBufs - //there is nothing we can do here but drop or disconnect the link - //due to limited resources. We drop. + // We have run out of MBufs, there is nothing we can do here but + // 1) drop the received packet, or + // 2) disconnect the link + // We drop the packet to be multi-profile "friendly" + LOG1(_L8("*** ERROR: Dropping ACL Data!!! (error = %d) ***"), err); return; } - #endif - - aclData.First()->Ptr()[0] = aFlag; // aData is already in the chain - - + // slap onto the RMBufPacketQ iInboundBuffer.Append(aclData); // transfers - - #ifndef HOSTCONTROLLER_TO_HOST_FLOW_CONTROL - if (!err) - { - #endif - iSocket->NewData(1); // datagrams: could async notify - or get l2cap to drain async - #ifndef HOSTCONTROLLER_TO_HOST_FLOW_CONTROL - } - #endif + iSocket->NewData(1); // datagrams: could async notify - or get l2cap to drain async } diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/AclDataQController.cpp --- a/bluetooth/btstack/linkmgr/AclDataQController.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/AclDataQController.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 1999-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -20,10 +20,14 @@ // #include +#include #include "AclDataQController.h" #include "linkmgr.h" #include "AclDataQ.h" #include "hcifacade.h" +#include "hostmbufpool.h" +#include "linkflowcontrol.h" +#include "linkconsts.h" #ifdef __FLOG_ACTIVE _LIT8(KLogComponent, LOG_COMPONENT_LINKMGR); @@ -50,8 +54,6 @@ CleanupStack::PushL(self); self->ConstructL(aProtocol, aBufSize, aFrameOverhead, aNumBufs); CleanupStack::Pop(self); - - LOG1(_L("CACLDataQController::NewL self = 0x%08x"), self); return self; } @@ -67,7 +69,11 @@ CACLDataQController::~CACLDataQController() { LOG_FUNC - + +#ifdef HOSTCONTROLLER_TO_HOST_FLOW_CONTROL + delete iMBufPool; +#endif + delete iDataQ; iAclConns.Reset(); iAclConns.Close(); @@ -81,6 +87,7 @@ LOG_FUNC iDataQ = CAclDataQ::NewL(aProtocol, aNumBufs, aBufSize, aFrameOverhead); + #ifdef PROXY_COMMUNICATES LOG(_L("\tPROXY_COMMUNICATES defined- reserving slots for broadcast channel")); @@ -88,6 +95,11 @@ // Reserve BC one now User::LeaveIfError(ACLLogicalLinkUp(KHCIBroadcastHandle, EFalse)); #endif + +#ifdef HOSTCONTROLLER_TO_HOST_FLOW_CONTROL + LOG(_L8("\tHOSTCONTROLLER_TO_HOST_FLOW_CONTROL defined- creating buffer pool")); + iMBufPool = CHostMBufPool::NewL(aProtocol.HCIFacade().CommandQController()); +#endif } void CACLDataQController::InitialDataCredits(TUint16 aCredits) @@ -427,6 +439,15 @@ LOG1(_L("CACLDataQController::ACLLogicalLinkDown aConnH = %d"), aConnH); +#ifdef HOSTCONTROLLER_TO_HOST_FLOW_CONTROL + if(iMBufPool) + { + iMBufPool->InvalidateByConnH(aConnH); + // the packet completions should probably move to the iAclConns model + // to clean up this code. + } +#endif // HOSTCONTROLLER_TO_HOST_FLOW_CONTROL + TInt connection = FindConnection(aConnH); if ( connection == KErrNotFound ) @@ -620,5 +641,44 @@ return rerr; } +RMBufChain CACLDataQController::PopulateInboundBufferL(THCIConnHandle aConnH, TUint8 aFlag, const TDesC8& aData) + { + LOG_FUNC + // make a new chain consisting of Flag(1st octet) followed by Data. + RMBufChain aclData; + static const TInt KFlagHeaderOffset = 0; + +#ifdef HOSTCONTROLLER_TO_HOST_FLOW_CONTROL + // Check what flow control mode is in operation + TFlowControlMode flowControl = iLinkMuxer.FlowControlMode(); + TBool ctrlerToHost = (flowControl == ETwoWayFlowControlEnabled) || (flowControl == EFlowControlFromHostControllerOnly); + if(ctrlerToHost) + { + __ASSERT_DEBUG(iMBufPool, Panic(ELinkMgrFlowControlChangeOfMind)); + aclData = iMBufPool->TakeBufferL(aConnH); + aclData.CopyIn(aData, KLinkMgrIncomingBufferHeaderSize); + // return the reserved MBufs we didn't need to the global pool + aclData.TrimEnd(aData.Length() + KLinkMgrIncomingBufferHeaderSize); + } + else +#endif // HOSTCONTROLLER_TO_HOST_FLOW_CONTROL + { + aclData.CreateL(aData, KLinkMgrIncomingBufferHeaderSize); + } + + aclData.First()->Ptr()[KFlagHeaderOffset] = aFlag; + + return aclData; + } + +void CACLDataQController::NoExplicitInboundPoolNeeded() + { + LOG_FUNC +#ifdef HOSTCONTROLLER_TO_HOST_FLOW_CONTROL + delete iMBufPool; + iMBufPool = NULL; +#endif // HOSTCONTROLLER_TO_HOST_FLOW_CONTROL + } + // // End of file diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/AclDataQController.h --- a/bluetooth/btstack/linkmgr/AclDataQController.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/AclDataQController.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,6 +18,7 @@ #include #include +#include class CAclDataQ; struct TDataQConnectionInfo; @@ -25,6 +26,7 @@ class CLinkMgrProtocol; class CLinkMuxer; class CHCIFacade; +class CHostMBufPool; /** Controller of the ACL data Q and of the pending packet list. @@ -43,6 +45,7 @@ ~CACLDataQController(); public: + // Outbound aspects void InitialDataCredits(TUint16 aCredits); void AddItem(CACLDataItem& aACLFrame); TBool IssueNextACLDataFragment(); @@ -57,6 +60,11 @@ void ACLLogicalLinkDown(THCIConnHandle aConnH); void SetParked(THCIConnHandle aConnH, TBool aParked); void CompletedPackets(THCIConnHandle aConnH, TUint16 aNo); + + // Inbound buffer related aspects + RMBufChain PopulateInboundBufferL(THCIConnHandle aConnH, TUint8 aFlag, const TDesC8& aData); + void NoExplicitInboundPoolNeeded(); + private: CACLDataQController(CHCIFacade& aHCIFacade, CLinkMuxer& aMuxer); @@ -84,6 +92,10 @@ TUint iIndexOfLastSendingConn; TUint16 iNumControllerBufs; + +#ifdef HOSTCONTROLLER_TO_HOST_FLOW_CONTROL + CHostMBufPool* iMBufPool; +#endif private: // unowned CLinkMuxer& iLinkMuxer; diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/ProxySAP.cpp --- a/bluetooth/btstack/linkmgr/ProxySAP.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/ProxySAP.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -26,6 +26,7 @@ #include "linkmgr.h" #include +#include #ifdef __FLOG_ACTIVE _LIT8(KLogComponent, LOG_COMPONENT_LINKMGR); @@ -552,7 +553,7 @@ } else { - iRequestedActiveMode = option ? ETrue : EFalse; + iRequestedActiveMode = option; if(iRequestedActiveMode) { localPriority = ETrue; @@ -766,12 +767,12 @@ return; } - if (aDisconnectOption == KDisconnectAllPhysicalLinks) + if (aDisconnectOption == KDisconnectAllPhysicalLinks || aDisconnectOption == KDisconnectAllPhysicalLinksForPowerOff) { // Disconnecting All BT Physical Links // Only support link *termination*, this is done as normal cos esock weirdness __ASSERT_ALWAYS(aCloseType == CServProviderBase::ENormal, Panic(EBTProxySAPInvalidTerminate)); - rerr = iLinksMan.TerminateAllPhysicalLinks(this); + rerr = iLinksMan.TerminateAllPhysicalLinks(this, aDisconnectOption == KDisconnectAllPhysicalLinksForPowerOff ? ERemoteAboutToPowerOff : ERemoteUserEndedConnection); LOG2(_L("Proxy SAP 0x%08x -- Terminating all PHY Links, error: %d"), this, rerr); // If there was an error terminating any of the physical links then we can diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/ProxySAP.h --- a/bluetooth/btstack/linkmgr/ProxySAP.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/ProxySAP.h Mon Jul 12 07:03:47 2010 +0300 @@ -80,6 +80,7 @@ public: static CBTProxySAP* NewLC(CPhysicalLinksManager& aConnectionMan, CPhysicalLink*); static CBTProxySAP* NewL(CPhysicalLinksManager& aConnectionMan, CPhysicalLink*); + ~CBTProxySAP(); // from SAP - the proxy will not do all of these virtual void Start(); @@ -122,8 +123,7 @@ void Error(TInt aError); void Disconnect(); - - ~CBTProxySAP(); + public: TSglQueLink iQueueLink; TBTDblQueLink iPLMLink; diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/Subscribers.cpp --- a/bluetooth/btstack/linkmgr/Subscribers.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/Subscribers.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -18,6 +18,7 @@ #include #include #include +#include #include "Subscribers.h" #include "linkmgr.h" #include "physicallinksmanager.h" diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/SyncSap.cpp --- a/bluetooth/btstack/linkmgr/SyncSap.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/SyncSap.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -17,6 +17,7 @@ #include #include +#include #include "SCOSAP.h" #include "physicallinksmanager.h" #include "physicallinks.h" diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/basebandsap.cpp --- a/bluetooth/btstack/linkmgr/basebandsap.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/basebandsap.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -16,6 +16,7 @@ // #include +#include #include "basebandsap.h" #include "physicallinksmanager.h" #include "physicallinks.h" diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/eirpublisherlocalname.cpp --- a/bluetooth/btstack/linkmgr/eirpublisherlocalname.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/eirpublisherlocalname.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -15,9 +15,10 @@ #include "eirpublisherlocalname.h" #include "linkutil.h" -#include #include +#include "eirmanserver.h" + #ifdef __FLOG_ACTIVE _LIT8(KLogComponent, LOG_COMPONENT_EIRMANAGER); #endif @@ -29,18 +30,17 @@ /** Provides functionality to publish Local Name to EIR. **/ -CEirPublisherLocalName* CEirPublisherLocalName::NewL() +CEirPublisherLocalName* CEirPublisherLocalName::NewL(CEirManServer& aServer) { LOG_STATIC_FUNC CEirPublisherLocalName* self = new (ELeave) CEirPublisherLocalName(); CleanupStack::PushL(self); - self->ConstructL(); + self->ConstructL(aServer); CleanupStack::Pop(); return self; } CEirPublisherLocalName::CEirPublisherLocalName() -: CEirPublisherBase(EEirTagName) { LOG_FUNC } @@ -49,26 +49,49 @@ { LOG_FUNC delete iPublishBuf; + delete iSession; } -void CEirPublisherLocalName::ConstructL() +void CEirPublisherLocalName::ConstructL(CEirManServer& aServer) { LOG_FUNC - CEirPublisherBase::ConstructL(); + iSession = aServer.NewInternalSessionL(*this); + iSession->RegisterTag(EEirTagName); } + +void CEirPublisherLocalName::MeisnRegisterComplete(TInt aResult) + { + if (aResult == KErrNone) + { + iTagRegistered = ETrue; + if (iLocalName.Length() > 0) + { + iSession->NewData(iLocalName.Length()); + } + } + } + +void CEirPublisherLocalName::MeisnSetDataError(TInt /* aError */) + { + } + + void CEirPublisherLocalName::UpdateName(const TDesC8& aName) { LOG_FUNC // Check aName isn't longer than 248 characters __ASSERT_DEBUG(aName.Length() <= 248, Panic(EEIRPublisherUpdateNameTooLong)); iLocalName = aName; - iPublisher->PublishData(aName.Size()); + if (iTagRegistered) + { + iSession->NewData(iLocalName.Size()); + } } // From MEirPublisherNotifier -void CEirPublisherLocalName::MepnSpaceAvailable(TUint aBytesAvailable) +void CEirPublisherLocalName::MeisnSpaceAvailable(TUint aBytesAvailable) { LOG_FUNC // Delete memory from last time this was called @@ -84,7 +107,7 @@ iPublishBuf = iLocalName.Left(avail).Alloc(); if(iPublishBuf) { - iPublisher->SetData(*iPublishBuf, EEirDataPartial); + iSession->SetData(*iPublishBuf, EEirDataPartial); } } else @@ -94,17 +117,14 @@ iPublishBuf = iLocalName.Alloc(); if(iPublishBuf) { - iPublisher->SetData(*iPublishBuf, EEirDataComplete); + iSession->SetData(*iPublishBuf, EEirDataComplete); } } // Final case to handle if OOM occurs. if(!iPublishBuf) { - iPublisher->SetData(KNullDesC8(), EEirDataPartial); + iSession->SetData(KNullDesC8(), EEirDataPartial); } } - -void CEirPublisherLocalName::MepnSetDataError(TInt /*aResult*/) - { - LOG_FUNC - } + + diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/eirpublisherlocalname.h --- a/bluetooth/btstack/linkmgr/eirpublisherlocalname.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/eirpublisherlocalname.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -17,8 +17,10 @@ #define EIRPUBLISHERLOCALNAME_H #include -#include #include +#include "eirmansession.h" + +class CEirManServer; //********************************** // CEirPublisherLocalName @@ -26,24 +28,27 @@ /** Provides functionality to publish 16 bit UUIDs to EIR. **/ -NONSHARABLE_CLASS(CEirPublisherLocalName) : public CEirPublisherBase +NONSHARABLE_CLASS(CEirPublisherLocalName): public CBase, public MEirInternalSessionNotifier { public: - static CEirPublisherLocalName* NewL(); + static CEirPublisherLocalName* NewL(CEirManServer& aServer); ~CEirPublisherLocalName(); void UpdateName(const TDesC8& aName); private: CEirPublisherLocalName(); - void ConstructL(); + void ConstructL(CEirManServer& aServer); - // From MEirPublisherNotifier - virtual void MepnSpaceAvailable(TUint aBytesAvailable); - virtual void MepnSetDataError(TInt aResult); + // From MEirInternalSessionNotifier + virtual void MeisnSpaceAvailable(TUint aBytesAvailable); + virtual void MeisnRegisterComplete(TInt aResult); + virtual void MeisnSetDataError(TInt aError); private: TBuf8 iLocalName; HBufC8* iPublishBuf; + CEirManInternalSession* iSession; + TBool iTagRegistered; }; #endif // EIRPUBLISHERLOCALNAME_H diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/eirpublishertxpowerlevel.cpp --- a/bluetooth/btstack/linkmgr/eirpublishertxpowerlevel.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/eirpublishertxpowerlevel.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -14,7 +14,7 @@ // #include "eirpublishertxpowerlevel.h" -#include +#include "eirmanserver.h" //********************************** // CEirPublisherTxPowerLevel @@ -22,53 +22,71 @@ /** Provides functionality to publish transmission power level to EIR. **/ -CEirPublisherTxPowerLevel* CEirPublisherTxPowerLevel::NewL() +CEirPublisherTxPowerLevel* CEirPublisherTxPowerLevel::NewL(CEirManServer& aServer) { CEirPublisherTxPowerLevel* self = new (ELeave) CEirPublisherTxPowerLevel(); CleanupStack::PushL(self); - self->ConstructL(); + self->ConstructL(aServer); CleanupStack::Pop(); return self; } CEirPublisherTxPowerLevel::CEirPublisherTxPowerLevel() -: CEirPublisherBase(EEirTagTxPowerLevel) { } -void CEirPublisherTxPowerLevel::ConstructL() +void CEirPublisherTxPowerLevel::ConstructL(CEirManServer& aServer) { - CEirPublisherBase::ConstructL(); + iSession = aServer.NewInternalSessionL(*this); + iSession->RegisterTag(EEirTagTxPowerLevel); } CEirPublisherTxPowerLevel::~CEirPublisherTxPowerLevel() { + delete iSession; + } + +void CEirPublisherTxPowerLevel::MeisnRegisterComplete(TInt aResult) + { + if (aResult == KErrNone) + { + iTagRegistered = ETrue; + if (iTxPowerLevelPublished) + { + iSession->NewData(KSizeOfTxPowerLevelData); + } + } } void CEirPublisherTxPowerLevel::UpdateTxPowerLevel(TInt8 aTxPowerLevel) { iTxPowerLevel = aTxPowerLevel; - iPublisher->PublishData(KSizeOfTxPowerLevelData); + iTxPowerLevelPublished = ETrue; + if (iTagRegistered) + { + iSession->NewData(KSizeOfTxPowerLevelData); + } } // From MEirPublisherNotifier -void CEirPublisherTxPowerLevel::MepnSpaceAvailable(TUint aBytesAvailable) +void CEirPublisherTxPowerLevel::MeisnSpaceAvailable(TUint aBytesAvailable) { if (aBytesAvailable >= KSizeOfTxPowerLevelData) { // only publish TxPowerLevel if enough space iPublishBuf.Zero(); iPublishBuf.Append(iTxPowerLevel); - iPublisher->SetData(iPublishBuf, EEirDataComplete); + iSession->SetData(iPublishBuf, EEirDataComplete); } else { // Otherwise publish zero length string iPublishBuf.Zero(); - iPublisher->SetData(iPublishBuf, EEirDataPartial); + iSession->SetData(iPublishBuf, EEirDataPartial); } } -void CEirPublisherTxPowerLevel::MepnSetDataError(TInt /*aResult*/) +void CEirPublisherTxPowerLevel::MeisnSetDataError(TInt /* aError */) { + } diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/eirpublishertxpowerlevel.h --- a/bluetooth/btstack/linkmgr/eirpublishertxpowerlevel.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/eirpublishertxpowerlevel.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,7 +18,9 @@ #define EIRPUBLISHERTXPOWERLEVEL_H #include -#include +#include "eirmansession.h" + +class CEirManServer; #define KSizeOfTxPowerLevelData 1 @@ -28,24 +30,28 @@ /** Provides functionality to publish TxPowerLevel to EIR. **/ -NONSHARABLE_CLASS(CEirPublisherTxPowerLevel) : public CEirPublisherBase +NONSHARABLE_CLASS(CEirPublisherTxPowerLevel) : public CBase, public MEirInternalSessionNotifier { public: - static CEirPublisherTxPowerLevel* NewL(); + static CEirPublisherTxPowerLevel* NewL(CEirManServer& aServer); ~CEirPublisherTxPowerLevel(); void UpdateTxPowerLevel(TInt8 aTxPowerLevel); private: CEirPublisherTxPowerLevel(); - void ConstructL(); + void ConstructL(CEirManServer& aServer); - // From MEirPublisherNotifier - virtual void MepnSpaceAvailable(TUint aBytesAvailable); - virtual void MepnSetDataError(TInt aResult); - + // From MEirInternalSessionNotifier + virtual void MeisnSpaceAvailable(TUint aBytesAvailable); + virtual void MeisnRegisterComplete(TInt aResult); + virtual void MeisnSetDataError(TInt aError); + private: TInt8 iTxPowerLevel; TBuf8 iPublishBuf; + CEirManInternalSession* iSession; + TBool iTxPowerLevelPublished; + TBool iTagRegistered; }; #endif //EIRPUBLISHERTXPOWERLEVEL_H diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/hcifacade.cpp --- a/bluetooth/btstack/linkmgr/hcifacade.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/hcifacade.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -35,10 +35,11 @@ #include #include +#include + #include #include #include -#include #include #include #include @@ -192,10 +193,6 @@ // used later to ensure that we have enough data to call SetEventMask iReadLocalSupportedFeaturesComplete = EFalse; iReadLocalVersionComplete = EFalse; - -#ifdef HOSTCONTROLLER_TO_HOST_FLOW_CONTROL - iMBufPool = CHostMBufPool::NewL(*this); -#endif } void CHCIFacade::SetLinkMuxer(CLinkMuxer& aLinkMuxer) @@ -319,9 +316,6 @@ { LOG_FUNC delete iAFHTimer; - #ifdef HOSTCONTROLLER_TO_HOST_FLOW_CONTROL - delete iMBufPool; - #endif delete iCoreHciPlugin; @@ -430,9 +424,12 @@ iLinkMgrProtocol.LinkMuxer().ChannelsClosed(KHCITransportAllChannels); iLinkMgrProtocol.Error(KErrHardwareNotAvailable); // Reset UI + // iLinkMgrProtocol.SetUIConnecting(EFalse); iLinkMgrProtocol.SetUINumPhysicalLinks(0); - // The h/w CoD has been reset, so we need to clear our persistent value, to reflect this + // The h/w has been (or will be) reset, so we need to clear our locally cached data + // + iLinkMgrProtocol.LinkMuxer().ResetFlowControlMode(); iLinkMgrProtocol.ClearPendingLocalDeviceSettingsCod(); // Removes any pending AFH Channel Classification command @@ -529,58 +526,39 @@ */ { LOG_FUNC + switch (aMode) { - case ENoFlowControl: - { -#ifndef _DEBUG - Panic(ELinkMgrBadFlowControlSetInReleaseBuild); -#endif - break; - } - case EFlowControlToHostControllerOnly: - { - // the host will not tell the Controller about its buffers - - User::LeaveIfError( - SendInitialisationCommand(CReadBufferSizeCommand::NewL())); - break; - } - case EFlowControlFromHostControllerOnly: - { -#ifdef _DEBUG - CHCICommandBase *command = CHostBufferSizeCommand::NewL(KLinkMgrIncomingBufferSize, - KStackSCOBuffersSize, KStackACLBuffersNum, - KStackSCOBuffersNum); - - User::LeaveIfError(SendInitialisationCommand(command)); - - command = CSetControllerToHostFlowControlCommand::NewL(ETrue); - - User::LeaveIfError(SendInitialisationCommand(command)); - -#else - Panic(ELinkMgrBadFlowControlSetInReleaseBuild); -#endif - break; - } - case ETwoWayFlowControlEnabled: - { - CHCICommandBase *command = CHostBufferSizeCommand::NewL(KLinkMgrIncomingBufferSize, - KStackSCOBuffersSize, KStackACLBuffersNum, - KStackSCOBuffersNum); - - User::LeaveIfError(SendInitialisationCommand(command)); - - command = CSetControllerToHostFlowControlCommand::NewL(ETrue); - - User::LeaveIfError(SendInitialisationCommand(command)); - - break; - } - default: - Panic(ELinkMgrNoSuchFlowControlMode); - break; + case ENoFlowControl: + case EFlowControlToHostControllerOnly: + case EFlowControlFromHostControllerOnly: + case ETwoWayFlowControlEnabled: + // a valid argument has been provided + break; + default: + Panic(ELinkMgrNoSuchFlowControlMode); + break; + } + + TBool ctrlerToHostFlowControl = (aMode == ETwoWayFlowControlEnabled) || (aMode == EFlowControlFromHostControllerOnly); + TBool hostToCtrlerFlowControl = (aMode == ETwoWayFlowControlEnabled) || (aMode == EFlowControlToHostControllerOnly); + + if(hostToCtrlerFlowControl) + { + LEAVEIFERRORL(SendInitialisationCommand(CReadBufferSizeCommand::NewL())); + } + + if(ctrlerToHostFlowControl) + { + static const TUint8 KControllerToHostFlowControlAclOnSyncOff = 0x01; + CHCICommandBase* command = + CSetControllerToHostFlowControlCommand::NewL(KControllerToHostFlowControlAclOnSyncOff); + LEAVEIFERRORL(SendInitialisationCommand(command)); + // When this command successfully completes then host buffer size command will be issued. + } + else + { + iLinkMuxer->RecordHostControllerToHostFlowControl(EFalse); } } @@ -639,14 +617,6 @@ return 0; } -#ifdef HOSTCONTROLLER_TO_HOST_FLOW_CONTROL -RMBufChain CHCIFacade::TakeInboundACLDataBufferFromPool(const THCIConnHandle& aForConnHandle) - { - LOG_FUNC - return iMBufPool->TakeBuffer(aForConnHandle); - } -#endif - // MControllerInitialisationObserver void CHCIFacade::McioPreResetCommandComplete(TInt aError) { @@ -1098,177 +1068,3 @@ return KErrNone; } -#ifdef HOSTCONTROLLER_TO_HOST_FLOW_CONTROL - -CHostMBufPool* CHostMBufPool::NewL(CHCIFacade& aHCIFacade) - { - LOG_FUNC - CHostMBufPool* self = new (ELeave) CHostMBufPool(aHCIFacade); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - return self; - } - -void CHostMBufPool::DeletePool(TSglQue& aQueue) - { - LOG_FUNC - TPoolBuffer* tmpItem = NULL; - TSglQueIter iter(aQueue); - while(iter) - { - tmpItem=iter++; - aQueue.Remove(*tmpItem); - delete tmpItem; - } - } - -CHostMBufPool::~CHostMBufPool() - { - LOG_FUNC - Cancel(); - DeletePool(iBufferPool); - DeletePool(iWaitingAllocPool); - } - -CHostMBufPool::CHostMBufPool(CHCIFacade& aHCIFacade) : - CActive(0),iHCIFacade(aHCIFacade),iBufferPool(_FOFF(TPoolBuffer,iLink)), - iWaitingAllocPool(_FOFF(TPoolBuffer,iLink)),iCurrAckHandle(KErrNotFound),iCurrCompletedPackets(0) - { - LOG_FUNC - } - -void CHostMBufPool::ConstructL() -/** -2nd phase constructor for the Host MBuf Pool. - -This method will attempt to reserve enough MBufs from the global pool -for bluetooth use. -@leave KErrNoMemory If the required number of MBufs couldn't be reserved -*/ - { - LOG_FUNC - LOG2(_L("CHostMBufPool: now reserving %d size %d MBufChains"),KStackACLBuffersNum,KLinkMgrIncomingBufferSize); - - for (TInt i=0;i<=KStackACLBuffersNum-1;i++) - { - TPoolBuffer* thisBuffer = new (ELeave) TPoolBuffer(); - CleanupStack::PushL(thisBuffer); - thisBuffer->iCurrentHandle=KErrNotFound; //we assert on this later - thisBuffer->iMBufChain.AllocL(KLinkMgrIncomingBufferSize); - iBufferPool.AddFirst(*thisBuffer); - CleanupStack::Pop(thisBuffer); - } - - CActiveScheduler::Add(this); - } - -void CHostMBufPool::DoCancel() - { - LOG_FUNC - iMBufRequester.Cancel(); - } - -RMBufChain CHostMBufPool::TakeBuffer(const THCIConnHandle& aConnHandle) -/** -Takes a buffer from the pool and schedules an asynchronous allocation -of the next buffer. Only when that allocation has succeeded will the host -controller be signalled with a host_number_of_completed_packets. Hence, -if we cannot allocate a buffer from the global MBuf pool, the host controller -will be flowed off and no data will be lost. -*/ - { - LOG_FUNC - TPoolBuffer* ready = iBufferPool.First(); - iBufferPool.Remove(*ready); - __ASSERT_DEBUG(!ready->iMBufChain.IsEmpty(),Panic(ELinkMgrHostControllerHasOverflowedHost)); - __ASSERT_DEBUG(ready->iCurrentHandle==KErrNotFound,Panic(ELinkMgrHostControllerHasOverflowedHost)); - ready->iCurrentHandle = aConnHandle; - - RMBufChain retChain; - retChain.Assign(ready->iMBufChain); - - if (IsActive()) - { - //This buffer will be reclaimed from the global pool - //after the one(s) we're currently trying to reclaim - LOG(_L("CHostMBufPool: TakeBuffer, buffer taken while alloc outstanding: queued alloc")); - iWaitingAllocPool.AddLast(*ready); - } - else - { - LOG(_L("CHostMBufPool: TakeBuffer, buffer taken")); - iBufferPool.AddLast(*ready); //NB the Controller cannot use this - //buffer until it is alloced as it will - //be flowed off. - iMBufRequester.Alloc(ready->iMBufChain,KLinkMgrIncomingBufferSize,iStatus); - SetActive(); - } - - return retChain; - } - -void CHostMBufPool::RunL() - { - LOG_FUNC - if (iStatus.Int()!=KErrNone) - { - LOG1(_L("Error! CHostMBufPool:: RunL %d"),iStatus.Int()); - __DEBUGGER(); - } - else - { - TPoolBuffer* justAllocd = iBufferPool.Last(); - - - if (iCurrAckHandle==KErrNotFound) - { - //This is the first completion we have ever seen - iCurrAckHandle=justAllocd->iCurrentHandle; - } - - TBool ackNow=((justAllocd->iCurrentHandle!=iCurrAckHandle)); - - if (!ackNow) - { - iCurrCompletedPackets++; - LOG2(_L("CHostMBufPool: CompletedPackets++ for conn: %d [->%d]"),justAllocd->iCurrentHandle,iCurrCompletedPackets); - - if (iCurrCompletedPackets>=KStackACLBuffersTideMarkNum) - { - ackNow=ETrue; - } - } - - if (ackNow) - { - TInt err=KErrNone; - - if (iCurrCompletedPackets>0) - { - LOG2(_L("CHostMBufPool: Sending HostNumberOfCompletedPackets for conn: %d [%d completed]"),iCurrAckHandle,iCurrCompletedPackets); - //Acknowledge the completed packets - TRAP(err, iHCIFacade.HostNumberOfCompletedPacketsL(iCurrAckHandle,iCurrCompletedPackets)); - //if this failed we probably couldn't alloc the memory for the command frame, - //the HC is still flowed off. - __ASSERT_DEBUG(err==KErrNone,Panic(ELinkMgrCouldNotSendHostNumberOfCompletedPackets)); - } - - iCurrCompletedPackets= (justAllocd->iCurrentHandle!=iCurrAckHandle) ? 1:0; - iCurrAckHandle=justAllocd->iCurrentHandle; - } - - justAllocd->iCurrentHandle=KErrNotFound; - - if (!iWaitingAllocPool.IsEmpty()) - { - TPoolBuffer* needsAlloc = iWaitingAllocPool.First(); - iBufferPool.AddLast(*needsAlloc); - iWaitingAllocPool.Remove(*needsAlloc); - iMBufRequester.Alloc(needsAlloc->iMBufChain,KLinkMgrIncomingBufferSize,iStatus); - SetActive(); - } - } - } - -#endif diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/hcifacade.h --- a/bluetooth/btstack/linkmgr/hcifacade.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/hcifacade.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -93,43 +93,7 @@ private: }; -#ifdef HOSTCONTROLLER_TO_HOST_FLOW_CONTROL -NONSHARABLE_CLASS(CHostMBufPool) : public CActive - { - NONSHARABLE_CLASS(TPoolBuffer) - { - public: - RMBufChain iMBufChain; - TInt iCurrentHandle; //NB THCIConnHandle is TUint16, - //we use -1 to indicate no handle - TSglQueLink iLink; - }; -public: - static CHostMBufPool* NewL(CHCIFacade& aHCIFacade); - ~CHostMBufPool(); - RMBufChain TakeBuffer(const THCIConnHandle& aConnHandle); -private: - CHostMBufPool(CHCIFacade& aHCIFacade); - void ConstructL(); - void RunL(); - void DoCancel(); - - void DeletePool(TSglQue& aPool); - -private: - CHCIFacade& iHCIFacade; - CAsyncCallBack* iBufferFreeCallback; - - TSglQue iBufferPool; - TSglQue iWaitingAllocPool; - - TInt iCurrAckHandle; - TUint iCurrCompletedPackets; - - RMBufAsyncRequest iMBufRequester; - }; - -#endif //HOSTCONTROLLER_TO_HOST_FLOW_CONTROL + NONSHARABLE_CLASS(CAFHTimer) : public CTimer { @@ -226,7 +190,6 @@ void AcceptConnectionRequestL(const TBTDevAddr& aAddr, TUint8 aRole); void RejectConnectionRequestL(const TBTConnect& aConnect, THCIErrorCode aReason); - void HostNumberOfCompletedPacketsL(THCIConnHandle aConnH, TUint16 aFrags); void WriteLinkPolicySettingsL(THCIConnHandle aConnH, TUint16 aSettings); void FlushL(THCIConnHandle aConnH); void SetEventMaskL(const THCIEventMask& aEventMask); @@ -318,9 +281,6 @@ TUint16 ReadACLReportingInterval() const; TUint16 ReadACLFramingOverhead() const; - #ifdef HOSTCONTROLLER_TO_HOST_FLOW_CONTROL - RMBufChain TakeInboundACLDataBufferFromPool(const THCIConnHandle& aForConnHandle); - #endif void ReadDeviceClassL(); private: TInt SendInitialisationCommand(CHCICommandBase* aCommand); @@ -364,6 +324,7 @@ void WriteCurrentIACLAPOpcode(THCIErrorCode aHciErr, const THCIEventBase* aEvent, const CHCICommandBase* aRelatedCommand); void WriteClassOfDeviceOpcode(THCIErrorCode aHciErr, const THCIEventBase* aEvent, const CHCICommandBase* aRelatedCommand); void SetControllerToHostFlowControlOpcode(THCIErrorCode aHciErr, const THCIEventBase* aEvent, const CHCICommandBase* aRelatedCommand); + void HostBufferSizeOpcode(THCIErrorCode aHciErr, const THCIEventBase* aEvent, const CHCICommandBase* aRelatedCommand); void WriteScanEnableOpcode(THCIErrorCode aHciErr, const THCIEventBase* aEvent, const CHCICommandBase* aRelatedCommand); void SetAFHHostChannelClassificationOpcode(THCIErrorCode aHciErr, const THCIEventBase* aEvent, const CHCICommandBase* aRelatedCommand); void WriteAFHChannelAssessmentModeOpcode(THCIErrorCode aHciErr, const THCIEventBase* aEvent, const CHCICommandBase* aRelatedCommand); @@ -375,6 +336,8 @@ void SetEventMaskOpcode(THCIErrorCode aHciErr, const THCIEventBase* aEvent, const CHCICommandBase* aRelatedCommand); void ReadInquiryResponseTransmitPowerLevelOpcode(THCIErrorCode aHciErr, const THCIEventBase* aEvent, const CHCICommandBase* aRelatedCommand); + void WriteSimplePairingModeOpcode(THCIErrorCode aHciErr, const THCIEventBase* aEvent, const CHCICommandBase* aRelatedCommand); + // Functions CHCIFacade(CLinkMgrProtocol& aProtocol); void ConstructL(); @@ -443,10 +406,6 @@ THCITransportChannel iHCTLState; // memorize the status of the free channels TBTPowerState iLastPowerState; - - #ifdef HOSTCONTROLLER_TO_HOST_FLOW_CONTROL - CHostMBufPool* iMBufPool; - #endif // This array contains outstanding command Op Codes. The array is // not defined using THCIOpcode as the template type because RArray diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/hcifacade_commands.cpp --- a/bluetooth/btstack/linkmgr/hcifacade_commands.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/hcifacade_commands.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -42,7 +42,6 @@ #include #include #include -#include #include #include #include @@ -186,20 +185,6 @@ iCmdController->MhcqAddCommandL(cmd, *this); } -void CHCIFacade::HostNumberOfCompletedPacketsL(THCIConnHandle aConnH, TUint16 aFrags) - { - RArray connHandles; - connHandles.Append(aConnH); - - RArray numPackets; - numPackets.Append(aFrags); - - CHostNumberOfCompletedPacketsCommand* cmd = CHostNumberOfCompletedPacketsCommand::NewL(1, connHandles, numPackets); - - // Ownership of cmd transfered even if MhcqAddCommandL leaves - iCmdController->MhcqAddCommandL(cmd, *this); - } - void CHCIFacade::AcceptConnectionRequestL(const TBTDevAddr& aAddr, TUint8 aRole) { CAcceptConnectionRequestCommand* cmd = CAcceptConnectionRequestCommand::NewL(aAddr, aRole); diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/hcifacade_events.cpp --- a/bluetooth/btstack/linkmgr/hcifacade_events.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/hcifacade_events.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -100,6 +100,7 @@ #include #include +#include #ifdef __FLOG_ACTIVE _LIT8(KLogComponent, LOG_COMPONENT_HCI_FACADE); @@ -215,8 +216,47 @@ void CHCIFacade::SetControllerToHostFlowControlOpcode(THCIErrorCode aHciErr, const THCIEventBase* /*aEvent*/, const CHCICommandBase* /*aRelatedCommand*/) { LOG_FUNC - LOG(_L("HCIFacade: SetControllerToHostFlowControl Command Complete Event")); - iLinkMuxer->RecordHostControllerToHostFlowControl(aHciErr == EOK ? ETrue:EFalse); + LOG1(_L8("HCIFacade: SetControllerToHostFlowControl Command Complete Event (result = 0x%02x)"), aHciErr); + if(aHciErr == EOK) + { + // flow control mode set - so provide the host buffer settings + CHCICommandBase* command = NULL; + TRAPD(err, command = CHostBufferSizeCommand::NewL(KStackACLBuffersSize, KStackSCOBuffersSize, + KStackACLBuffersNum, KStackSCOBuffersNum)); + if(err == KErrNone) + { + err = SendInitialisationCommand(command); + } + if(err != KErrNone) + { + // unfortunately at this stage we are stuck since we need to inform + // the controller of our buffers. We've failed to initialise. + LOG1(_L8("Failed to send HostBufferSize command(%d) - initialisation failed"), err); + iInitialisationError = ETrue; + } + } + else // we'll drop back to no flow control to the host + { + iLinkMuxer->RecordHostControllerToHostFlowControl(EFalse); + } + } + +void CHCIFacade::HostBufferSizeOpcode(THCIErrorCode aHciErr, const THCIEventBase* /*aEvent*/, const CHCICommandBase* /*aRelatedCommand*/) + { + LOG_FUNC + LOG1(_L8("HCIFacade: HostBufferSizeOpcode Command Complete Event (result = 0x%02x)"), aHciErr); + if(aHciErr == EOK) + { + // all set-up for controller to host flow-control + iLinkMuxer->RecordHostControllerToHostFlowControl(ETrue); + } + else + { + // If we've failed to perform this command then the stack is stuck + // half initialised to perform controller to host flow control. + LOG(_L8("Failed to set the host buffer size in controller - initialisation failed")); + iInitialisationError = ETrue; + } } void CHCIFacade::WriteScanEnableOpcode(THCIErrorCode aHciErr, const THCIEventBase* /*aEvent*/, const CHCICommandBase* /*aRelatedCommand*/) @@ -351,9 +391,16 @@ if(iLinkMgrProtocol.IsSecureSimplePairingSupportedLocally()) { CWriteSimplePairingModeCommand* cmd = NULL; - TRAP_IGNORE(cmd = CWriteSimplePairingModeCommand::NewL(ESimplePairingEnabled)); - static_cast(SendInitialisationCommand(cmd)); - iLinksMgr->SecMan().SetLocalSimplePairingMode(ETrue); //probably unnecessary + TRAPD(err, cmd = CWriteSimplePairingModeCommand::NewL(ESimplePairingEnabled)); + if(err == KErrNone) + { + err = SendInitialisationCommand(cmd); + } + if(err != KErrNone) + { + LOG(_L("HCIFacade: ReadLocalSupportedFeaturesOpcode Error")); + iInitialisationError = ETrue; + } } else { @@ -363,6 +410,7 @@ else { iLinkMgrProtocol.SetLocalFeatures(aHciErr, TBTFeatures(0)); + iLinksMgr->SecMan().SetLocalSimplePairingMode(EFalse); // for want of a better solution } iReadLocalSupportedFeaturesComplete = ETrue; @@ -566,6 +614,10 @@ SetControllerToHostFlowControlOpcode(aHciErr, aEvent, aRelatedCommand); break; + case KHostBufferSizeOpcode: + HostBufferSizeOpcode(aHciErr, aEvent, aRelatedCommand); + break; + case KWriteScanEnableOpcode: WriteScanEnableOpcode(aHciErr, aEvent, aRelatedCommand); break; @@ -622,8 +674,13 @@ __ASSERT_DEBUG(EFalse, Panic(EHCIUnmatchedInquiryEvent)); break; + case KWriteSimplePairingModeOpcode: + { + WriteSimplePairingModeOpcode(aHciErr, aEvent, aRelatedCommand); + break; + } + // Security related events that are sent from the facade. - case KWriteSimplePairingModeOpcode: case KReadLocalOOBDataOpcode: case KRemoteOOBDataRequestReplyOpcode: case KRemoteOOBDataRequestNegativeReplyOpcode: @@ -659,13 +716,11 @@ case KSetEventFilterOpcode: case KCreateNewUnitKeyOpcode: case KWriteAuthenticationEnableOpcode: - case KHostNumberOfCompletedPacketsOpcode: case KWriteEncryptionModeOpcode: case KWritePageTimeoutOpcode: case KReadConnectionAcceptTimeoutOpcode: case KWriteConnectionAcceptTimeoutOpcode: case KWriteVoiceSettingOpcode: - case KHostBufferSizeOpcode: case KReadAFHChannelMapOpcode: case KReadAFHChannelAssessmentModeOpcode: case KReadPageTimeoutOpcode: @@ -714,6 +769,10 @@ case KSendKeypressNotificationOpcode: case KWriteSimplePairingDebugModeOpcode: + + // below here are command complete events we definitely shouldn't receive + // but have been left for safety until a complete analysis is done. + case KHostNumberOfCompletedPacketsOpcode: // Catch all the events we do not handle LOG1(_L("Warning!! Unhandled Command Complete Event (opcode:%d)"), aOpcode); @@ -795,6 +854,19 @@ } } +void CHCIFacade::WriteSimplePairingModeOpcode(THCIErrorCode aHciErr, const THCIEventBase* /*aEvent*/, const CHCICommandBase* /*aRelatedCommand*/) + { + LOG_FUNC + if(aHciErr == EOK) + { + iLinksMgr->SecMan().SetLocalSimplePairingMode(ETrue); + } + else + { + iInitialisationError = ETrue; + } + } + void CHCIFacade::CommandStatusEvent(const THCIEventBase& aEvent, const CHCICommandBase* aRelatedCommand) { LOG_FUNC @@ -877,12 +949,6 @@ iLinksMgr->SynchronousConnectionComplete(hciErr, conn, syncOpts); break; - } - - case KHostNumberOfCompletedPacketsOpcode: - { - iLinksMgr->CompletedPackets(KInvalidConnectionHandle, 0); //no packets - break; } case KReadRemoteExtendedFeaturesOpcode: @@ -915,7 +981,13 @@ iLinksMgr->PacketTypeChange(hciErr, KInvalidConnectionHandle,0); break; } - + + case KWriteSimplePairingModeOpcode: + { + WriteSimplePairingModeOpcode(hciErr, &commandStatusEvent, aRelatedCommand); + break; + } + default: // Complete any other commands with an error CommandCompleteEvent(opcode, hciErr, NULL, NULL); diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/hostmbufpool.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bluetooth/btstack/linkmgr/hostmbufpool.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -0,0 +1,382 @@ +// Copyright (c) 1999-2010 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +#include "hostmbufpool.h" + +#include +#include +#include +#include +#include + +#include "linkconsts.h" +#include "linkutil.h" + +#include + +#ifdef HOSTCONTROLLER_TO_HOST_FLOW_CONTROL + +#ifdef __FLOG_ACTIVE +_LIT8(KLogComponent, LOG_COMPONENT_LINKMGR); +#endif + +__DEBUG_ONLY(PANICCATEGORY("mbufpool");) + + +CHostMBufPool* CHostMBufPool::NewL(MHCICommandQueue& aCommandQueue) + { + LOG_STATIC_FUNC + CHostMBufPool* self = new (ELeave) CHostMBufPool(aCommandQueue); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +void CHostMBufPool::DeletePool(TSglQue& aQueue) + { + LOG_FUNC + TPoolBuffer* buffer = NULL; + TSglQueIter iter(aQueue); + while(buffer=iter++, buffer) + { + aQueue.Remove(*buffer); + DeleteBuffer(buffer); + } + } + +void CHostMBufPool::DeleteBuffer(TPoolBuffer*& aBuffer) + { + LOG_FUNC + if(aBuffer) + { + aBuffer->iMBufChain.Free(); + delete aBuffer; + aBuffer = NULL; + } + } + +CHostMBufPool::~CHostMBufPool() + { + LOG_FUNC + Cancel(); + // iMBufRequester is cleaned in it's destructor (not much of an R-class...but it is what it is) + DeletePool(iBufferPool); + DeletePool(iWaitingAllocPool); + DeleteBuffer(iBufferBeingAllocd); + } + +CHostMBufPool::CHostMBufPool(MHCICommandQueue& aCommandQueue) + : CActive(EPriorityHigh) + // High priority so that buffers are allocated occur before more data is read, this prevents + // the cases the data floods the device and exhausts the buffers before any more can be allocated. + // This maximises throughput since we will ensure we send packet completion notifications in a + // timely manner. + , iCmdQ(aCommandQueue) + , iBufferPool(_FOFF(TPoolBuffer,iLink)) + , iWaitingAllocPool(_FOFF(TPoolBuffer,iLink)) + , iCurrAckHandle(KErrNotFound) + { + LOG_FUNC + } + +void CHostMBufPool::ConstructL() +/** +2nd phase constructor for the Host MBuf Pool. + +This method will attempt to reserve enough MBufs from the global pool +for bluetooth use. +@leave KErrNoMemory If the required number of MBufs couldn't be reserved +*/ + { + LOG_FUNC + LOG2(_L("CHostMBufPool: now reserving %d size %d MBufChains"), KStackACLBuffersNum, KLinkMgrIncomingBufferSize); + + for (TInt i=0; i<=KStackACLBuffersNum-1; i++) + { + TPoolBuffer* thisBuffer = CreatePoolBufferL(); + AddToBufferPool(*thisBuffer); + } + + CActiveScheduler::Add(this); + } + +CHostMBufPool::TPoolBuffer* CHostMBufPool::CreatePoolBufferL() + { + LOG_FUNC + TPoolBuffer* newBuffer = new(ELeave) TPoolBuffer(); + CleanupStack::PushL(newBuffer); + newBuffer->iCurrentHandle = KInvalidConnectionHandle; // we assert on this later + newBuffer->iMBufChain.AllocL(KLinkMgrIncomingBufferSize); + CleanupStack::Pop(newBuffer); + return newBuffer; + } + +void CHostMBufPool::DoCancel() + { + LOG_FUNC + iMBufRequester.Cancel(); + } + +RMBufChain CHostMBufPool::TakeBufferL(THCIConnHandle aConnHandle) +/** +Takes a buffer from the pool and schedules an asynchronous allocation +of the next buffer. Only when that allocation has succeeded will the host +controller be signalled with a host_number_of_completed_packets. Hence, +if we cannot allocate a buffer from the global MBuf pool, the host controller +will be flowed off and no data will be lost. +*/ + { + LOG_FUNC + ASSERT_DEBUG(aConnHandle != KInvalidConnectionHandle); + + // Speculatively attempt to allocate any queued allocations that may have previously failed. + TryToAllocQueuedBuffer(); + + TPoolBuffer* ready = iBufferPool.First(); + + if(!ready) + { + // Whoops run out of buffers - even though we were trying to prevent this with + // flow control, in the case of disconnection the controller will assume all the + // data for a connection handle will be flushed and therefore the buffers associated + // with that connection handle will be free. Unfortunately for us we don't have + // that much control with the MBuf pool (since flow control is for asynchronous + // buffer allocation rather than waiting for the given MBufs to be relinquished + // by a higher layer). + // So the controller could think we have more buffers than we actually have... + LOG(_L8("CHostMBufPool: Ran out of buffers!!!!")); + LEAVEL(KErrOverflow); + } + + // If here then we should have a valid pool buffer to use + __ASSERT_DEBUG(!ready->iMBufChain.IsEmpty(), Panic(ELinkMgrHostControllerHasOverflowedHost)); + __ASSERT_DEBUG(ready->iCurrentHandle == KInvalidConnectionHandle, Panic(ELinkMgrHostControllerHasOverflowedHost)); + + RemoveFromBufferPool(*ready); + ready->iCurrentHandle = aConnHandle; + + RMBufChain retChain; + retChain.Assign(ready->iMBufChain); + + if (IsActive()) + { + //This buffer will be reclaimed from the global pool + //after the one(s) we're currently trying to reclaim + LOG(_L8("CHostMBufPool: TakeBuffer, buffer taken while alloc outstanding: queued alloc")); + iWaitingAllocPool.AddLast(*ready); + } + else + { + LOG(_L8("CHostMBufPool: TakeBuffer, buffer taken")); + AllocNewBuffer(*ready); + } + + return retChain; + } + +void CHostMBufPool::InvalidateByConnH(THCIConnHandle aConnHandle) + { + LOG_FUNC + ASSERT_DEBUG(aConnHandle != KInvalidConnectionHandle); + + // We need to scan through the two pending "lists" to remove the + // connection handle from record so we don't try to provide a + // packet completion notification (the controller already assumes + // the buffers are free as they are entitled to by the spec). + + // The current buffer being allocated + if(iBufferBeingAllocd && iBufferBeingAllocd->iCurrentHandle == aConnHandle) + { + iBufferBeingAllocd->iCurrentHandle = KInvalidConnectionHandle; + } + + // The list of buffers waiting to be allocted + TPoolBuffer* buffer = NULL; + TSglQueIter iter(iWaitingAllocPool); + while(buffer=iter++, buffer) + { + if(buffer->iCurrentHandle == aConnHandle) + { + buffer->iCurrentHandle = KInvalidConnectionHandle; + } + } + + // Finally we need to purge any batched up completions if they + // are for this connection handle + if(iCurrAckHandle == aConnHandle) + { + iCurrAckHandle = KErrNotFound; + iCurrCompletedPackets = 0; + } + } + +void CHostMBufPool::RunL() + { + LOG_FUNC + LEAVEIFERRORL(iStatus.Int()); + + // We've successfully allocated a new MBufChain + TPoolBuffer* justAllocd = iBufferBeingAllocd; + iBufferBeingAllocd = NULL; + THCIConnHandle justAllocdHandle = justAllocd->iCurrentHandle; + + // Return buffer to pool for re-use + AddToBufferPool(*justAllocd); + justAllocd->iCurrentHandle = KInvalidConnectionHandle; + + // If connection handle is still valid then we need to provide a completion + // notification for the packet to the connection handle it was from. + if(justAllocdHandle != KInvalidConnectionHandle) + { + if (iCurrAckHandle == KErrNotFound) + { + // This is the first completion we have seen + iCurrAckHandle = justAllocdHandle; + } + ASSERT_DEBUG(iCurrAckHandle != KInvalidConnectionHandle); // just to be sure + + TBool ackNow = (justAllocdHandle != iCurrAckHandle); + + if (!ackNow) + { + iCurrCompletedPackets++; + LOG2(_L8("CHostMBufPool: CompletedPackets++ for conn: %d [->%d]"), justAllocdHandle, iCurrCompletedPackets); + ackNow = (iCurrCompletedPackets >= KStackACLBuffersTideMarkNum); + } + + if (ackNow) + { + TInt err = KErrNone; + + if (iCurrCompletedPackets > 0) + { + LOG2(_L8("CHostMBufPool: Sending HostNumberOfCompletedPackets for conn: %d [%d completed]"), iCurrAckHandle, iCurrCompletedPackets); + //Acknowledge the completed packets + TRAP(err, HostNumberOfCompletedPacketsL(iCurrAckHandle, iCurrCompletedPackets)); + //if this failed we probably couldn't alloc the memory for the command frame, + //the HC is still flowed off. + __ASSERT_DEBUG(err == KErrNone, Panic(ELinkMgrCouldNotSendHostNumberOfCompletedPackets)); + LEAVEIFERRORL(err); + } + + iCurrCompletedPackets = (justAllocdHandle != iCurrAckHandle) ? 1 : 0; + iCurrAckHandle = justAllocdHandle; + } + } + + TryToAllocQueuedBuffer(); + } + +void CHostMBufPool::TryToAllocQueuedBuffer() + { + LOG_FUNC + if (!iWaitingAllocPool.IsEmpty() && !IsActive()) + { + TPoolBuffer* needsAlloc = iWaitingAllocPool.First(); + iWaitingAllocPool.Remove(*needsAlloc); + AllocNewBuffer(*needsAlloc); + } + } + +void CHostMBufPool::AllocNewBuffer(TPoolBuffer& aBuffer) + { + LOG_FUNC + ASSERT_DEBUG(!iBufferBeingAllocd); + iBufferBeingAllocd = &aBuffer; + iMBufRequester.Alloc(aBuffer.iMBufChain, KLinkMgrIncomingBufferSize, iStatus); + SetActive(); + } + +void CHostMBufPool::HostNumberOfCompletedPacketsL(THCIConnHandle aConnH, TUint16 aNumPackets) + { + RArray connHandles; + connHandles.AppendL(aConnH); + CleanupClosePushL(connHandles); + + RArray numPackets; + numPackets.AppendL(aNumPackets); + CleanupClosePushL(numPackets); + + CHostNumberOfCompletedPacketsCommand* cmd = CHostNumberOfCompletedPacketsCommand::NewL(1, connHandles, numPackets); + // Ownership of the arrays is taken by the command object. + CleanupStack::Pop(2, &connHandles); // &numPackets, &connHandles + + // This is a priority command as we want to try to get this out as soon as possible (and not wait + // for all normal control aspects to be processed). This command shouldn't normally consume any credits + // so as a priority command it has little impact. + // Ownership of cmd transfered even if MhcqAddPriorityCommandL leaves + iCmdQ.MhcqAddPriorityCommandL(cmd, *this); + } + +void CHostMBufPool::MhcqcCommandEventReceived(const THCIEventBase& aEvent, const CHCICommandBase* /*aRelatedCommand*/) + { + LOG_FUNC + // We don't expect a non-error event back because we're only sending Host_Number_of_Completed_Packet commands + if(aEvent.EventCode() == ECommandCompleteEvent) + { + const THCICommandCompleteEvent& completeEvent = THCICommandCompleteEvent::Cast(aEvent); + if(completeEvent.CommandOpcode() == KHostNumberOfCompletedPacketsOpcode) + { + // a regular error for a Host_Number_Of_Completed_Packets command + TInt err = CHciUtil::SymbianErrorCode(completeEvent.ErrorCode()); + if(err != KErrNone) // we shouldn't get a non-erroring event back, but just in case + { + Error(err); + } + } + else // an unexpected command complete event + { + LOG1(_L8("CHostMBufPool: Unexpected HCI command complete event; opcode = 0x%04x"), completeEvent.CommandOpcode()); + DEBUG_PANIC_LINENUM; + } + } + else // some unexpected event + { + LOG1(_L8("CHostMBufPool: Unexpected HCI event received; code = 0x%02x"), aEvent.EventCode()); + DEBUG_PANIC_LINENUM; + } + } + +void CHostMBufPool::MhcqcCommandErrored(TInt aErrorCode, const CHCICommandBase* /*aCommand*/) + { + LOG_FUNC + Error(aErrorCode); + } + +TInt CHostMBufPool::RunError(TInt aError) + { + LOG_FUNC + if(iBufferBeingAllocd) + { + TPoolBuffer* justFailedToAlloc = iBufferBeingAllocd; + iBufferBeingAllocd = NULL; + // Add to wait for alloc queue - we may get another chance + iWaitingAllocPool.AddFirst(*justFailedToAlloc); + } + Error(aError); + return KErrNone; + } + +void CHostMBufPool::Error(TInt IF_FLOGGING(aError)) + { + LOG_FUNC + // So there has been some internal error when handling controller to host + // flow control. Tough, we've done our best for now - the only real thing + // that might be worth doing is a hard reset to start-up clean. + LOG1(_L8("CHostMBufPool: ERROR (%d) - inbound data to the stack may stall soon"), aError); + } + +#endif diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/hostmbufpool.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bluetooth/btstack/linkmgr/hostmbufpool.h Mon Jul 12 07:03:47 2010 +0300 @@ -0,0 +1,101 @@ +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: + + +#ifndef HOSTMBUFPOOL +#define HOSTMBUFPOOL + +#include +#include +#include +#include + +#ifdef HOSTCONTROLLER_TO_HOST_FLOW_CONTROL + +class MHCICommandQueue; + + +NONSHARABLE_CLASS(CHostMBufPool) + : public CActive + , private MHCICommandQueueClient + { + + NONSHARABLE_STRUCT(TPoolBuffer) + { + RMBufChain iMBufChain; + THCIConnHandle iCurrentHandle; + TSglQueLink iLink; + }; + +public: + static CHostMBufPool* NewL(MHCICommandQueue& aCommandQueue); + ~CHostMBufPool(); + + RMBufChain TakeBufferL(THCIConnHandle aConnHandle); + + void InvalidateByConnH(THCIConnHandle aConnHandle); + +private: + CHostMBufPool(MHCICommandQueue& aCommandQueue); + void ConstructL(); + + void DeletePool(TSglQue& aPool); + void DeleteBuffer(TPoolBuffer*& aBuffer); + void AllocNewBuffer(TPoolBuffer& aBuffer); + TPoolBuffer* CreatePoolBufferL(); + void HostNumberOfCompletedPacketsL(THCIConnHandle aConnH, TUint16 aNumPackets); + void TryToAllocQueuedBuffer(); + + inline void AddToBufferPool(TPoolBuffer& aBuffer); + inline void RemoveFromBufferPool(TPoolBuffer& aBuffer); + + void Error(TInt aError); + +private: // from CActive + void RunL(); + void DoCancel(); + TInt RunError(TInt aError); + +private: // from MHCICommandQueueClient + void MhcqcCommandEventReceived(const THCIEventBase& aEvent, const CHCICommandBase* aRelatedCommand); + void MhcqcCommandErrored(TInt aErrorCode, const CHCICommandBase* aCommand); + +private: + MHCICommandQueue& iCmdQ; + + TSglQue iBufferPool; + TSglQue iWaitingAllocPool; + TPoolBuffer* iBufferBeingAllocd; + + // We batch up completed packets notifications for a connection handle so that they are + // only sent every 'x' packets OR if we get a packet for a different connection handle. + TInt iCurrAckHandle; // current handle of packets being batched for completion + TUint iCurrCompletedPackets; // number of packets already completed for current handle + + RMBufAsyncRequest iMBufRequester; + }; + +inline void CHostMBufPool::AddToBufferPool(TPoolBuffer& aBuffer) + { + iBufferPool.AddLast(aBuffer); + } + +inline void CHostMBufPool::RemoveFromBufferPool(TPoolBuffer& aBuffer) + { + iBufferPool.Remove(aBuffer); + } + +#endif //HOSTCONTROLLER_TO_HOST_FLOW_CONTROL + +#endif // HOSTMBUFPOOL diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/hostresolver.h --- a/bluetooth/btstack/linkmgr/hostresolver.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/hostresolver.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 1999-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -24,6 +24,8 @@ #include #include #include +#include +#include // BT1.1: Could make these runtime configurable. diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/linkconsts.h --- a/bluetooth/btstack/linkmgr/linkconsts.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/linkconsts.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -69,7 +69,7 @@ // Physical Link Config // -const TUint16 KLinkMgrIncomingBufferSize = 672; //L2Cap Default MTU +const TUint16 KStackACLBuffersSize = 1021; // size of 3DH-5 (largest packet size) const TUint16 KStackACLBuffersNum = 16; const TUint16 KStackACLBuffersTideMarkNum = 8; @@ -81,6 +81,9 @@ const TUint16 KStackSCOBuffersNum = 0; #endif +const TUint16 KLinkMgrIncomingBufferHeaderSize = 1; // header is just the ACL flags +const TUint16 KLinkMgrIncomingBufferSize = KStackACLBuffersSize + KLinkMgrIncomingBufferHeaderSize; + static const THCIScanEnable KHCIDefaultScanMode = EInquiryAndPageScan; static const TUint16 KHCIDefaultAcceptTimeout = 0x1FA0; // time=n*0.625ms diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/linkmgr.cpp --- a/bluetooth/btstack/linkmgr/linkmgr.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/linkmgr.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -652,8 +652,8 @@ void CLinkMgrProtocol::ExternalOpenInit() { LOG_FUNC - TRAP_IGNORE(iLocalNamePublisher = CEirPublisherLocalName::NewL()); - TRAP_IGNORE(iTxPowerLevelPublisher = CEirPublisherTxPowerLevel::NewL()); + TRAP_IGNORE(iLocalNamePublisher = CEirPublisherLocalName::NewL(*iEirManServer)); + TRAP_IGNORE(iTxPowerLevelPublisher = CEirPublisherTxPowerLevel::NewL(*iEirManServer)); if(iLocalNamePublisher) { // Publish the initial name. diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/linkmgr.h --- a/bluetooth/btstack/linkmgr/linkmgr.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/linkmgr.h Mon Jul 12 07:03:47 2010 +0300 @@ -128,14 +128,17 @@ void Error(TInt anError,CProtocolBase* aSourceProtocol=NULL); +public: // from CProtocolBase + // Ref Counting + void Close(); + void Open(); + private: // From CProtocolBase // Factories CHostResolvProvdBase* NewHostResolverL(); CServProviderBase* NewSAPL(TUint aSockType); // Ref Counting - void Close(); - void Open(); void CloseNow(); // Others diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/linkmuxer.cpp --- a/bluetooth/btstack/linkmgr/linkmuxer.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/linkmuxer.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 1999-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -68,7 +68,10 @@ } CLinkMuxer::CLinkMuxer(CLinkMgrProtocol& aLinkMgrProtocol, CHCIFacade& aHCIFacade) - : iHCIFacade(aHCIFacade), iChannelsFree(KHCITransportNoChannels), iLinkMgrProtocol(aLinkMgrProtocol) + : iHCIFacade(aHCIFacade) + , iChannelsFree(KHCITransportNoChannels) + , iFlowControlMode(EFlowControlToHostControllerOnly) // by design flow control to the controller is always used + , iLinkMgrProtocol(aLinkMgrProtocol) /** We expect the transport to notify us when the transport channels are ready **/ @@ -189,56 +192,61 @@ } #endif +void CLinkMuxer::ResetFlowControlMode() + { + LOG_FUNC + iFlowControlMode = EFlowControlToHostControllerOnly; + iCtrlerToHostSet = EFalse; + } + void CLinkMuxer::RecordHostControllerToHostFlowControl(TBool aFlowFlag) /** - Called when HCIFacade receives a Command Complete event to the SetHostControllerToHostFlowControl command - @param aFlowFlag - true is command succeeded, false otherwise - + Called when HCIFacade successfully configures some level of controller to host + flow control + @param aFlowFlag - true if flow control set-up succeeded, false otherwise **/ - { + { LOG_FUNC - // check our current mode - switch (iFlowControlMode) - { - case ENoFlowControl: - { -#ifdef _DEBUG - if(aFlowFlag) - {iFlowControlMode=EFlowControlFromHostControllerOnly;} -#else - Panic(ELinkMgrNoFlowControlSetInReleaseBuild); -#endif - break; - } - case EFlowControlToHostControllerOnly: - { - if(aFlowFlag) - {iFlowControlMode=ETwoWayFlowControlEnabled;} - break; - } - case EFlowControlFromHostControllerOnly: - { -#ifdef _DEBUG - if(aFlowFlag==EFalse) - {iFlowControlMode=ENoFlowControl;} -#else - Panic(ELinkMgrNoFlowControlSetInReleaseBuild); -#endif - break; - } - case ETwoWayFlowControlEnabled: - { - if(aFlowFlag==EFalse) - { - // tried to do two-way but the HC can't to HC->H FC - iFlowControlMode=EFlowControlToHostControllerOnly; - } - break; - } - default: - Panic(ELinkMgrNoSuchFlowControlMode); - } //switch - } + + __ASSERT_DEBUG(!iCtrlerToHostSet, Panic(ELinkMgrFlowControlUnexpectedUpdate)); + + switch (iFlowControlMode) + { + case EFlowControlToHostControllerOnly: + if(aFlowFlag) + { + // Success! We're using using two way flow control + iFlowControlMode = ETwoWayFlowControlEnabled; + } + else + { + // Fail! we only allow one shot to set this up on initialisation + // so inform the data controller that any reserved memory can be + // be released. + iDataController->NoExplicitInboundPoolNeeded(); + } + break; + + case ETwoWayFlowControlEnabled: + // We shouldn't get this twice (we only have one shot of setting it up + // and to reach this point we've been in this function once before). + break; + + case EFlowControlFromHostControllerOnly: + // fall-through + case ENoFlowControl: + Panic(ELinkMgrNoFlowControlSetInReleaseBuild); + break; + + default: + Panic(ELinkMgrNoSuchFlowControlMode); + break; + } + + iCtrlerToHostSet = ETrue; + } + + CACLDataQController* CLinkMuxer::HandleLocalReadBufferSizeResult( diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/linkmuxer.h --- a/bluetooth/btstack/linkmgr/linkmuxer.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/linkmuxer.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -31,7 +31,7 @@ class CHCICmdQController; /** - Regulates the issuing of buffers send down the same channel. + Regulates the issuing of buffers sent down the same channel. The mux decides and notifies the appropriate Q to send data when the wire is free. The mux will need to be fed with 'the wire is free' events and @@ -43,17 +43,22 @@ { public: static CLinkMuxer* NewL(CLinkMgrProtocol& aLinkMgrProtocol, CHCIFacade& aHCIFacade); - void ObtainHostControllerBufferSizeL(); + void RecordHostControllerToHostFlowControl(TBool aFlowFlag); - CACLDataQController* HandleLocalReadBufferSizeResult(TUint16 aAclMaxLen, - TUint8 /*aScoMaxLen*/,TUint16 aNoACL,TUint16 /*aNoSCO*/); + CACLDataQController* HandleLocalReadBufferSizeResult(TUint16 aAclMaxLen, TUint8 /*aScoMaxLen*/, + TUint16 aNoACL, TUint16 /*aNoSCO*/); TInt ACLPacketMTU() const; - CACLDataQController& DataQController() const {return *iDataController;}; + CACLDataQController& DataQController() const {return *iDataController;} + void ChannelsFree(THCITransportChannel aChannel); // notification of free channels void ChannelsClosed(THCITransportChannel aChannel); // notification of closed channels - static TInt TryToSendCallBackStatic(TAny* aCLinkMuxer); + void TryToSend(); // request to send on certain channels + + TFlowControlMode FlowControlMode() const {return iFlowControlMode;} + void ResetFlowControlMode(); + #ifdef STACK_SCO_DATA TBool CanWriteSCOData(); #endif @@ -65,6 +70,8 @@ void ConstructL(); CLinkMuxer(CLinkMgrProtocol& aLinkMgrProtocol, CHCIFacade& aHCIFacade); void DoSend(/*THCITransportChannel aChannel*/); // request to send on certain channels + static TInt TryToSendCallBackStatic(TAny* aCLinkMuxer); + private: // owned resources CHCICmdQController* iCommandController; @@ -73,7 +80,8 @@ // non-owned resources CHCIFacade& iHCIFacade; THCITransportChannel iChannelsFree; - TFlowControlMode iFlowControlMode; + TFlowControlMode iFlowControlMode; + TBool iCtrlerToHostSet; CLinkMgrProtocol& iLinkMgrProtocol; TInt iACLPacketMTU; }; diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/linkutil.h --- a/bluetooth/btstack/linkmgr/linkutil.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/linkutil.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -185,11 +185,14 @@ EBTSSPModeChangedDuringConnection =209, EHCICtrlrInitAddingInitialisationCommandInBadState =210, EHCICtrlrInitOnlyOneResetCmdAllowed =211, + EInvalidDisconnectReason =212, //Please add new panic codes common to all versions of linkmgr here. EVendorSAPBadVendorEvent =250, EBTACLSAPIndeterminateInitiator =251, EBTACLSAPUnexpectedSecurityResult =252, + ELinkMgrFlowControlUnexpectedUpdate =253, + ELinkMgrFlowControlChangeOfMind =254, }; /** diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/physicallinks.cpp --- a/bluetooth/btstack/linkmgr/physicallinks.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/physicallinks.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -145,6 +145,7 @@ delete iPhysicalLinkMetrics; delete iPinRequester; delete iNumericComparator; + delete iUserConfirmer; delete iPasskeyEntry; delete iArbitrationDelay; delete iRoleSwitchCompleteCallBack; @@ -556,6 +557,10 @@ { iDevice.SetClockOffset(jle.iClockOffset); } + if(juice->IsCoDFromHCI()) + { + iDevice.SetDeviceClass(jle.iCoD); + } } void CPhysicalLink::StoreDeviceL( TBool aPreventDeviceAddition ) @@ -923,7 +928,12 @@ void CPhysicalLink::ConnectionComplete(THCIErrorCode aErr, const TBTConnect& aConn) { LOG_FUNC - if (aErr == KErrNone) + ConnectionComplete(CHciUtil::SymbianErrorCode(aErr), aConn); + } + +void CPhysicalLink::ConnectionComplete(TInt aResult, const TBTConnect& aConn) + { + if (aResult == KErrNone) { if(aConn.iLinkType == ESCOLink && !iSyncLogicalLink) { @@ -932,12 +942,9 @@ //a remote device to respond to a connection request. iLinksMan.Baseband().UpdateModelForConnectionError(aConn.iBdaddr, aConn.iLinkType); - if(aErr==EOK) // if error, aConn.iConnH will refer to the ACL link used to initialise the SCO link, so dont disconnect that - { - //The baseband might actually have established a SCO link, so send a Disconnect. - //If no SCO link exists the command will fail gracefully. - TRAP_IGNORE(iLinksMan.HCIFacade().DisconnectL(aConn.iConnH, ERemoteUserEndedConnection)); - } + //The baseband might actually have established a SCO link, so send a Disconnect. + //If no SCO link exists the command will fail gracefully. + TRAP_IGNORE(iLinksMan.HCIFacade().DisconnectL(aConn.iConnH, ERemoteUserEndedConnection)); return; } @@ -985,7 +992,7 @@ if (aConn.iEncryptMode) { // pretend there's been an encryption event - EncryptionChange(aErr, aConn.iConnH, aConn.iEncryptMode); + EncryptionChange(EOK, aConn.iConnH, aConn.iEncryptMode); } } @@ -1057,13 +1064,13 @@ } iLinksMan.Baseband().UpdateModelForConnectionError(aConn.iBdaddr, aConn.iLinkType); - NotifyLogicalLinkError(aConn.iLinkType, CHciUtil::SymbianErrorCode(aErr)); + NotifyLogicalLinkError(aConn.iLinkType, aResult); if (aConn.iLinkType == EACLLink) { // BT 1.2 says that as the ACL Link goes up and down, so does the physical link // so if the ACL Link has gone, so has this // for SCO we remain in place. - TBTBasebandEventNotification event(ENotifyPhysicalLinkError, CHciUtil::SymbianErrorCode(aErr)); + TBTBasebandEventNotification event(ENotifyPhysicalLinkError, aResult); NotifyStateChange(event); delete this; } @@ -1696,73 +1703,60 @@ { LOG_FUNC if (!IsConnected()) + { + LOG(_L8("Physical link not connected, no arbitration executed")); return KErrDisconnected; - - if ( aImmediately ) - { - iArbitrationDelay->Cancel(); - return DoArbitrate(aLocalPriority); } - else if (iArbitrationDelay->IsActive()) - { - return KErrNone; - } - else - { - iArbitrationDelay->Start(aLocalPriority); - return KErrNone; - } + // The arbitration delay object will decide how much delay + return iArbitrationDelay->Start(aImmediately, aLocalPriority); } TInt CPhysicalLink::DoArbitrate(TBool aLocalPriority) { + LOG_FUNC if (!IsConnected()) { + LOG(_L8("Physical link not connected, no arbitration executed")); return KErrDisconnected; } //start arbitrate process with what our local controller supports TUint8 allowedModesMask = EHoldMode | EParkMode | ESniffMode; // local features sorted out later - TBool roleSwitchAllowed = EFalse; - - if (iLinksMan.LinkManagerProtocol().IsRoleSwitchSupportedLocally() && iLinksMan.RoleSwitchAllowed()) - { - roleSwitchAllowed = ETrue; - } - + TBool roleSwitchAllowed = iLinksMan.LinkManagerProtocol().IsRoleSwitchSupportedLocally() && iLinksMan.RoleSwitchAllowed(); + LOG2(_L8("Arbitration: link policy (LPM:0x%02x, Role:0x%x) - Prior to proxies"), allowedModesMask, roleSwitchAllowed); + // ask proxies what they want from the PHY - TUint8 requestedModeMask = 0; - TUint8 requestedMode = 0; - TBool activeModeIsRequested = EFalse; + TUint16 requestedModeMask = 0; // mask of current LPM requests from proxy's + static const TUint16 KExplicitActiveMode = 0x0100; // special bit for explicit active mode requests + TSglQueIter iter(iProxySAPs); while (iter) { CBTProxySAP* proxy = iter++; - requestedMode = proxy->GetRequestedModes(); - requestedModeMask |= requestedMode; - - if (requestedMode == EActiveMode && proxy->RequestedActiveMode()) - { - // An Active Mode request will override all other local low power mode requests - // but continue to collect the requirement from the other proxies.. - activeModeIsRequested = ETrue; - } - - allowedModesMask &= proxy->GetAllowedModes(); - roleSwitchAllowed &= proxy->IsRoleSwitchAllowed(); + TUint8 requestedMode = proxy->GetRequestedModes(); + requestedModeMask |= requestedMode; + + TBool explicitActiveModeRequest = proxy->RequestedActiveMode(); + if (requestedMode == EActiveMode && explicitActiveModeRequest) + { + requestedModeMask |= KExplicitActiveMode; + } + + TUint8 allowedModes = proxy->GetAllowedModes(); + allowedModesMask &= allowedModes; + + TBool roleSwitchAllowedByProxy = proxy->IsRoleSwitchAllowed(); + roleSwitchAllowed = roleSwitchAllowed && roleSwitchAllowedByProxy; + + LOG4(_L8("Arbitration: Proxy(0x%08x) - requested mode = 0x%04x, link policy (LPM:0x%02x, Role:0x%x)"), proxy, requestedMode, allowedModes, roleSwitchAllowedByProxy); } - - if (activeModeIsRequested) - { - // Any Active Mode request will override all other low power mode requests, - // so overwrite the requestedModeMask but keep allowedModesMask and roleSwitchAllowed - // as specified by all the local proxies - requestedModeMask = EActiveMode; - } + LOG2(_L8("Arbitration: link policy (LPM:0x%02x, Role:0x%x) - after proxies"), allowedModesMask, roleSwitchAllowed); // clear out modes not supported by local Controller + // Future improvement - what about modes supported by the remote device? allowedModesMask &= iLinksMan.LinkManagerProtocol().ModesSupportedLocally(); + LOG2(_L8("Arbitration: link policy (LPM:0x%02x, Role:0x%x) - only supported modes"), allowedModesMask, roleSwitchAllowed); if(iOverrideParkRequests) { @@ -1770,13 +1764,11 @@ // The only way to guarantee this is to disallow PARK via the link policy settings. allowedModesMask &= ~EParkMode; } - - if(allowedModesMask != iLinkPolicy.LowPowerModePolicy() - || roleSwitchAllowed != iLinkPolicy.IsSwitchAllowed()) - { - // Controller policy for the connection needs updating - SetModesAllowed(allowedModesMask, roleSwitchAllowed); - } + LOG2(_L8("Arbitration: link policy (LPM:0x%02x, Role:0x%x) - overrides applied"), allowedModesMask, roleSwitchAllowed); + + // Controller policy for the connection may need updating + SetModesAllowed(allowedModesMask, roleSwitchAllowed); + LOG2(_L8("Arbitration: link policy (LPM:0x%02x, Role:0x%x) - submitted"), allowedModesMask, roleSwitchAllowed); //If OverrideLPM flag is set, we do not disable LP modes via the link policy settings //This is done because OverrideLPM should not prevent remotes putting us into an LPM @@ -1786,9 +1778,11 @@ // We need to ensure the physical link is in active mode. allowedModesMask = EActiveMode; } - - TUint8 modeChangeMask = static_cast(requestedModeMask & allowedModesMask); - TUint8 modeCompareMask = 0; + LOG2(_L8("Arbitration: link policy (LPM:0x%02x, Role:0x%x) - post setting overrides applied"), allowedModesMask, roleSwitchAllowed); + + TUint16 modeChangeMask = requestedModeMask & (static_cast(allowedModesMask)|KExplicitActiveMode); + TUint16 modeCompareMask = 0; + LOG2(_L8("Arbitration: mode change mask = 0x%04x, local priority = 0x%x"), modeChangeMask, aLocalPriority); if(aLocalPriority) { @@ -1805,57 +1799,89 @@ // modeCompareMask should start only having zero bits where // requestedModeMask has a zero bit and iPreviousRequestedModeMask does not // i.e. a mode is newly no longer requested. - modeCompareMask = requestedModeMask | ~iPreviousRequestedModeMask; + modeCompareMask = ~((requestedModeMask ^ iPreviousRequestedModeMask) & iPreviousRequestedModeMask); // Remove bits from modeCompareMask that are not in allowedModesMask // We cannot stay in a power mode that we do not allow. - modeCompareMask &= allowedModesMask; + modeCompareMask &= (static_cast(allowedModesMask)|KExplicitActiveMode); } + LOG1(_L8("Arbitration: Comparison mask = 0x%04x"), modeCompareMask); iPreviousRequestedModeMask = requestedModeMask; // Update previous requested to current value. - TUint8 currentModeMask = static_cast(iLinkState.LinkMode()); + // get the current mode. + TBTLinkMode currentMode = iLinkState.LinkMode(); + TUint16 currentModeMask = static_cast(currentMode); + if(currentModeMask == EActiveMode) + { + // if in active mode then could have been because of an explicit active mode request + currentModeMask |= KExplicitActiveMode; + } + LOG1(_L8("Arbitration: Current mode mask = 0x%04x"), currentModeMask); + if(modeCompareMask & currentModeMask) { + LOG2(_L8("Arbitration: Comparison mask (0x%04x) matched, so staying in current mode (0x%04x)"), modeCompareMask, currentModeMask); // The current state is the same as the permitted required role(s). return KErrNone; } - - if(modeChangeMask == EActiveMode && currentModeMask != EActiveMode) + + TBTLinkMode nextMode = EActiveMode; + // Determine which LPM we should be in (if any) + if(modeChangeMask & KExplicitActiveMode) { - // The current low power mode should be exited. - return RequestActive(); + nextMode = EActiveMode; } - - if(modeChangeMask != EActiveMode) + else if(modeChangeMask & EHoldMode) + { + nextMode = EHoldMode; + } + else if(modeChangeMask & ESniffMode) { - if(currentModeMask != EActiveMode) + nextMode = ESniffMode; + } + else if(modeChangeMask & EParkMode) + { + nextMode = EParkMode; + } + LOG2(_L8("Arbitration: Arbitrating mode 0x%02x -> 0x%02x"), currentMode, nextMode); + + if(nextMode != currentMode) + { + if(currentMode != EActiveMode) { - // The system is currently in a low power mode. Exit this before - // entering the new mode. - TInt rerr = RequestActive(); - if(rerr != KErrNone) + LOG(_L8("Arbitration: Exiting existing LPM mode...")); + TInt err = RequestActive(); + if(err != KErrNone) { - return rerr; + return err; } } - - if(modeChangeMask & EHoldMode) + if(nextMode == EHoldMode) { + LOG(_L8("Arbitration: Entering Hold mode...")); return RequestHold(); } - if(modeChangeMask & ESniffMode) + else if(nextMode == ESniffMode) { + LOG(_L8("Arbitration: Entering Sniff mode...")); return RequestSniff(); } - if(modeChangeMask & EParkMode) + else if(nextMode == EParkMode) { + LOG(_L8("Arbitration: Entering Park mode...")); return RequestPark(); } + else if(nextMode == EActiveMode) + { + LOG(_L8("Arbitration: Staying in Active mode...")); + return KErrNone; + } + // Shouldn't reach here, we have a strange mode + DEBUG_PANIC_LINENUM; } - // This point in the code is reached if the Link Policy settings are - // changed but the mode is not. Return OK error code. + LOG(_L8("Arbitration: Already in correct LPM, not doing anything")); return KErrNone; } @@ -1876,10 +1902,10 @@ void CPhysicalLink::StartArbitrationTimer() const { LOG_FUNC - iArbitrationDelay->Start(); + iArbitrationDelay->Restart(); } -TInt CPhysicalLink::Connect(TBasebandPageTimePolicy aPolicy) +void CPhysicalLink::Connect(TBasebandPageTimePolicy aPolicy) { LOG_FUNC // assume that we will be master until told otherwise @@ -1898,16 +1924,20 @@ // optimise paging (as a best-effort attempt). TBasebandTime pagetimeout = CalculatePageTimeout(aPolicy, psrm, clockOffset & KHCIClockOffsetValidBit); iLinksMan.TryToChangePageTimeout(pagetimeout); + + // Set state in anticipation of the connection + iLinkState.SetLinkState(TBTBasebandLinkState::ELinkPending); + iLinksMan.Baseband().UpdateModel(iDevice.Address(), pkt, EACLLink); + iLinkState.SetLinkRole(EMaster); TRAPD(ret, iLinksMan.HCIFacade().ConnectL(iDevice.Address(), pkt, psrm, psm, clockOffset, allowRoleSwitch)); - if(ret==KErrNone) + if(ret != KErrNone) // a physical link is in charge of it's own destiny. { - iLinkState.SetLinkState(TBTBasebandLinkState::ELinkPending); - iLinksMan.Baseband().UpdateModel(iDevice.Address(), pkt, EACLLink); - iLinkState.SetLinkRole(EMaster); + TBTConnect conn; + conn.iBdaddr = BDAddr(); + conn.iLinkType = EACLLink; + ConnectionComplete(ret, conn); } - - return ret; } TInt CPhysicalLink::SCOConnect() @@ -2260,7 +2290,7 @@ (aEvent.EventType() & ENotifyHoldMode)) && (aEvent.ErrorCode() == KErrNone)) { - iArbitrationDelay->Start(); + iArbitrationDelay->Restart(); } } @@ -2302,6 +2332,14 @@ LOG_FUNC TInt err = KErrNone; + __ASSERT_DEBUG(aReason == EAuthenticationFailure + || aReason == ERemoteUserEndedConnection + || aReason == ERemoteLowResources + || aReason == ERemoteAboutToPowerOff + || aReason == EUnsupportedRemoteLMPFeature + || aReason == EPairingWithUnitKeyNotSupported, + Panic (EInvalidDisconnectReason)); // Check the error code is valid with the spec + if (iLinkState.LinkState() == TBTBasebandLinkState::ELinkPending) { // If the Link is not yet up then we cannot know the correct connection handle @@ -2821,11 +2859,12 @@ } TBTPinCode pinCode; - if(iLinksMan.PrefetchMan().IsPrefetchAvailable(aAddr, pinCode)) - { - aRequester.PINCodeRequestReply(aAddr, pinCode); - return; - } + if(iLinksMan.PrefetchMan().GetPrefetch(aAddr, pinCode)) + { + iLinksMan.PrefetchMan().RemovePrefetch(aAddr); + aRequester.PINCodeRequestReply(aAddr, pinCode); + return; + } iPinHandler = &aRequester; @@ -2897,6 +2936,13 @@ return iAuthStateMask & ELinkKeyRequestPending; } +TBool CPhysicalLink::IsAuthenticationRequestPending() const + { + LOG_FUNC + return iAuthStateMask & EAuthenticationRequestPending; + } + + void CPhysicalLink::SetAuthenticationPending(TUint8 aState) { LOG_FUNC @@ -3358,17 +3404,18 @@ // CArbitrationDelayTimer CArbitrationDelayTimer::CArbitrationDelayTimer(CPhysicalLink* aParent) - :CTimer(CActive::EPriorityStandard), - iParent(aParent) + : CTimer(CActive::EPriorityStandard) + , iParent(aParent) { LOG_FUNC + ASSERT_DEBUG(iParent); + CActiveScheduler::Add(this); } void CArbitrationDelayTimer::ConstructL() { LOG_FUNC CTimer::ConstructL(); - CActiveScheduler::Add(this); } CArbitrationDelayTimer* CArbitrationDelayTimer::NewL(CPhysicalLink* aParent) @@ -3381,16 +3428,46 @@ return self; } -void CArbitrationDelayTimer::Start(TBool aLocalPriority) +TInt CArbitrationDelayTimer::Start(TBool aImmediate, TBool aLocalPriority) { LOG_FUNC // Work out what the local priority will be now - TBool localPriority = iLocalPriority || aLocalPriority; - Cancel(); // cancel current timer (will also reset priority so ... - iLocalPriority = localPriority; // set the new priority) + iLocalPriority = iLocalPriority || aLocalPriority; + LOG1(_L8("Arbitraion: Local Priority now %d"), iLocalPriority); + if(aImmediate) + { + LOG(_L8("Arbitraion: Immediate Arbitration Requested...")); + CancelButPreserveLocalPriority(); + return DoArbitrate(); + } + else if(!IsActive()) + { + LOG(_L8("Arbitraion: Arbitration requested, will execute after delay timer...")); + After(KBTArbitrationDelay); + } + else // timer is already on its way + { + LOG(_L8("Arbitraion: Arbitration delay timer still pending...")); + } + return KErrNone; + } + +void CArbitrationDelayTimer::Restart() + { + LOG_FUNC + LOG(_L8("Arbitraion: Arbitration timer restarted...")); + CancelButPreserveLocalPriority(); After(KBTArbitrationDelay); } +void CArbitrationDelayTimer::CancelButPreserveLocalPriority() + { + LOG_FUNC + TBool localPriority = iLocalPriority; + Cancel(); + iLocalPriority = localPriority; + } + void CArbitrationDelayTimer::RunL() /** @@ -3398,10 +3475,16 @@ **/ { LOG_FUNC - if (iParent) - { - iParent->DoArbitrate(iLocalPriority); - } + LOG(_L8("Arbitraion: Delayed Arbitration executing...")); + static_cast(DoArbitrate()); // ignore the error (always has been...) + } + +TInt CArbitrationDelayTimer::DoArbitrate() + { + LOG_FUNC + TBool localPriority = iLocalPriority; + iLocalPriority = EFalse; + return iParent->DoArbitrate(localPriority); } void CArbitrationDelayTimer::DoCancel() diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/physicallinks.h --- a/bluetooth/btstack/linkmgr/physicallinks.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/physicallinks.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -70,17 +70,20 @@ { public: static CArbitrationDelayTimer* NewL(CPhysicalLink* aParent); - void Start(TBool aLocalPriority=EFalse); - + TInt Start(TBool aImmediate, TBool aLocalPriority); + void Restart(); + private: CArbitrationDelayTimer(CPhysicalLink* aParent); void ConstructL(); void RunL(); - void DoCancel(); - + void DoCancel(); + TInt DoArbitrate(); + void CancelButPreserveLocalPriority(); + private: - CPhysicalLink* iParent; - TBool iLocalPriority; + CPhysicalLink* iParent; + TBool iLocalPriority; }; @@ -296,15 +299,14 @@ inline TBTBasebandRole Role() const; void SetDeviceNamePending(TBool aBool); TInt GetOption(TUint aLevel,TUint aName,TDes8& aOption) const; - TInt Connect(TBasebandPageTimePolicy aPolicy=EPagingNormal); + void Connect(TBasebandPageTimePolicy aPolicy=EPagingNormal); TInt SCOConnect(); TInt SCOConnect(const TUint16 aUserHVPacketTypes); TInt SynchronousConnect(TUint aTransmitBandwidth, TUint aReceiveBandwidth, TUint16 aMaxLatency, TUint16 aVoiceSettings, TUint8 aRetransmissionEffort, const TBTSyncPacketTypes aUserPacketTypes); - TInt PassiveOpen(); - TInt Arbitrate(TBool aImmediately=EFalse, TBool aLocalPriority=EFalse); - TInt DoArbitrate(TBool aLocalPriority); + TInt Arbitrate(TBool aImmediately=EFalse, TBool aLocalPriority=EFalse); + TInt DoArbitrate(TBool aLocalPriority); void SetPassKey(const TDesC8& aPassKey); const TBTPinCode& PassKey() const; @@ -374,11 +376,16 @@ virtual void RoleChange(THCIErrorCode aErr, const TBTDevAddr& aAddr, TBTBasebandRole aRole); virtual void ClockOffset(THCIErrorCode aErr, THCIConnHandle aConnH, TBasebandTime aClockOffset); virtual void RemoteName(THCIErrorCode aErr, const TBTDevAddr& aAddr, const TBTDeviceName8& aName); + + void ConnectionComplete(TInt aResult, const TBTConnect& aConn); TBool LinkKeyRequestPending(); void SetAuthenticationPending(TUint8 aFlag); virtual void AuthenticationComplete(TUint8 aFlag); + TBool IsAuthenticationRequestPending() const; + + static TInt OverrideLPMTimeoutCallback(TAny* aCPhysicalLink);// async callback static TInt TerminateCallback(TAny* aCPhysicalLink);// async callback TInt Terminate(THCIErrorCode aReason); @@ -550,7 +557,7 @@ TDeltaTimerEntry iOverrideLPMTimerEntry; TLinkPolicy iLinkPolicy; - TUint8 iPreviousRequestedModeMask; + TUint16 iPreviousRequestedModeMask; TBool iOverrideParkRequests; //for maybe temporary unpark TBool iOverrideLPMRequests; //for maybe temporary force active TBool iLPMOverrideTimerQueued; diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/physicallinksmanager.cpp --- a/bluetooth/btstack/linkmgr/physicallinksmanager.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/physicallinksmanager.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -316,7 +316,7 @@ iTerminatingProxy=aProxySAP; } -TInt CPhysicalLinksManager::TerminateAllPhysicalLinks(CBTProxySAP* aProxySAP) +TInt CPhysicalLinksManager::TerminateAllPhysicalLinks(CBTProxySAP* aProxySAP, THCIErrorCode aErrorCode) { TInt count=iPhysicalLinks.Count(); TInt retVal = (count==0) ? KErrNotFound : KErrNone; @@ -325,7 +325,7 @@ { // If any one of the physical links return an error then this // function needs to return an error. - TInt err = iPhysicalLinks[i]->Terminate(ERemoteUserEndedConnection); + TInt err = iPhysicalLinks[i]->Terminate(aErrorCode); if (err != KErrNone) { retVal=err; @@ -1309,16 +1309,30 @@ return KErrNone; } -TBool CBluetoothPrefetchManager::IsPrefetchAvailable(const TBTDevAddr& aAddr, TBTPinCode& aPinCode) + +TInt CBluetoothPrefetchManager::IsPrefetchAvailable(const TBTDevAddr& aAddr) const + { + return iPrefetchedPins.Find(aAddr, CompareAddressInStore); + } + +TBool CBluetoothPrefetchManager::GetPrefetch(const TBTDevAddr& aAddr, TBTPinCode& aPinCode) const + { + TInt ix = IsPrefetchAvailable(aAddr); + if (ix >= 0) + { + aPinCode.Copy(iPrefetchedPins[ix].iPin); + return ETrue; + } + return EFalse; + } + +void CBluetoothPrefetchManager::RemovePrefetch(const TBTDevAddr& aAddr) { - TInt ix = iPrefetchedPins.Find(aAddr, CompareAddressInStore); - if (ix < 0) + TInt ix = IsPrefetchAvailable(aAddr); + if (ix >= 0) { - return EFalse; + iPrefetchedPins.Remove(ix); } - aPinCode.Copy(iPrefetchedPins[ix].iPin); - iPrefetchedPins.Remove(ix); - return ETrue; } TInt CBluetoothPrefetchManager::PINCodeRequestReply(const TBTDevAddr& aDevAddr, const TDesC8& aPin) const diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/linkmgr/physicallinksmanager.h --- a/bluetooth/btstack/linkmgr/physicallinksmanager.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/linkmgr/physicallinksmanager.h Mon Jul 12 07:03:47 2010 +0300 @@ -75,7 +75,8 @@ TInt HandleOverPinRequester(const TBTDevAddr& aAddr, CBTPinRequester* aPinRequester); TInt RegisterForPrefetching(const TBTDevAddr& aAddr, MBluetoothPrefetchNotifier& aNotifier); - TBool IsPrefetchAvailable(const TBTDevAddr& aAddr, TBTPinCode& aPinCode); + TBool GetPrefetch(const TBTDevAddr& aAddr, TBTPinCode& aPinCode) const; + void RemovePrefetch(const TBTDevAddr& aAddr); private: NONSHARABLE_CLASS(RPinRequest) @@ -105,6 +106,8 @@ static TBool CompareAddressInRequest(const TBTDevAddr* aDevAddr, const RPinRequest& aRequest); static TBool CompareAddressInStore(const TBTDevAddr* aDevAddr, const TPrefetchedPin& aRequest); + + TInt IsPrefetchAvailable(const TBTDevAddr& aAddr) const; private: // from MPINCodeResponseHandler TInt PINCodeRequestReply(const TBTDevAddr& aDevAddr, const TDesC8& aPin) const; @@ -144,7 +147,7 @@ TInt AddListener(MLogicalLink& aLogicalLink, TPhysicalLinkPort aPort); void RemoveListener(MLogicalLink& aLogicalLink); void ClearTerminatingProxy(CBTProxySAP* aProxySAP); - TInt TerminateAllPhysicalLinks(CBTProxySAP* aProxySAP); + TInt TerminateAllPhysicalLinks(CBTProxySAP* aProxySAP, THCIErrorCode aErrorCode); TInt TerminatePhysicalLink(CPhysicalLink* aConnection, CBTProxySAP* aProxySAP); void FatalError(TInt aErr); diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/rfcomm/rfcommflow.cpp --- a/bluetooth/btstack/rfcomm/rfcommflow.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/rfcomm/rfcommflow.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -107,9 +107,9 @@ **/ { LOG_FUNC - __ASSERT_DEBUG(aSAP.NegotiatedMTU(), Panic(ERfcommBadCalculatedMTU)); + __ASSERT_DEBUG(aSAP.OptimalMTUForSending(), Panic(ERfcommBadCalculatedMTU)); - return aSAP.NegotiatedMTU(); + return aSAP.OptimalMTUForSending(); } TBool TRfcommFlowStrategyInitial::AllowWrite(CRfcommSAP& /*aSAP*/) @@ -372,10 +372,10 @@ **/ { LOG_FUNC - __ASSERT_DEBUG(aSAP.NegotiatedMTU(), Panic(ERfcommBadCalculatedMTU)); + __ASSERT_DEBUG(aSAP.OptimalMTUForSending(), Panic(ERfcommBadCalculatedMTU)); //Allow for possible credit in header. - return (STATIC_CAST(TUint16, (aSAP.NegotiatedMTU() - (aCredit?1:0)))); + return (STATIC_CAST(TUint16, (aSAP.OptimalMTUForSending() - (aCredit?1:0)))); } TBool TRfcommFlowStrategyCreditBased::AllowWrite(CRfcommSAP& aSAP) diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/rfcomm/rfcommmuxchannel.cpp --- a/bluetooth/btstack/rfcomm/rfcommmuxchannel.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/rfcomm/rfcommmuxchannel.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -210,6 +210,11 @@ { return EFalse; } + +TBool TMuxChannelState::IsErrored(CRfcommMuxChannel& /*aContext*/) + { + return EFalse; + } void TMuxChannelState::UA(CRfcommMuxChannel& /*aContext*/) /** @@ -463,6 +468,11 @@ return EFalse; } +TBool TMuxChannelStateError::IsErrored(CRfcommMuxChannel& /*aContext*/) + { + return ETrue; + } + /* Connected. Super state for several states */ diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/rfcomm/rfcommmuxchannel.h --- a/bluetooth/btstack/rfcomm/rfcommmuxchannel.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/rfcomm/rfcommmuxchannel.h Mon Jul 12 07:03:47 2010 +0300 @@ -89,6 +89,7 @@ void Open(); void Close(); TBool IsOpen(); + TBool IsErrored(); TInt MaxDataSize(); // Rfcomm events @@ -142,6 +143,7 @@ virtual void Open(CRfcommMuxChannel& aContext); virtual void Close(CRfcommMuxChannel& aContext); virtual TBool IsOpen(CRfcommMuxChannel& aContext); + virtual TBool IsErrored(CRfcommMuxChannel& aContext); virtual void UA(CRfcommMuxChannel& aContext); virtual void DISC(CRfcommMuxChannel& aContext); virtual void DM(CRfcommMuxChannel& aContext); @@ -221,6 +223,7 @@ void Open(CRfcommMuxChannel& aContext); void Close(CRfcommMuxChannel& aContext); TBool CanAttachSAP(); + TBool IsErrored(CRfcommMuxChannel& aContext); }; /** diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/rfcomm/rfcommmuxchannel.inl --- a/bluetooth/btstack/rfcomm/rfcommmuxchannel.inl Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/rfcomm/rfcommmuxchannel.inl Mon Jul 12 07:03:47 2010 +0300 @@ -28,6 +28,11 @@ return iState->IsOpen(*this); } +inline TBool CRfcommMuxChannel::IsErrored() + { + return iState->IsErrored(*this); + } + inline TInt CRfcommMuxChannel::MaxDataSize() { return iMaxDataSize; diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/rfcomm/rfcommmuxer.cpp --- a/bluetooth/btstack/rfcomm/rfcommmuxer.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/rfcomm/rfcommmuxer.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -209,9 +209,17 @@ DequeIdleTimer(); iSAPs.AddFirst(aSAP); if(iMuxChannel->IsOpen()) + { aSAP.MuxUp(); + } + else if (iMuxChannel->IsErrored()) + { + aSAP.Error(KErrRfcommMuxChannelErrored, CRfcommSAP::EErrorFatal); + } else + { iMuxChannel->Open(); // Eventually calls back + } } void CRfcommMuxer::DetachSAP(CRfcommSAP& aSAP) diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/rfcomm/rfcommsap.cpp --- a/bluetooth/btstack/rfcomm/rfcommsap.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/rfcomm/rfcommsap.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -345,7 +345,7 @@ if (iMux) { // Allow for possible credit in header, 1 byte - TPckgBuf intpckg(iMTU - 1); + TPckgBuf intpckg(iOptimalMTUForSending - 1); aOption=intpckg; return KErrNone; } @@ -478,9 +478,15 @@ TUint16 CRfcommSAP::NegotiatedMTU() const { - return iMTU; + return iNegotiatedMTU; } +TUint16 CRfcommSAP::OptimalMTUForSending() const + { + return iOptimalMTUForSending; + } + + TUint16 CRfcommSAP::UsableMTU(TUint8 aCredit) const { return iMux->FlowStrategy()->UsableMTU(*this, aCredit); diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/rfcomm/rfcommsap.h --- a/bluetooth/btstack/rfcomm/rfcommsap.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/rfcomm/rfcommsap.h Mon Jul 12 07:03:47 2010 +0300 @@ -174,6 +174,7 @@ TInt UnusedBufferSpace() const; TUint16 NegotiatedMTU() const; //< Returns the negotiated MTU + TUint16 OptimalMTUForSending() const; //< Returns the optimal MTU for sending TUint16 UsableMTU(TUint8 aCredit) const; //< Returns the actual maximum information field size available (which with CBFC will be one less than the negotiated MTU) TBool ListeningTo(const TBTSockAddr& aBTSockAddr) const; @@ -257,7 +258,8 @@ TDblQueLink iLink; // Used by Muxer to keep track of the SAPs it is linked to TDblQueLink iListeningLink; // Used by the protocol to keep track of listening SAPs TDblQueLink iBoundLink; // Used by the protocol to keep track of bound SAPs - TUint16 iMTU; // Maximum data size for this SAP + TUint16 iNegotiatedMTU; // Maximum data size for this SAP + TUint16 iOptimalMTUForSending; // Optimal MTU for sending provided by L2CAP TUint16 iUserDefinedMTU; // User defined MTU (0=No restriction) // Members used by listening SAP TInt iMaxClonesWaitingForStart; diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/rfcomm/rfcommstates.cpp --- a/bluetooth/btstack/rfcomm/rfcommstates.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/rfcomm/rfcommstates.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1059,8 +1059,10 @@ #ifdef _DEBUG aSAP.iProxyForRemoteCreditsSupplied = params.iInitialCredit; #endif - aSAP.iMTU=params.iMaxFrameSize; // Remember the newly calculated MTU - LOG2(_L("RFCOMM: Sending PN (Calculated MTU %d from frame size %d)"), aSAP.iMTU, aSAP.iMux->GetMaxDataSize()); + aSAP.iNegotiatedMTU=params.iMaxFrameSize; // Remember the newly calculated MTU + aSAP.iOptimalMTUForSending=params.iMaxFrameSize; // Remember the newly calculated MTU + + LOG2(_L("RFCOMM: Sending PN (Calculated MTU %d from frame size %d)"), aSAP.iNegotiatedMTU, aSAP.iMux->GetMaxDataSize()); TInt error=aSAP.iMux->SendPN(aSAP, params); @@ -1106,7 +1108,8 @@ // If we get an error continue but with a possible non-optimal MTU value. iMTU is the max // data size so remove the max Rfcomm header size as these will get added later. - aSAP.iMTU = (error == KErrNone) ? restrictedMtu() - KMaxFrameOverhead : aParams.iMaxFrameSize; + aSAP.iOptimalMTUForSending = (error == KErrNone) ? restrictedMtu() - KMaxFrameOverhead : aParams.iMaxFrameSize; + aSAP.iNegotiatedMTU = aParams.iMaxFrameSize; error = KErrNone; } @@ -1156,7 +1159,7 @@ { TRAPD(err, aSAP.iDataBuffer.SetLengthL(aSAP.iMux->FlowStrategy()->DataBufferMultiple()* - aSAP.iMTU)); + aSAP.iNegotiatedMTU)); if(err != KErrNone) { // Failed to alloc, so fail this connect and error @@ -1165,8 +1168,8 @@ return; } - aSAP.iHighTideMark=KRfcommSAPBufferHighMultiple*(aSAP.iMTU); - aSAP.iLowTideMark=KRfcommSAPBufferLowMultiple*(aSAP.iMTU); + aSAP.iHighTideMark=KRfcommSAPBufferHighMultiple*(aSAP.iNegotiatedMTU); + aSAP.iLowTideMark=KRfcommSAPBufferLowMultiple*(aSAP.iNegotiatedMTU); ChangeState(aSAP, CRfcommStateFactory::EOpen); @@ -1410,14 +1413,17 @@ We received a SABM - Tell our parent SAP that we're connected **/ { - if(aSAP.iMTU==0) // i.e. We've not entered into any negotiations... - aSAP.iMTU=KRfcommDefaultMTU; // ...so set to default. + if(aSAP.iNegotiatedMTU==0) // i.e. We've not entered into any negotiations... + { + aSAP.iNegotiatedMTU=KRfcommDefaultMTU; // ...so set to default. + aSAP.iOptimalMTUForSending=KRfcommDefaultMTU; + } // We can set up the Data Buffer since MTU negotiations are now over. //TRAPD(err, aSAP.iDataBuffer.SetLengthL(KRfcommSAPBufferMultiple*aSAP.iMTU)); TRAPD(err, aSAP.iDataBuffer.SetLengthL(aMux.FlowStrategy()->DataBufferMultiple()* - aSAP.iMTU)); + aSAP.iNegotiatedMTU)); if(err != KErrNone) { // Failed to alloc, so fail this connect and error @@ -1426,8 +1432,8 @@ return; } - aSAP.iHighTideMark=KRfcommSAPBufferHighMultiple*(aSAP.iMTU); - aSAP.iLowTideMark=KRfcommSAPBufferLowMultiple*(aSAP.iMTU); + aSAP.iHighTideMark=KRfcommSAPBufferHighMultiple*(aSAP.iNegotiatedMTU); + aSAP.iLowTideMark=KRfcommSAPBufferLowMultiple*(aSAP.iNegotiatedMTU); ChangeState(aSAP,CRfcommStateFactory::EWaitForIncomingSecurityCheck); } @@ -1441,19 +1447,20 @@ #endif { __ASSERT_DEBUG(aSAP.iMux==&aMux,PanicInState(ERfcommInvalidMuxInSAP)); - if(aSAP.iMTU==0) + if(aSAP.iNegotiatedMTU==0) { // We have no MTU set for the SAP at the moment. Try to determine // the upper limit of what we can handle - aSAP.iMTU=aSAP.MaximumMTU(); + aSAP.iNegotiatedMTU=aSAP.MaximumMTU(); + aSAP.iOptimalMTUForSending= aSAP.NegotiatedMTU(); } - if(aParams.iMaxFrameSize>aSAP.iMTU || aParams.iMaxFrameSize<=0) + if(aParams.iMaxFrameSize>aSAP.iNegotiatedMTU || aParams.iMaxFrameSize<=0) { // Either the remote device wants a larger MTU or has provided us // with a nonsensical <=0 one. // Either way, try to negotiate the MTU to our maximum - aParams.iMaxFrameSize=aSAP.iMTU; + aParams.iMaxFrameSize=aSAP.iNegotiatedMTU; } else { @@ -1468,7 +1475,8 @@ // If we get an error continue but with a possible non-optimal MTU value. iMTU is the max // data size so remove the max Rfcomm header size as these will get added later. - aSAP.iMTU = (err == KErrNone) ? restrictedMtu() - KMaxFrameOverhead : aParams.iMaxFrameSize; + aSAP.iOptimalMTUForSending = (err == KErrNone) ? restrictedMtu() - KMaxFrameOverhead : aParams.iMaxFrameSize; + aSAP.iNegotiatedMTU = aParams.iMaxFrameSize; } if(aParams.iCreditIndicator == (KCBFCCommandFlag >> 4)) @@ -1909,8 +1917,12 @@ TInt storelen=aSAP.DataBuffer().Add(aData.Ptr(), aData.Length()); if(storelen != aData.Length()) { + __ASSERT_DEBUG(EFalse, PanicInState(ERfCommStateBufferFull)); // We've not got room for some of the data - LOG(_L("RFCOMM: Warning received data loss")); + LOG(_L("RFCOMM: Received data loss - disconnecting")); + aSAP.iSocket->Disconnect(); + ChangeState(aSAP, CRfcommStateFactory::EClosed); + return; } // Check to see if we need to quench the source diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/rfcomm/rfcommutil.h --- a/bluetooth/btstack/rfcomm/rfcommutil.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/rfcomm/rfcommutil.h Mon Jul 12 07:03:47 2010 +0300 @@ -87,7 +87,8 @@ ERfcommDequeuingBadBoundSAP = 62, ERfCommFlowStrategyOutOfBounds = 63, ERfCommMuxerStateOutOfBounds = 64, - ERfCommStateOutOfBounds = 65 + ERfCommStateOutOfBounds = 65, + ERfCommStateBufferFull = 66, }; /** diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/secman/SecManNotifiers.h --- a/bluetooth/btstack/secman/SecManNotifiers.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/secman/SecManNotifiers.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -17,6 +17,7 @@ #define _SECMANNOTIFIERS_H #include +#include class TBTDevAddr; diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/secman/btaccessrequester.cpp --- a/bluetooth/btstack/secman/btaccessrequester.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/secman/btaccessrequester.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 1999-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -831,6 +831,7 @@ else if((aEvent.EventType() == ENotifyPhysicalLinkError)) { LOG(_L8("\tPhysical link error...Complete(ACCESS DENIED)")); + iSecMan.ConnectionsManager().PrefetchMan().RemovePrefetch(DeviceAddress()); LinkError(aEvent.ErrorCode()); } } diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/secman/secman.cpp --- a/bluetooth/btstack/secman/secman.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/secman/secman.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 1999-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -585,7 +585,7 @@ else if (!link->IsPairingExpected() || ((link->AuthenticationRequirement() == EMitmNotReqDedicatedBonding || link->AuthenticationRequirement() == EMitmReqDedicatedBonding) - && !IsDedicatedBondingAttempted(aAddr))) + && !link->IsAuthenticationRequestPending())) { TRAPD(err,link->NewUserConfirmerL(aAddr, *this, ETrue)); if(err) @@ -610,7 +610,7 @@ TBTSecEventUserConfirmationComplete event(ETrue); requester->SendEvent(event); } - + link->PinRequestSent(); // note: -- check errors here TRAP_IGNORE(iCommandController->UserConfirmationRequestReplyL(aAddr)); } diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/secman/secman.h --- a/bluetooth/btstack/secman/secman.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/secman/secman.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 1999-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -160,7 +160,6 @@ void ClearHCICommandQueue(); public: // command functions - void WriteSimplePairingModeL(TUint8 aSimplePairingMode); void WriteSimplePairingDebugModeL(TUint8 aSimplePairingDebugMode); void IOCapabilityRequestReplyL(const TBTDevAddr& aBDADDR, THCIIoCapability aIOCapability, THCIOobDataPresence aOOBDataPresent, THCIAuthenticationRequirement aAuthenticationRequirements); void IOCapabilityRequestNegativeReplyL(const TBTDevAddr& aBDADDR, TUint8 aReason); @@ -190,7 +189,6 @@ void SimplePairingCompleteEvent(const THCIEventBase& aEvent); void KeypressNotificationEvent(const THCIEventBase& aEvent); - void WriteSimplePairingModeOpcode(const THCICommandCompleteEvent& aCompleteEvent); void RemoteOOBDataRequestReplyOpcode(const THCICommandCompleteEvent& aCompleteEvent); void RemoteOOBDataRequestNegativeReplyOpcode(const THCICommandCompleteEvent& aCompleteEvent); void WriteSimplePairingDebugModeOpcode(const THCICommandCompleteEvent& aCompleteEvent); diff -r 4b81101308c6 -r 4e80e1b997a8 bluetooth/btstack/secman/secmanhci.cpp --- a/bluetooth/btstack/secman/secmanhci.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetooth/btstack/secman/secmanhci.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 1999-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -118,14 +118,6 @@ return *iCommandQueue; } -void CSecManCommandController::WriteSimplePairingModeL(TUint8 aSimplePairingMode) - { - LOG_FUNC - // Ownership of cmd transfered - CWriteSimplePairingModeCommand* cmd = CWriteSimplePairingModeCommand::NewL(aSimplePairingMode); - CommandQueue().MhcqAddCommandL(cmd, *this); - } - void CSecManCommandController::WriteSimplePairingDebugModeL(TUint8 aSimplePairingDebugMode) { LOG_FUNC @@ -207,10 +199,8 @@ switch(aEvent.EventCode()) { case ECommandCompleteEvent: - { CommandCompleteEvent(aEvent); break; - } case ECommandStatusEvent: CommandStatusEvent(aEvent); @@ -314,11 +304,7 @@ THCIErrorCode hciErr = aEvent.ErrorCode(); switch (opcode) - { - case KWriteSimplePairingModeOpcode: - WriteSimplePairingModeOpcode(completeEvent); - break; - + { case KRemoteOOBDataRequestReplyOpcode: RemoteOOBDataRequestReplyOpcode(completeEvent); break; @@ -364,17 +350,6 @@ THCIErrorCode hciErr = commandStatusEvent.ErrorCode(); } -void CSecManCommandController::WriteSimplePairingModeOpcode(const THCICommandCompleteEvent& aCompleteEvent) - { - LOG_FUNC - if(aCompleteEvent.ErrorCode() == EOK) - { - iSecMan.SetLocalSimplePairingMode(ETrue); - } - // if we got an error then we make the reasonable assumption that the local controller is not - // capable of secure simple pairing. - } - void CSecManCommandController::RemoteOOBDataRequestReplyOpcode(const THCICommandCompleteEvent& aCompleteEvent) { LOG_FUNC diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothapitest/bluetoothsvs/group/bluetoothsvs.mrp --- a/bluetoothapitest/bluetoothsvs/group/bluetoothsvs.mrp Mon May 03 13:34:38 2010 +0300 +++ b/bluetoothapitest/bluetoothsvs/group/bluetoothsvs.mrp Mon Jul 12 07:03:47 2010 +0300 @@ -1,19 +1,3 @@ -# -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "Eclipse Public License v1.0" -# which accompanies this distribution, and is available -# at the URL "http://www.eclipse.org/legal/epl-v10.html". -# -# Initial Contributors: -# Nokia Corporation - initial contribution. -# -# Contributors: -# -# Description: -# - component bluetoothsvs source \sf\os\bt\bluetoothapitest\bluetoothsvs notes_source \sf\os\bt\bluetoothapitest\bluetoothsvs\group\release.txt diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothcommsprofiles/btpan/bnep/bnep.mdl --- a/bluetoothcommsprofiles/btpan/bnep/bnep.mdl Mon May 03 13:34:38 2010 +0300 +++ b/bluetoothcommsprofiles/btpan/bnep/bnep.mdl Mon Jul 12 07:03:47 2010 +0300 @@ -1,26759 +1,26759 @@ - -(object Petal - version 43 - _written "Rose 6.5.9232.10" - charSet 0) - -(object Design "Logical View" - is_unit TRUE - is_loaded TRUE - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "cg_style" - value "default") - (object Attribute - tool "Traversal" - name "CodeFile" - value "") - (object Attribute - tool "CORBA" - name "cg_style" - value "default")) - quid "4199C6350235" - defaults (object defaults - rightMargin 0.250000 - leftMargin 0.500000 - topMargin 0.250000 - bottomMargin 0.250000 - pageOverlap 1.000000 - clipIconLabels TRUE - autoResize TRUE - snapToGrid TRUE - gridX 3 - gridY 3 - defaultFont (object Font - size 10 - face "Arial" - bold FALSE - italics FALSE - underline FALSE - strike FALSE - color 0 - default_color TRUE) - showMessageNum 3 - showClassOfObject TRUE - notation "Unified") - root_usecase_package (object Class_Category "Use Case View" - quid "40C049140276" - exportControl "Public" - global TRUE - logical_models (list unit_reference_list - (object Class "BNEP" - quid "41500F210074" - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "41500F84038E" - supplier "Use Case View::Ethint.NIF" - quidu "41500F360395") - (object Uses_Relationship - quid "41500F870298" - supplier "Use Case View::PAN Agent" - quidu "41500F2A038E") - (object Uses_Relationship - quid "41500F960181" - supplier "Use Case View::L2CAP" - quidu "41500F430394") - (object Uses_Relationship - quid "416BE90D02AA" - supplier "Use Case View::Eintsock" - quidu "416BE8EC0324")) - language "C++") - (object Class "PAN Agent" - quid "41500F2A038E" - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "41500F8B0058" - supplier "Use Case View::BNEP" - quidu "41500F210074") - (object Uses_Relationship - quid "41500F9202BB" - supplier "Use Case View::SDP" - quidu "41500F540172") - (object Uses_Relationship - quid "416BE910033A" - supplier "Use Case View::Eintsock" - quidu "416BE8EC0324")) - language "C++") - (object Class "Ethint.NIF" - quid "41500F360395" - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "41500F810343" - supplier "Use Case View::BNEP" - quidu "41500F210074")) - language "C++") - (object Class "L2CAP" - quid "41500F430394" - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "41500F990077" - supplier "Use Case View::BNEP" - quidu "41500F210074")) - language "C++") - (object Class "SDP" - quid "41500F540172" - language "C++") - (object Class "Eintsock" - quid "416BE8EC0324" - language "C++")) - logical_presentations (list unit_reference_list - (object UseCaseDiagram "Main" - quid "40C049150263" - title "Main" - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list)))) - root_category (object Class_Category "Logical View" - quid "40C049140275" - exportControl "Public" - global TRUE - subsystem "Component View" - quidu "40C049140277" - logical_models (list unit_reference_list - (object Class "CBnepLocalDevice" - attributes (list Attribute_Set) - quid "40C049420180" - fields (list has_relationship_list - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "DataMemberVisibility" - value ("DataMemberVisibilitySet" 45))) - quid "40C6DDA601ED" - label "Subscriber" - supplier "Logical View::CBTAddrSubscriber" - quidu "40C5B9A6014B" - Containment "By Reference" - client_cardinality (value cardinality "1"))) - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "4107BDAB0145" - supplier "Logical View::Undocument::inc::CPktDrvBase" - quidu "40C5BB5D014C") - (object Inheritance_Relationship - quid "4107BDB201EF" - supplier "Logical View::MPanDevice" - quidu "40C049CB02DC")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40CEE2DF014D" - supplier "Logical View::Undocument::inc::CLANLinkCommon" - quidu "40C47D840240") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "4108F40700A4" - supplier "Logical View::CBnepBridge" - quidu "40C049600007")) - operations (list Operations - (object Operation "BDADDRChanged" - quid "40C6DBD30015" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086770756) - (object Operation "CBnepLocalDevice" - quid "40C6DBED03CA" - parameters (list Parameters - (object Parameter "aFactory" - type "CPktDrvFactory&") - (object Parameter "aParent" - type "CLANLinkCommon*")) - concurrency "Sequential" - opExportControl "Private" - uid 1086770738) - (object Operation "ConstructL" - quid "40C6DC460350" - parameters (list Parameters - (object Parameter "UNUSEDPARAMETER1" - type "CLANLinkCommon*")) - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1086770757) - (object Operation "Control" - quid "40C6D76301DE" - parameters (list Parameters - (object Parameter "UNUSEDPARAMETER1" - type "TUint") - (object Parameter "UNUSEDPARAMETER2" - type "TUint") - (object Parameter "UNUSEDPARAMETER3" - type "TDes8&") - (object Parameter "UNUSEDPARAMETER4" - type "TAny*" - initv "0")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086770754) - (object Operation "GetInterfaceAddress" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationIsConst" - value TRUE)) - quid "40CEDF4701CC" - result "TUint8*" - concurrency "Sequential" - opExportControl "Public" - uid 1087291650) - (object Operation "GetMulticastList" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationIsConst" - value TRUE)) - quid "40C6D6D5034D" - parameters (list Parameters - (object Parameter "UNUSEDPARAMETER1" - type "const THWAddr*") - (object Parameter "UNUSEDPARAMETER2" - type "TInt&")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086770747) - (object Operation "GetRxMode" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationIsConst" - value TRUE)) - quid "40C6D6A803A2" - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086770745) - (object Operation "InterfacePowerDown" - quid "40C6D712023C" - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086770750) - (object Operation "InterfacePowerUp" - quid "40C6D6F5003C" - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086770749) - (object Operation "InterfaceResume" - quid "40C6D73700FF" - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086770752) - (object Operation "InterfaceSleep" - quid "40C6D72601D7" - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086770751) - (object Operation "NewL" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 203))) - quid "40C6D63D0037" - parameters (list Parameters - (object Parameter "aFactory" - type "CPktDrvFactory&") - (object Parameter "aParent" - type "CLANLinkCommon*")) - result "CBnepLocalDevice*" - concurrency "Sequential" - opExportControl "Public" - uid 1086770739) - (object Operation "Notification" - quid "40C6D7520298" - parameters (list Parameters - (object Parameter "aEvent" - type "TAgentToNifEventType") - (object Parameter "aInfo" - type "TAny*" - initv "0")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086770753) - (object Operation "Process" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 201))) - quid "40C6DB8C0031" - parameters (list Parameters - (object Parameter "aFrame" - type "RBnepFrame&")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086770755) - (object Operation "ResetInterface" - quid "40C6D68600C8" - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086770743) - (object Operation "Send" - quid "40C6D65700F3" - parameters (list Parameters - (object Parameter "aPkt" - type "RMBufChain&")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086770740) - (object Operation "SetInterfaceAddress" - quid "40C6D6BA0159" - parameters (list Parameters - (object Parameter "UNUSEDPARAMETER1" - type "const THWAddr&")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086770746) - (object Operation "SetMulticastList" - quid "40C6D6E602ED" - parameters (list Parameters - (object Parameter "UNUSEDPARAMETER1" - type "const THWAddr*") - (object Parameter "UNUSEDPARAMETER2" - type "TInt")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086770748) - (object Operation "SetRxMode" - quid "40C6D69900A7" - parameters (list Parameters - (object Parameter "UNUSEDPARAMETER1" - type "TRxMode")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086770744) - (object Operation "StartInterface" - quid "40C6D66F0151" - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086770741) - (object Operation "StopInterface" - quid "40C6D67A000D" - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086770742) - (object Operation "Stop" - quid "4178C10D0121" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1098432371)) - module "Component View::BNEP::CBnepLocalDevice (module spec)" - quidu "40C44DD101D4" - module "Component View::BNEP::CBnepLocalDevice (module body)" - quidu "40C44DDB0282" - language "C++") - (object Class "RBnepFrame" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDefaultConstructor" - value ("GenerateSet" 199)) - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "40C049510377" - fields (list has_relationship_list - (object Has_Relationship - quid "40C594A10162" - label "CommandQueue" - supplier "Logical View::( TSglQue < RBnepControl > )" - quidu "40C594270261" - Containment "By Value") - (object Has_Relationship - quid "40C5952C0175" - label "DestAddr" - supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" - quidu "40C05A14029A" - Containment "By Value") - (object Has_Relationship - quid "40C5954001A6" - label "SrcAddr" - supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" - quidu "40C05A14029A" - Containment "By Value") - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateGetOperation" - value TRUE) - (object Attribute - tool "cg" - name "GetName" - value (value Text "$relationship")) - (object Attribute - tool "cg" - name "GetResultIsConst" - value ("GetResultIsConstSet" 0))) - quid "40C5958700D6" - label "Protocol" - supplier "Logical View::Undocument::Epoc32::TUint16" - quidu "40C060EE00D0" - Containment "By Value") - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE)) - quid "40C59597006B" - label "QTagHeader" - supplier "Logical View::Undocument::Epoc32::TUint16" - quidu "40C060EE00D0" - Containment "By Value") - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE)) - quid "40C595C20117" - label "PacketContents" - supplier "Logical View::Undocument::Epoc32::TUint8" - quidu "40C060DE031C" - Containment "By Value") - (object Has_Relationship - quid "40C595E30309" - label "EthernetPayload" - supplier "Logical View::Undocument::Comms-infras::RMBufChain" - quidu "40C0613602A0" - Containment "By Value")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "40C7163303D2" - supplier "Logical View::RBnepControl" - quidu "40C04FCB02D0") - (object Uses_Relationship - quid "40C716FE010D" - supplier "Logical View::MLinkManager" - quidu "40C050FF0107") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "40C9BB240119" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "40C9BCB10391" - supplier "Logical View::Undocument::Epoc32::TBuf8" - quidu "40C9BBF2029C") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "40CD9C1D014E" - supplier "Logical View::BnepUtils" - quidu "40C5B2D3013F") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value FALSE)) - quid "40CD9DBC02E3" - supplier "Logical View::Undocument::Comms-infras::RMBufPacket" - quidu "40C0641D006E")) - operations (list Operations - (object Operation "BuildBnepControlFrameL" - quid "40C58CD803DD" - parameters (list Parameters - (object Parameter "aChain" - type "RMBufChain&")) - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1086681426) - (object Operation "BuildBnepDataFrameL" - quid "40C58CF602EF" - parameters (list Parameters - (object Parameter "aChain" - type "RMBufChain&") - (object Parameter "aLocalAddr" - type "const TBTDevAddr&") - (object Parameter "aRemoteAddr" - type "const TBTDevAddr&")) - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1086681427) - (object Operation "BuildBnepFrameL" - quid "40C5873800ED" - parameters (list Parameters - (object Parameter "aChain" - type "RMBufChain&") - (object Parameter "aLocalAddr" - type "const TBTDevAddr&") - (object Parameter "aRemoteAddr" - type "const TBTDevAddr&")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086681413) - (object Operation "BuildEthernetFrameL" - quid "40C5879E025C" - parameters (list Parameters - (object Parameter "aChain" - type "RMBufPacket&")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086681414) - (object Operation "DestAddr" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationIsConst" - value TRUE)) - quid "40C58B320047" - result "const TBTDevAddr&" - concurrency "Sequential" - opExportControl "Public" - uid 1086681419) - (object Operation "DestinationType" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationIsConst" - value TRUE)) - quid "40C58BA602EC" - result "RBnepFrame::TDestAddrType" - concurrency "Sequential" - opExportControl "Public" - uid 1086681421) - (object Operation "Includes" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationIsConst" - value TRUE)) - quid "40C58A40014D" - parameters (list Parameters - (object Parameter "aContent" - type "TPacketContents")) - result "TBool" - concurrency "Sequential" - opExportControl "Public" - uid 1086681416) - (object Operation "InsertControl" - quid "40C5866203CA" - parameters (list Parameters - (object Parameter "aCommand" - type "RBnepControl*")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086681410) - (object Operation "ParseBnepFrameL" - quid "40C5868B00EE" - parameters (list Parameters - (object Parameter "aInboundChain" - type "RMBufChain&") - (object Parameter "aLocalAddr" - type "const TBTDevAddr&") - (object Parameter "aRemoteAddr" - type "const TBTDevAddr&")) - result "TBnepPacketType" - concurrency "Sequential" - opExportControl "Public" - uid 1086681411) - (object Operation "ParseEthernetFrameL" - quid "40C587080094" - parameters (list Parameters - (object Parameter "aFrame" - type "RMBufChain&")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086681412) - (object Operation "Reset" - quid "40C58657008F" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086681409) - (object Operation "SetContents" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "40C58E0201E6" - parameters (list Parameters - (object Parameter "aContent" - type "TPacketContents")) - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1086681415) - (object Operation "SrcAddr" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationIsConst" - value TRUE)) - quid "40C58B0B0159" - result "const TBTDevAddr&" - concurrency "Sequential" - opExportControl "Public" - uid 1086681418) - (object Operation "TrimBTAddrL" - quid "40C58C8A0055" - parameters (list Parameters - (object Parameter "aChain" - type "RMBufChain&") - (object Parameter "aAddr" - type "TBTDevAddr&")) - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1086681422) - (object Operation "TrimUint16L" - quid "40C58C9C0264" - parameters (list Parameters - (object Parameter "aChain" - type "RMBufChain&") - (object Parameter "aInt" - type "TUint16&")) - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1086681423) - (object Operation "ParseL" - quid "413C2CDE032F" - parameters (list Parameters - (object Parameter "aInboundChain" - type "RMBufChain&") - (object Parameter "aType" - type "TBnepPacketType") - (object Parameter "aExt" - type "TBool")) - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1094461835) - (object Operation "ExtractExtensionL" - quid "413C2DF90278" - parameters (list Parameters - (object Parameter "aInboundChain" - type "RMBufChain&")) - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1094461836) - (object Operation "ExtractControlL" - quid "413C2E04007F" - parameters (list Parameters - (object Parameter "aInboundChain" - type "RMBufChain&") - (object Parameter "aLength" - type "TInt")) - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1094461837) - (object Operation "IsEmpty" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "413C31BB01D1" - result "TBool" - concurrency "Sequential" - opExportControl "Public" - uid 1094461839) - (object Operation "ExecuteControl" - quid "413C32F50010" - parameters (list Parameters - (object Parameter "aController" - type "MLinkManager&")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1094461840) - (object Operation "HasPayload" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "41496FF10355" - result "TBool" - concurrency "Sequential" - opExportControl "Public" - uid 1095331877)) - module "Component View::BNEP::RBnepFrame (module spec)" - quidu "40C46B70026E" - module "Component View::BNEP::RBnepFrame (module body)" - quidu "40C46B840294" - language "C++" - nestedClasses (list nestedClasses - (object Class "TPacketContents" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ImplementationType" - value (value Text -|enum -|{ -|EDataFrame = 0x01, -|EControl = 0x02, -|EHas1Q = 0x04 -|} - ))) - quid "40C06315030D" - module "Component View::BNEP::RBnepFrame (module spec)" - quidu "40C46B70026E" - module "Component View::BNEP::RBnepFrame (module body)" - quidu "40C46B840294") - (object Class "TDestAddrType" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ImplementationType" - value (value Text -|enum -|{ -|ELocal, -|EMulticast, -|ENormal -|} - ))) - quid "40C063210378" - module "Component View::BNEP::RBnepFrame (module spec)" - quidu "40C46B70026E" - module "Component View::BNEP::RBnepFrame (module body)" - quidu "40C46B840294"))) - (object Class "CBnepBridge" - attributes (list Attribute_Set) - quid "40C049600007" - fields (list has_relationship_list - (object Has_Relationship - quid "40C44171025A" - label "Links" - supplier "Logical View::( TFixedArray < MPanDevice*, KMaxPanConnections > )" - quidu "40C440B501D8")) - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "40C05A890248" - supplier "Logical View::Undocument::Epoc32::CBase" - quidu "40C052FD00B0") - (object Inheritance_Relationship - quid "40C05A93018F" - supplier "Logical View::MPanDeviceOwner" - quidu "40C0497600BD")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40C7194D022F" - supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" - quidu "40C05A14029A") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40C7196D01B3" - supplier "Logical View::RBnepFrame" - quidu "40C049510377") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40C719C10290" - supplier "Logical View::MBnepChannelControl" - quidu "40C0513D0066") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40C71A220376" - supplier "Logical View::Undocument::Comms-infras::RInternalSocket" - quidu "40C46FE80331") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40C71A440072" - supplier "Logical View::MPanConnectionNotify" - quidu "40C0607803DD") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "40C868330193" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "40C97A9A01D2" - supplier "Logical View::CBnepChannelController" - quidu "40C0512A0181") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "40F6403200A8" - supplier "Logical View::Undocument::inc::TIeee802Addr" - quidu "40C5BC280234") - (object Uses_Relationship - quid "4108F9FD02A7" - supplier "Logical View::MPanDevice" - quidu "40C049CB02DC") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "41766D9A03E1" - supplier "Logical View::BnepUtils" - quidu "40C5B2D3013F")) - operations (list Operations - (object Operation "AttachDevice" - quid "40C067500039" - parameters (list Parameters - (object Parameter "aDevice" - type "MPanDevice&")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086350935) - (object Operation "CBnepBridge" - quid "40C0679503AA" - parameters (list Parameters - (object Parameter "aLocalDevice" - type "MPanDevice&")) - concurrency "Sequential" - opExportControl "Private" - uid 1086350932) - (object Operation "DefaultAddress" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationIsConst" - value TRUE)) - quid "40C0660D0107" - result "const TBTDevAddr&" - concurrency "Sequential" - opExportControl "Public" - uid 1086350931) - (object Operation "LinkGoingDown" - quid "40C0668302B5" - parameters (list Parameters - (object Parameter "aDevice" - type "MPanDevice&")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086350933) - (object Operation "NewBnepConnectionL" - quid "40C066BE02D8" - parameters (list Parameters - (object Parameter "aConnectedSocket" - type "RInternalSocket&") - (object Parameter "aNotify" - type "MPanConnectionNotify&")) - result "MBnepChannelControl&" - concurrency "Sequential" - opExportControl "Public" - uid 1086350934) - (object Operation "NewL" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 203))) - quid "40C05BE2019A" - parameters (list Parameters - (object Parameter "aLocalDevice" - type "MPanDevice&")) - result "CBnepBridge*" - concurrency "Sequential" - opExportControl "Public" - uid 1086348345) - (object Operation "Process" - quid "40C065C50059" - parameters (list Parameters - (object Parameter "aFrame" - type "RBnepFrame&") - (object Parameter "aSourceIfAddr" - type "const TBTDevAddr&")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086350930) - (object Operation "RemoveDevice" - quid "40F5446502D8" - parameters (list Parameters - (object Parameter "aDevice" - type "MPanDevice&")) - result "TInt" - concurrency "Sequential" - opExportControl "Private" - uid 1089815540) - (object Operation "StopLinks" - quid "41764AE8033F" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1098271419) - (object Operation "GetVacantSlot" - quid "417665B103D5" - parameters (list Parameters - (object Parameter "aSlotIndex" - type "TUint&")) - result "TInt" - concurrency "Sequential" - opExportControl "Private" - uid 1098271423)) - class_attributes (list class_attribute_list - (object ClassAttribute "LinkCount" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateGetOperation" - value TRUE) - (object Attribute - tool "cg" - name "GetResultIsConst" - value ("GetResultIsConstSet" 0))) - quid "413715850240" - type "TUint8")) - module "Component View::BNEP::CBnepBridge (module spec)" - quidu "40C44D8B0291" - module "Component View::BNEP::CBnepBridge (module body)" - quidu "40C44D940280" - language "C++") - (object Class "MPanDeviceOwner" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "40C0497600BD" - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "4108F88201BC" - supplier "Logical View::MBnepConnectionManager" - quidu "40C049870017")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40C715E5023F" - supplier "Logical View::RBnepFrame" - quidu "40C049510377") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40C7173D00DC" - supplier "Logical View::MPanDevice" - quidu "40C049CB02DC") - (object Uses_Relationship - quid "40C717650061" - supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" - quidu "40C05A14029A")) - operations (list Operations - (object Operation "AttachDevice" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 202))) - quid "40F65E2F0029" - parameters (list Parameters - (object Parameter "aDevice" - type "MPanDevice&")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "DefaultAddress" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 202)) - (object Attribute - tool "cg" - name "OperationIsConst" - value TRUE)) - quid "40C4745400AE" - result "const TBTDevAddr&" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "LinkGoingDown" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 202))) - quid "40C4746C0383" - parameters (list Parameters - (object Parameter "aDevice" - type "MPanDevice&")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "Process" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 202))) - quid "40C474490198" - parameters (list Parameters - (object Parameter "aPacket" - type "RBnepFrame&") - (object Parameter "aSourceIfAddr" - type "const TBTDevAddr&")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "StopLinks" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 202))) - quid "41764A9A006C" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0)) - module "Component View::BNEP::MPanDeviceOwner (module spec)" - quidu "40C469DD012E" - language "C++") - (object Class "MBnepConnectionManager" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "40C049870017" - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "40C82B010159" - supplier "Logical View::Undocument::Comms-infras::RInternalSocket" - quidu "40C46FE80331") - (object Uses_Relationship - quid "40C82B100010" - supplier "Logical View::MBnepChannelControl" - quidu "40C0513D0066") - (object Uses_Relationship - quid "40C82CDF02BF" - supplier "Logical View::MPanConnectionNotify" - quidu "40C0607803DD")) - operations (list Operations - (object Operation "NewBnepConnectionL" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 202))) - quid "40C826A700CB" - parameters (list Parameters - (object Parameter "aConnectedSocket" - type "RInternalSocket&") - (object Parameter "aNotify" - type "MPanConnectionNotify&")) - result "MBnepChannelControl*" - concurrency "Sequential" - opExportControl "Public" - uid 0)) - module "Component View::inc::pancommon (module spec)" - quidu "40C8232C00AC" - language "C++") - (object Class "MPanDevice" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE) - (object Attribute - tool "cg" - name "GenerateDefaultConstructor" - value ("GenerateSet" 206)) - (object Attribute - tool "cg" - name "InlineDefaultConstructor" - value TRUE)) - quid "40C049CB02DC" - fields (list has_relationship_list - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "DataMemberVisibility" - value ("DataMemberVisibilitySet" 45))) - quid "40C97975027B" - label "Addr" - supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" - quidu "40C05A14029A" - Containment "By Value") - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "DataMemberVisibility" - value ("DataMemberVisibilitySet" 44)) - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE)) - quid "40C979BC001B" - label "Owner" - supplier "Logical View::MPanDeviceOwner" - quidu "40C0497600BD" - Containment "By Reference")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "40C717C00102" - supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" - quidu "40C05A14029A") - (object Uses_Relationship - quid "40C717DD02DA" - supplier "Logical View::RBnepFrame" - quidu "40C049510377") - (object Uses_Relationship - quid "40D2DDD10107" - supplier "Logical View::TFuncInstrument" - quidu "40C5CB0E02ED") - (object Uses_Relationship - quid "40FD30130135" - supplier "Logical View::RBnepFrame" - quidu "40C049510377")) - operations (list Operations - (object Operation "Addr" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationIsConst" - value TRUE) - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "40C471D702BA" - result "const TBTDevAddr&" - concurrency "Sequential" - opExportControl "Public" - uid 1086599890) - (object Operation "ForThisDevice" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationIsConst" - value TRUE) - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "40C471BB0378" - parameters (list Parameters - (object Parameter "aAddr" - type "const TBTDevAddr&")) - result "TBool" - concurrency "Sequential" - opExportControl "Public" - uid 1086599888) - (object Operation "LocalAddr" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationIsConst" - value TRUE) - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "40C471F901FB" - result "const TBTDevAddr&" - concurrency "Sequential" - opExportControl "Public" - uid 1086599891) - (object Operation "Process" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 202))) - quid "40C471940188" - parameters (list Parameters - (object Parameter "aPayload" - type "RBnepFrame&")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "SetOwner" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "40C471CB03AE" - parameters (list Parameters - (object Parameter "aBridge" - type "MPanDeviceOwner&")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086599889) - (object Operation "Stop" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 202))) - quid "41764EE501E9" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0)) - module "Component View::BNEP::MPanDevice (module spec)" - quidu "40C4699C00A8" - language "C++") - (object Class "RBnepControl" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "40C04FCB02D0" - fields (list has_relationship_list - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "DataMemberVisibility" - value ("DataMemberVisibilitySet" 45))) - quid "40C584E10254" - label "Link" - supplier "Logical View::Undocument::Epoc32::TSglQueLink" - quidu "40C583FB031C" - Containment "By Value")) - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "41701E87003E" - supplier "Logical View::Undocument::Comms-infras::RMBufChain" - quidu "40C0613602A0")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "40C716640256" - supplier "Logical View::TBnepControlType" - quidu "40C06127015E") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "40C867860361" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D")) - operations (list Operations - (object Operation "ControlType" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "40C5850A03DA" - result "TBnepControlType" - concurrency "Sequential" - opExportControl "Public" - uid 1086681407)) - module "Component View::BNEP::RBnepControl (module spec)" - quidu "40C44C240209" - language "C++" - nestedClasses (list nestedClasses - (object Class "Constants" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ImplementationType" - value (value Text -|enum -|{ -|KControlTypeOffset = 0, -|KControlResponseOffset = 1 -|} - ))) - quid "40C061670016" - module "Component View::BNEP::RBnepControl (module spec)" - quidu "40C44C240209"))) - (object Class "RBnepSetupConnectionRequestControl" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE) - (object Attribute - tool "cg" - name "GenerateDefaultConstructor" - value ("GenerateSet" 206))) - quid "40C04FE6035B" - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "40C4440D0034" - supplier "Logical View::RBnepControl" - quidu "40C04FCB02D0")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "40C449A60388" - supplier "Logical View::Undocument::Bluetooth::TUUID" - quidu "40C05FB10297") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "40C9BB98036F" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "40C9BC7303A6" - supplier "Logical View::Undocument::Epoc32::TBuf8" - quidu "40C9BBF2029C")) - operations (list Operations - (object Operation "GetRole" - quid "40C447D50307" - parameters (list Parameters - (object Parameter "aRole" - type "TUUID&") - (object Parameter "aOffset" - type "TInt")) - result "TInt" - concurrency "Sequential" - opExportControl "Private" - uid 1086599886) - (object Operation "InitL" - quid "40C447A00329" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086599884) - (object Operation "LocalRole" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "40C447AC01DC" - parameters (list Parameters - (object Parameter "aRole" - type "TUUID&")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086599882) - (object Operation "RemoteRole" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "40C447B90004" - parameters (list Parameters - (object Parameter "aRole" - type "TUUID&")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086599883) - (object Operation "SetRolesL" - quid "40C447C90328" - parameters (list Parameters - (object Parameter "aLocalRole" - type "TUUID&") - (object Parameter "aRemoteRole" - type "TUUID&")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086599885)) - module "Component View::BNEP::RBnepSetupConnectionRequestControl (module spec)" - quidu "40C46B9602D6" - module "Component View::BNEP::RBnepSetupConnectionRequestControl (module body)" - quidu "40C46BB4030C" - language "C++" - nestedClasses (list nestedClasses - (object Class "SetupRequestConstants" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ImplementationType" - value (value Text -|enum -|{ -|KUUIDSizeOffset = 1, -|KUUIDSizeLength = 1, -|KUUIDOffset = 2, -|KLocalUUID = 0, -|KRemoteUUID = 1, -|KMaxSizeOfSetupRequest = KSizeOfBnepControlType + 1 + 2 * KSdpUUIDMaxLength // Type, UUID size, 2x UUIDs -|} - ))) - quid "40C446B501AE" - exportControl "Private" - module "Component View::BNEP::RBnepSetupConnectionRequestControl (module spec)" - quidu "40C46B9602D6" - module "Component View::BNEP::RBnepSetupConnectionRequestControl (module body)" - quidu "40C46BB4030C"))) - (object Class "RBnepSetupConnectionResponseControl" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "40C050B10245" - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "414EBD1702D7" - supplier "Logical View::RBnepControl" - quidu "40C04FCB02D0")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "40FB96A403B4" - supplier "Logical View::TBnepSetupConnectionResponseMessage" - quidu "40C4789702BF") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "4104E7CF001D" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D")) - operations (list Operations - (object Operation "ConnectionSetupResponseL" - quid "40FB943002B7" - parameters (list Parameters - (object Parameter "aResponse" - type "TBnepSetupConnectionResponseMessage&")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1090229586) - (object Operation "InitL" - quid "40FB9421002A" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1090229585) - (object Operation "SetConnectionSetupResponseL" - quid "40FB943F01AA" - parameters (list Parameters - (object Parameter "aResponse" - type "TBnepSetupConnectionResponseMessage")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1090229587)) - module "Component View::BNEP::RBnepSetupConnectionResponseControl (module spec)" - quidu "40C46BD30053" - module "Component View::BNEP::RBnepSetupConnectionResponseControl (module body)" - quidu "40C46BF2006C" - module "RBnepSetupConnectionResponseFrame" - module "RBnepSetupConnectionResponseFrame" - module "RBnepSetupConnectionResponseFrame" - module "RBnepSetupConnectionResponseFrame" - language "C++" - nestedClasses (list nestedClasses - (object Class "SetupResponseConstants" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ImplementationType" - value (value Text -|enum -|{ -|KSetupResponseFieldOffset = KControlResponseOffset, -|KMaxSizeOfSetupResponse = KSizeOfBnepControlType + KSizeOfBnepResponseCode // control type (1) + response code (2) -|} - )) - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepSetupConnectionResponseControl.h")) - quid "40FB945D030B" - exportControl "Private" - module "RBnepSetupConnectionResponseFrame" - module "RBnepSetupConnectionResponseFrame" - module "RBnepSetupConnectionResponseFrame" - module "RBnepSetupConnectionResponseFrame"))) - (object Class "MLinkManager" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "40C050FF0107" - fields (list has_relationship_list - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateGetOperation" - value TRUE) - (object Attribute - tool "cg" - name "GetName" - value (value Text "$relationship")) - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE) - (object Attribute - tool "cg" - name "GenerateSetOperation" - value TRUE) - (object Attribute - tool "cg" - name "SetName" - value (value Text "Set$relationship")) - (object Attribute - tool "cg" - name "GetResultIsConst" - value ("GetResultIsConstSet" 0))) - quid "413C39C80397" - label "AwaitingResponse" - supplier "Logical View::Undocument::Epoc32::TBool" - quidu "40C060B001DF" - Containment "By Value")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40C8339A0212" - supplier "Logical View::RBnepControl" - quidu "40C04FCB02D0") - (object Uses_Relationship - quid "40C833A4013A" - supplier "Logical View::Undocument::Epoc32::TInt" - quidu "40C059E301D2") - (object Uses_Relationship - quid "40E4193D038C" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D")) - operations (list Operations - (object Operation "Execute" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 202))) - quid "40C44A790205" - parameters (list Parameters - (object Parameter "aCommand" - type "RBnepControl*")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "RemoteDeviceDisconnect" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 202))) - quid "40C44A6303D0" - parameters (list Parameters - (object Parameter "aError" - type "TInt")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0)) - module "Component View::BNEP::MLinkManager (module spec)" - quidu "40C469230361" - language "C++") - (object Class "CBnepLink" - attributes (list Attribute_Set) - quid "40C0510D0175" - fields (list has_relationship_list - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE)) - quid "40C6E3B701A0" - label "Socket" - supplier "Logical View::Undocument::Comms-infras::RInternalSocket" - quidu "40C46FE80331" - Containment "By Value") - (object Has_Relationship - quid "40C6E3B9038E" - label "Reader" - supplier "Logical View::CSocketReader" - quidu "40C0652B0094" - Containment "By Reference") - (object Has_Relationship - quid "40C6E3BD0022" - label "Writer" - supplier "Logical View::CSocketWriter" - quidu "40C0651F0155" - Containment "By Reference") - (object Has_Relationship - quid "4124A191036E" - label "MultiAddrFilters" - supplier "Logical View::CMultiAddrFilterTable" - quidu "412478830308" - Containment "By Reference") - (object Has_Relationship - quid "4124A19800BC" - label "NetTypeFilters" - supplier "Logical View::CNetTypeFilterTable" - quidu "412478A20031" - Containment "By Reference") - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE)) - quid "413C294A01B6" - label "OutGoing" - supplier "Logical View::RBnepFrame" - quidu "40C049510377" - Containment "By Value") - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE)) - quid "413C296E01CC" - label "InComing" - supplier "Logical View::RBnepFrame" - quidu "40C049510377" - Containment "By Value")) - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "40C6E1360040" - supplier "Logical View::Undocument::Epoc32::CBase" - quidu "40C052FD00B0") - (object Inheritance_Relationship - quid "40C6E14801CD" - supplier "Logical View::MPanDevice" - quidu "40C049CB02DC")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "40C83346022F" - supplier "Logical View::MLinkManager" - quidu "40C050FF0107") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "40F65CFF0068" - supplier "Logical View::Undocument::Bluetooth::TBTSockAddr" - quidu "40F65CE8003D") - (object Uses_Relationship - quid "41176E8A00AA" - supplier "Logical View::Undocument::Epoc32::TInt64" - quidu "411769FE0042") - (object Uses_Relationship - quid "417506FF0070" - supplier "Logical View::BnepUtils" - quidu "40C5B2D3013F")) - operations (list Operations - (object Operation "CBnepLink" - quid "40C6E2E10171" - parameters (list Parameters - (object Parameter "aBridge" - type "MPanDeviceOwner&") - (object Parameter "aSocket" - type "RInternalSocket&") - (object Parameter "aParser" - type "MLinkManager&")) - concurrency "Sequential" - opExportControl "Private" - uid 1086770766) - (object Operation "ConstructL" - quid "40C6E330016A" - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1086770777) - (object Operation "NewL" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 203))) - quid "40C6E17202D1" - parameters (list Parameters - (object Parameter "aBridge" - type "MPanDeviceOwner&") - (object Parameter "aSocket" - type "RInternalSocket&") - (object Parameter "aParser" - type "MLinkManager&")) - result "CBnepLink*" - concurrency "Sequential" - opExportControl "Public" - uid 1086770767) - (object Operation "Process" - quid "40C6E1DD02E9" - parameters (list Parameters - (object Parameter "aFrame" - type "RBnepFrame&")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086770768) - (object Operation "QueueOnOutput" - quid "40C6E20800BA" - parameters (list Parameters - (object Parameter "aCommand" - type "RBnepControl*")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086770769) - (object Operation "ReadComplete" - quid "40C6E2350065" - parameters (list Parameters - (object Parameter "aChain" - type "RMBufChain&")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086770770) - (object Operation "RemoteDeviceDisconnect" - quid "40C6E2570303" - parameters (list Parameters - (object Parameter "aError" - type "TInt")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086770771) - (object Operation "ResumeDataTransfer" - quid "40C6E29703C3" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086770773) - (object Operation "SendFrame" - quid "40F6780900E4" - parameters (list Parameters - (object Parameter "aFrame" - type "RBnepFrame&")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1089877761) - (object Operation "SuspendDataTransfer" - quid "40C6E28701AD" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086770772) - (object Operation "Install" - quid "4124B28303C6" - parameters (list Parameters - (object Parameter "aFilterTable" - type "CMultiAddrFilterTable*")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1092910091) - (object Operation "Install" - quid "4124B2A702CE" - parameters (list Parameters - (object Parameter "aFilterTable" - type "CNetTypeFilterTable*")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1092910092) - (object Operation "Proceed" - quid "413C2FB60246" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1094461838) - (object Operation "Stop" - quid "41764F4303CE" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1098271422)) - class_attributes (list class_attribute_list - (object ClassAttribute "LinkManager" - quid "40C6E37800AF" - type "MLinkManager&") - (object ClassAttribute "Negotiating" - quid "40F67992016B" - type "TBool")) - module "Component View::BNEP::CBnepLink (module body)" - quidu "40C44DC50014" - module "Component View::BNEP::CBnepLink (module spec)" - quidu "40C44DBD03A1" - language "C++") - (object Class "CBnepChannelController" - attributes (list Attribute_Set) - quid "40C0512A0181" - fields (list has_relationship_list - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE)) - quid "40C578F90049" - label "SetupInProgress" - supplier "Logical View::Undocument::Epoc32::TBool" - quidu "40C060B001DF" - Containment "By Value") - (object Has_Relationship - quid "40C579450305" - label "Link" - supplier "Logical View::CBnepLink" - quidu "40C0510D0175" - Containment "By Reference")) - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "410DFEC602F1" - supplier "Logical View::Undocument::Epoc32::CBase" - quidu "40C052FD00B0") - (object Inheritance_Relationship - quid "410DFECB0027" - supplier "Logical View::MBnepChannelControl" - quidu "40C0513D0066") - (object Inheritance_Relationship - quid "410DFECE01D0" - supplier "Logical View::MLinkManager" - quidu "40C050FF0107")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "40C57A5D03B2" - supplier "Logical View::MPanConnectionNotify" - quidu "40C0607803DD") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40C57A9A025B" - supplier "Logical View::CBnepBridge" - quidu "40C049600007") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40C57ACF00E5" - supplier "Logical View::Undocument::Comms-infras::RInternalSocket" - quidu "40C46FE80331") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE) - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value FALSE)) - quid "40C583270118" - supplier "Logical View::Undocument::Networking::TBluetoothPanRole" - quidu "40C06019037D") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40C583560256" - supplier "Logical View::RBnepSetupConnectionResponseControl" - quidu "40C050B10245") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40C58359020A" - supplier "Logical View::RBnepSetupConnectionRequestControl" - quidu "40C04FE6035B") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "40C867E90133" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40F69451036F" - supplier "Logical View::RBnepFilterNetTypeSetRequestControl" - quidu "40F68AE302E2") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40F69454012F" - supplier "Logical View::RBnepFilterNetTypeResponseControl" - quidu "40F68B03028E") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40F694560236" - supplier "Logical View::RBnepFilterMultiAddrSetRequestControl" - quidu "40F68B20014F") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40F69458037A" - supplier "Logical View::RBnepFilterMultiAddrResponseControl" - quidu "40F68B66004C") - (object Uses_Relationship - quid "41050A820084" - supplier "Logical View::RBnepNotUnderstoodResponseControl" - quidu "410509070129") - (object Uses_Relationship - quid "4123479D03CD" - supplier "Logical View::TBnepControlType" - quidu "40C06127015E") - (object Uses_Relationship - quid "4124B5250357" - supplier "Logical View::CMultiAddrFilterTable" - quidu "412478830308") - (object Uses_Relationship - quid "4124B5290227" - supplier "Logical View::CNetTypeFilterTable" - quidu "412478A20031") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "416FBA7B01AD" - supplier "Logical View::BnepUtils" - quidu "40C5B2D3013F")) - operations (list Operations - (object Operation "BnepRoleRequestFromLocalDevice" - quid "40C574D00246" - parameters (list Parameters - (object Parameter "aRequestedLocalRole" - type "TBluetoothPanRole") - (object Parameter "aRequestedRemoteRole" - type "TBluetoothPanRole")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086681397) - (object Operation "BnepRoleResponseFromLocalDevice" - quid "40C5753B0055" - parameters (list Parameters - (object Parameter "aRoleResponseCode" - type "TBnepSetupConnectionResponseMessage")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086681398) - (object Operation "CBnepChannelController" - quid "40C57B4603C1" - parameters (list Parameters - (object Parameter "aNotify" - type "MPanConnectionNotify&")) - concurrency "Sequential" - opExportControl "Private" - uid 1086681399) - (object Operation "Close" - quid "40C57B0D036F" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086681400) - (object Operation "ConstructL" - quid "40C57B8000B7" - parameters (list Parameters - (object Parameter "aBridge" - type "CBnepBridge&") - (object Parameter "aConnectedSocket" - type "RInternalSocket&")) - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1086681402) - (object Operation "Handle" - quid "40C57BFF0236" - parameters (list Parameters - (object Parameter "aSetupRequest" - type "RBnepSetupConnectionRequestControl*")) - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1086681404) - (object Operation "Handle" - quid "40C57C3F0120" - parameters (list Parameters - (object Parameter "aSetupResponse" - type "RBnepSetupConnectionResponseControl*")) - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1086681405) - (object Operation "Handle" - quid "40F6925C0275" - parameters (list Parameters - (object Parameter "aFilterNetTypeSetRequest" - type "RBnepFilterNetTypeSetRequestControl*")) - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1089877762) - (object Operation "Handle" - quid "40F6927700CF" - parameters (list Parameters - (object Parameter "aFilterNetTypeResponse" - type "RBnepFilterNetTypeResponseControl*")) - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1089877763) - (object Operation "Handle" - quid "40F6928402D6" - parameters (list Parameters - (object Parameter "aFilterMultiAddrSetRequest" - type "RBnepFilterMultiAddrSetRequestControl*")) - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1089877764) - (object Operation "Handle" - quid "40F692A203C0" - parameters (list Parameters - (object Parameter "aFilterMultiAddrResponse" - type "RBnepFilterMultiAddrResponseControl*")) - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1089877765) - (object Operation "HandleUnknownCommandPacket" - quid "4105042701ED" - parameters (list Parameters - (object Parameter "aControl" - type "RBnepControl*")) - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1090840556) - (object Operation "NewL" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 203))) - quid "40C46DC00341" - parameters (list Parameters - (object Parameter "aBridge" - type "CBnepBridge&") - (object Parameter "aConnectedSocket" - type "RInternalSocket&") - (object Parameter "aNotify" - type "MPanConnectionNotify&")) - result "CBnepChannelController*" - concurrency "Sequential" - opExportControl "Public" - uid 1086599887) - (object Operation "Execute" - quid "40C57C6C0392" - parameters (list Parameters - (object Parameter "aControl" - type "RBnepControl*")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086681406) - (object Operation "RemoteDeviceDisconnect" - quid "40C57B1B0206" - parameters (list Parameters - (object Parameter "aError" - type "TInt")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086681401)) - class_attributes (list class_attribute_list - (object ClassAttribute "Notify" - quid "40C57A11011E" - type "MPanConnectionNotify&")) - module "Component View::BNEP::CBnepChannelController (module spec)" - quidu "40C44DA3005B" - module "Component View::BNEP::CBnepChannelController (module body)" - quidu "40C44DAE022D" - language "C++") - (object Class "MBnepChannelControl" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "40C0513D0066" - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "40C82B8E0350" - supplier "Logical View::Undocument::Networking::TBluetoothPanRole" - quidu "40C06019037D") - (object Uses_Relationship - quid "40C82BCC01FB" - supplier "Logical View::TBnepSetupConnectionResponseMessage" - quidu "40C4789702BF") - (object Uses_Relationship - quid "40E3EC3002F2" - supplier "Logical View::MPanConnectionNotify" - quidu "40C0607803DD")) - operations (list Operations - (object Operation "BnepRoleRequestFromLocalDevice" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 202))) - quid "40C8272201C2" - parameters (list Parameters - (object Parameter "aRequestedLocalRole" - type "TBluetoothPanRole") - (object Parameter "aRequestedRemoteRole" - type "TBluetoothPanRole")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "BnepRoleResponseFromLocalDevice" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 202))) - quid "40C8278F013D" - parameters (list Parameters - (object Parameter "aRoleResponseCode" - type "TBnepSetupConnectionResponseMessage")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "Close" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 202))) - quid "40C827D502CE" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0)) - module "Component View::inc::pancommon (module spec)" - quidu "40C8232C00AC" - language "C++") - (object Class "MPanConnectionNotify" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "40C0607803DD" - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "40C82C530340" - supplier "Logical View::Undocument::Bluetooth::TUUID" - quidu "40C05FB10297") - (object Uses_Relationship - quid "40C82C560055" - supplier "Logical View::Undocument::Epoc32::TBool" - quidu "40C060B001DF") - (object Uses_Relationship - quid "40C82C58027E" - supplier "Logical View::Undocument::Epoc32::TInt" - quidu "40C059E301D2") - (object Uses_Relationship - quid "40C82C5B00A2" - supplier "Logical View::TBnepSetupConnectionResponseMessage" - quidu "40C4789702BF")) - operations (list Operations - (object Operation "BnepRoleRequestFromRemoteDevice" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 202))) - quid "40C8281C038E" - parameters (list Parameters - (object Parameter "aRequestedLocalRole" - type "TUUID&") - (object Parameter "aRequestedRemoteRole" - type "TUUID&")) - result "TBool" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "BnepRoleResponseFromRemoteDevice" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 202))) - quid "40C8286D0326" - parameters (list Parameters - (object Parameter "aRoleResponseCode" - type "TBnepSetupConnectionResponseMessage")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0) - (object Operation "RemoteDeviceDisconnect" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 202))) - quid "40C828AC0146" - parameters (list Parameters - (object Parameter "aError" - type "TInt")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 0)) - module "Component View::inc::pancommon (module spec)" - quidu "40C8232C00AC" - language "C++") - (object Class "TBnepPacketType" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ImplementationType" - value (value Text -|enum -|{ -|EBnepGeneralEthernet = 0x00, -|EBnepControl = 0x01, -|EBnepCompressedEthernet = 0x02, -|EBnepCompressedEthernetSourceOnly = 0x03, -|EBnepCompressedEthernetDestOnly = 0x04, -|EBnepHighestSigReserved = 0xfe -|// highest future use reserved value for BT SIG use -|// IEEE802.15 group has reserved 0xff -|} - ))) - quid "40C060F603DE" - module "Component View::BNEP::BnepTypes (module spec)" - quidu "40C46C7D03C9" - language "C++") - (object Class "TBnepExtensionType" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ImplementationType" - value (value Text -|enum -|{ -|EBnepExtensionControl = 0x00 -|} - ))) - quid "40C061120013" - module "Component View::BNEP::BnepTypes (module spec)" - quidu "40C46C7D03C9" - language "C++") - (object Class "TBnepControlType" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ImplementationType" - value (value Text -|enum -|{ -|EBnepControlCommandNotUnderstood = 0x00, -|EBnepSetupConnectionRequestMessage = 0x01, -|EBnepSetupConnectionResponseMessage = 0x02, -|EBnepFilterNetTypeSetMsg = 0x03, -|EBnepFilterNetTypeResponse = 0x04, -|EBnepFilterMultiAddrSetMsg = 0x05, -|EBnepFilterMultiAddrResponseMsg = 0x06 -|} - ))) - quid "40C06127015E" - module "Component View::BNEP::BnepTypes (module spec)" - quidu "40C46C7D03C9" - language "C++") - (object Class "CSocketWriter" - quid "40C0651F0155" - fields (list has_relationship_list - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE)) - quid "416CE34C03B6" - label "Queue" - supplier "Logical View::Undocument::Comms-infras::RMBufPktQ" - quidu "416D41B40278" - Containment "By Value") - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE)) - quid "417016E103C8" - label "QueueSize" - supplier "Logical View::Undocument::Epoc32::TUint8" - quidu "40C060DE031C" - Containment "By Value")) - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "40C6E7280139" - supplier "Logical View::Undocument::Epoc32::CActive" - quidu "40C0653F024B")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "40C6E9A000CA" - supplier "Logical View::Undocument::Comms-infras::RInternalSocket" - quidu "40C46FE80331") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40C6E9F20077" - supplier "Logical View::CBnepLink" - quidu "40C0510D0175") - (object Uses_Relationship - quid "416CE406025F" - supplier "Logical View::Undocument::Epoc32::TSglQue" - quidu "40C5935D0224") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "417019B40396" - supplier "Logical View::BnepUtils" - quidu "40C5B2D3013F")) - operations (list Operations - (object Operation "NewL" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 203))) - quid "40C6E81C01C6" - parameters (list Parameters - (object Parameter "aSocket" - type "RInternalSocket&") - (object Parameter "aOwner" - type "CBnepLink&")) - result "CSocketWriter*" - concurrency "Sequential" - opExportControl "Public" - uid 1086770759) - (object Operation "Write" - quid "40C6E8850330" - parameters (list Parameters - (object Parameter "aChain" - type "RMBufChain&")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086770760) - (object Operation "CSocketWriter" - quid "40C6E8C800F1" - parameters (list Parameters - (object Parameter "aSocket" - type "RInternalSocket&") - (object Parameter "aOwner" - type "CBnepLink&")) - concurrency "Sequential" - opExportControl "Private" - uid 1086770758) - (object Operation "ConstructL" - quid "40C6E9090072" - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1086770763) - (object Operation "RunL" - quid "40C6E91C0188" - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1086770764) - (object Operation "DoCancel" - quid "40C6E928008B" - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1086770765)) - class_attributes (list class_attribute_list - (object ClassAttribute "Socket" - quid "40C6E7B9003D" - type "RInternalSocket&") - (object ClassAttribute "BnepLink" - quid "40C6E7CD023B" - type "CBnepLink&")) - module "Component View::BNEP::CSocketWriter (module spec)" - quidu "40C466CE01BE" - module "Component View::BNEP::CSocketWriter (module body)" - quidu "40C466E5012B" - language "C++") - (object Class "CSocketReader" - quid "40C0652B0094" - fields (list has_relationship_list - (object Has_Relationship - quid "40F681F30061" - label "RecvMsg" - supplier "Logical View::Undocument::Comms-infras::RMBufChain" - quidu "40C0613602A0" - Containment "By Value")) - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "40C6EBF101F9" - supplier "Logical View::Undocument::Epoc32::CActive" - quidu "40C0653F024B")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "40C6EBE80065" - supplier "Logical View::Undocument::Comms-infras::RInternalSocket" - quidu "40C46FE80331") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40C6EBEB0363" - supplier "Logical View::CBnepLink" - quidu "40C0510D0175")) - operations (list Operations - (object Operation "ConstructL" - quid "40C6ECEE015C" - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1086770783) - (object Operation "CSocketReader" - quid "40C6ECA00359" - parameters (list Parameters - (object Parameter "aSocket" - type "RInternalSocket&") - (object Parameter "aOwner" - type "CBnepLink&")) - concurrency "Sequential" - opExportControl "Private" - uid 1086770778) - (object Operation "DoCancel" - quid "40C6ED25006B" - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1086770785) - (object Operation "NewL" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 203))) - quid "40C6EC1503A9" - parameters (list Parameters - (object Parameter "aSocket" - type "RInternalSocket&") - (object Parameter "aOwner" - type "CBnepLink&")) - result "CSocketReader*" - concurrency "Sequential" - opExportControl "Public" - uid 1086770779) - (object Operation "Read" - quid "40C6EC2C0348" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086770780) - (object Operation "RunL" - quid "40C6ED1D0128" - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1086770784)) - class_attributes (list class_attribute_list - (object ClassAttribute "Socket" - quid "40C6EDC70172" - type "RInternalSocket&") - (object ClassAttribute "BnepLink" - quid "40C6EDDB022F" - type "CBnepLink&")) - module "Component View::BNEP::CSocketReader (module spec)" - quidu "40C466A30054" - module "Component View::BNEP::CSocketReader (module body)" - quidu "40C466AA0343" - language "C++") - (object Instantiated_Class "( TFixedArray < MPanDevice*, KMaxPanConnections > )" - quid "40C440B501D8" - instantiation_relationship (object Instantiation_Relationship - quid "40C441EF01ED" - supplier "Logical View::Undocument::Epoc32::TFixedArray" - quidu "40C43A840319") - language "C++" - parameters (list Parameters - (object Parameter "MPanDevice*") - (object Parameter "KMaxPanConnections"))) - (object Instantiated_Class "( TSglQue < RBnepControl > )" - quid "40C594270261" - instantiation_relationship (object Instantiation_Relationship - quid "40C5946C00D9" - supplier "Logical View::Undocument::Epoc32::TSglQue" - quidu "40C5935D0224") - language "C++" - parameters (list Parameters - (object Parameter "RBnepControl"))) - (object Class "BnepUtils" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "40C5B2D3013F" - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "40D2D6BD0288" - supplier "Logical View::Undocument::Epoc32::TInt" - quidu "40C059E301D2") - (object Uses_Relationship - quid "40DAE9A60366" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D") - (object Uses_Relationship - quid "40DAEA110233" - supplier "Logical View::TBnepTls" - quidu "40C5B5000031") - (object Uses_Relationship - quid "414059170221" - supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" - quidu "40C05A14029A") - (object Uses_Relationship - quid "416E76C202F1" - supplier "Logical View::Undocument::Epoc32::TBool" - quidu "40C060B001DF") - (object Uses_Relationship - quid "416FB65A03C0" - supplier "Logical View::TBnepPanic" - quidu "416FB58201DE")) - operations (list Operations - (object Operation "AllocTls" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 203))) - quid "40C5B3AC02E5" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086681429) - (object Operation "IsMulticast" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 203))) - quid "4124B63400AE" - parameters (list Parameters - (object Parameter "aAddr" - type "const TBTDevAddr&")) - result "TBool" - concurrency "Sequential" - opExportControl "Public" - uid 1092910093) - (object Operation "Panic" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 203))) - quid "416FB75F02C1" - parameters (list Parameters - (object Parameter "aReason" - type "Bnep::TBnepPanic")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1097840160)) - module "Component View::BNEP::BnepUtils (module spec)" - quidu "40C5B41101BE" - module "Component View::BNEP::BnepUtils (module body)" - quidu "40C5B43101F6" - language "C++") - (object Class "TBnepTls" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "40C5B5000031" - fields (list has_relationship_list - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE)) - quid "40C5B68C0063" - label "Log" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D" - Containment "By Reference")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "40DBF95700C7" - supplier "Logical View::Undocument::Epoc32::Mem" - quidu "40DBF88C03DC")) - operations (list Operations - (object Operation "TBnepTls" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "40C5B5460281" - concurrency "Sequential" - opExportControl "Public" - uid 1086681430) - (object Operation "~TBnepTls" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "40C5B5600007" - concurrency "Sequential" - opExportControl "Public" - uid 1086681431) - (object Operation "SetLogger" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "40C5B577001E" - parameters (list Parameters - (object Parameter "aLogger" - type "CBnepLog*")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086681432) - (object Operation "Logger" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "40C5B5CE01E6" - result "CBnepLog*" - concurrency "Sequential" - opExportControl "Public" - uid 1086681433)) - module "Component View::BNEP::BnepUtils (module spec)" - quidu "40C5B41101BE" - language "C++") - (object Class "CBnepLog" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDefaultConstructor" - value ("GenerateSet" 199)) - (object Attribute - tool "cg" - name "DefaultConstructorVisibility" - value ("VisibilitySet" 43))) - quid "40C5B5A9014D" - fields (list has_relationship_list - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE)) - quid "40D2D19302D7" - label "MainLog" - supplier "Logical View::Undocument::Comms-infras::RFileLogger" - quidu "40D2D0FC0149" - Containment "By Value")) - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "40D2CE9201C3" - supplier "Logical View::Undocument::Epoc32::CBase" - quidu "40C052FD00B0")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "40D2D6080224" - supplier "Logical View::TBnepTls" - quidu "40C5B5000031") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE)) - quid "40DAEA8103BB" - supplier "Logical View::BnepUtils" - quidu "40C5B2D3013F")) - operations (list Operations - (object Operation "Construct" - attributes (list Attribute_Set) - quid "40D2CF3F032A" - result "TInt" - concurrency "Sequential" - opExportControl "Private" - uid 1087557284) - (object Operation "InitTls" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 203))) - quid "40D2CF7202C9" - result "CBnepLog*" - concurrency "Sequential" - opExportControl "Private" - uid 1087557285) - (object Operation "New" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 203))) - quid "40C5BECE0012" - result "CBnepLog*" - concurrency "Sequential" - opExportControl "Public" - uid 1086681436) - (object Operation "Printf" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 203))) - quid "40C5C03C0394" - parameters (list Parameters - (object Parameter "aFmt" - type "TRefByValue") - (object Parameter "DOTDOTDOT" - type "NOTYPE")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086681438) - (object Operation "Write" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 203))) - quid "40C5BEF400F3" - parameters (list Parameters - (object Parameter "BNEP_DESCRIPTOR" - type "const TDesC8&")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086681437)) - module "Component View::BNEP::CBnepLog (module spec)" - quidu "40C5B93B0237" - module "Component View::BNEP::CBnepLog (module body)" - quidu "40C5B9440050" - language "C++") - (object Class "CBTAddrSubscriber" - quid "40C5B9A6014B" - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "40CEC1CF00ED" - supplier "Logical View::Undocument::Epoc32::CActive" - quidu "40C0653F024B")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "40CEC4DC0122" - supplier "Logical View::CBnepLocalDevice" - quidu "40C049420180") - (object Uses_Relationship - quid "40CEC4FF000A" - supplier "Logical View::Undocument::Epoc32::RProperty" - quidu "40CEC37300A1") - (object Uses_Relationship - quid "40CEC50F036B" - supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" - quidu "40C05A14029A") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "40CEDA7C008D" - supplier "Logical View::Undocument::Bluetooth::KPropertyUidBluetoothCategory" - quidu "40CEDA4800E2")) - operations (list Operations - (object Operation "NewL" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 203))) - quid "40CEC1D801E1" - parameters (list Parameters - (object Parameter "aAddr" - type "TBTDevAddr&") - (object Parameter "aLocal" - type "CBnepLocalDevice&")) - result "CBTAddrSubscriber*" - concurrency "Sequential" - opExportControl "Public" - uid 1087291647) - (object Operation "RunL" - quid "40CEC22F0222" - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1087291648) - (object Operation "DoCancel" - quid "40CEC2380120" - result "void" - concurrency "Sequential" - opExportControl "Private" - uid 1087291649) - (object Operation "CBTAddrSubscriber" - quid "40CEC2490067" - parameters (list Parameters - (object Parameter "aAddr" - type "TBTDevAddr&") - (object Parameter "aLocal" - type "CBnepLocalDevice&")) - concurrency "Sequential" - opExportControl "Private" - uid 1087291646) - (object Operation "SyncFetch" - quid "414A9860002D" - parameters (list Parameters - (object Parameter "aRestart" - type "TBool" - initv "EFalse")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1095407892)) - class_attributes (list class_attribute_list - (object ClassAttribute "Addr" - quid "40CEC2A102C6" - type "TBTDevAddr&") - (object ClassAttribute "Owner" - quid "40CEC2BB0223" - type "CBnepLocalDevice&") - (object ClassAttribute "DevAddrProperty" - quid "40CEC2D602E0" - type "RProperty")) - module "Component View::BNEP::CBTAddrSubscriber (module spec)" - quidu "40C5B9BC0391" - module "Component View::BNEP::CBTAddrSubscriber (module body)" - quidu "40C5B9D300E1" - language "C++") - (object Class "TFuncInstrument" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value TRUE) - (object Attribute - tool "cg" - name "InlineDestructor" - value TRUE)) - quid "40C5CB0E02ED" - fields (list has_relationship_list - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE)) - quid "40D2DA1B02A6" - label "String" - supplier "Logical View::Undocument::Epoc32::TPtrC8" - quidu "40D2D75002B1" - Containment "By Value") - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE)) - quid "40D2DA310261" - label "This" - supplier "Logical View::Undocument::Epoc32::TAny" - quidu "40C6DA6A02DD" - Containment "By Reference")) - operations (list Operations - (object Operation "TFuncInstrument" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "40C5CE1502BF" - parameters (list Parameters - (object Parameter "aString" - type "const TDesC8&") - (object Parameter "aThis" - type "TAny*")) - concurrency "Sequential" - opExportControl "Public" - uid 1086681440) - (object Operation "TrapIn" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "40D2D9CF03AB" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1087557289) - (object Operation "TrapOut" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "40D2D9DE01CC" - parameters (list Parameters - (object Parameter "aErr" - type "TInt")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1087557290)) - module "Component View::BNEP::CBnepLog (module spec)" - quidu "40C5B93B0237" - module "Component View::BNEP::CBnepLog (module body)" - quidu "40C5B9440050" - language "C++") - (object Class "TStaticInstrument" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value TRUE) - (object Attribute - tool "cg" - name "InlineDestructor" - value TRUE)) - quid "40C5CBEB033B" - fields (list has_relationship_list - (object Has_Relationship - quid "40D2D76E012E" - label "String" - supplier "Logical View::Undocument::Epoc32::TPtrC8" - quidu "40D2D75002B1" - Containment "By Value")) - operations (list Operations - (object Operation "TStaticInstrument" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "40D2D7A401F4" - parameters (list Parameters - (object Parameter "aString" - type "const TDesC8&")) - concurrency "Sequential" - opExportControl "Public" - uid 1087557286) - (object Operation "TrapIn" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "40D2D7C5027E" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1087557287) - (object Operation "TrapOut" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Inline" - value TRUE)) - quid "40D2D7CE00F0" - parameters (list Parameters - (object Parameter "aErr" - type "TInt")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1087557288)) - module "Component View::BNEP::CBnepLog (module spec)" - quidu "40C5B93B0237" - module "Component View::BNEP::CBnepLog (module body)" - quidu "40C5B9440050" - language "C++") - (object Class "TBnepSetupConnectionResponseMessage" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ImplementationType" - value (value Text -|enum -|{ -|EOperationSuccessful = 0x00, -|EInvalidDestinationServiceUuid = 0x01, -|EInvalidSourceServiceUuid = 0x02, -|EInvalidServiceUuidSize = 0x03, -|EConnectionNotAllowed = 0x04 -|} - )) - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "40C4789702BF" - module "Component View::inc::pancommon (module spec)" - quidu "40C8232C00AC" - language "C++") - (object Class "TBnepAgentToNifNotification" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE) - (object Attribute - tool "cg" - name "ImplementationType" - value (value Text -|enum -|{ -|EPanAgentToNifGetConnectionManager = KVendorSpecificNotificationStart, -|EPanGetTestApi -|} - ))) - quid "40C478E10276" - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "40C830E601DB" - supplier "Logical View::Undocument::Comms-infras::KVendorSpecificNotificationStart" - quidu "40C830920003")) - module "Component View::inc::pancommon (module spec)" - quidu "40C8232C00AC" - language "C++") - (object Class "TBnepConnectionManager" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "40C47D9300BB" - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "40C82E1002DB" - supplier "Logical View::MBnepConnectionManager" - quidu "40C049870017") - (object Uses_Relationship - quid "40E3EB7B037E" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D")) - class_attributes (list class_attribute_list - (object ClassAttribute "BnepConnectionManager" - quid "40C8263900EB" - type "MBnepConnectionManager*")) - module "Component View::inc::pancommon (module spec)" - quidu "40C8232C00AC" - language "C++") - (object Class "CBnepPktDrvFactory" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDefaultConstructor" - value ("GenerateSet" 199))) - quid "40C969BB025E" - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "40C96A88014B" - supplier "Logical View::Undocument::inc::CPktDrvFactory" - quidu "40C5BC6B02A9")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "40C96E0E004D" - supplier "Logical View::Undocument::Comms-infras::CNifMan" - quidu "40C96DB6023B") - (object Uses_Relationship - quid "40C96FD90115" - supplier "Logical View::Undocument::Epoc32::TVersion" - quidu "40C96F9C015E") - (object Uses_Relationship - quid "40C970A901BF" - supplier "Logical View::Undocument::Epoc32::CObject" - quidu "40C9705600BB") - (object Uses_Relationship - quid "40C970E50247" - supplier "Logical View::Undocument::Comms-infras::RMBufChain" - quidu "40C0613602A0") - (object Uses_Relationship - quid "40C97465012D" - supplier "Logical View::Undocument::Epoc32::CObjectCon" - quidu "40C974440144") - (object Uses_Relationship - quid "40C974680019" - supplier "Logical View::Undocument::Epoc32::RLibrary" - quidu "40C9740200C7") - (object Uses_Relationship - quid "40C9750D0107" - supplier "Logical View::Undocument::inc::CLANLinkFactory" - quidu "40C47D4F0399") - (object Uses_Relationship - quid "40C9B1F7036A" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "40C9B22A0241" - supplier "Logical View::TBnepTls" - quidu "40C5B5000031") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "40C9B35A036B" - supplier "Logical View::CBnepLocalDevice" - quidu "40C049420180")) - operations (list Operations - (object Operation "InitL" - quid "40C96AB703BF" - parameters (list Parameters - (object Parameter "aLib" - type "RLibrary&") - (object Parameter "aCon" - type "CObjectCon&")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1086940791) - (object Operation "NewDriverL" - quid "40C96AC802FB" - parameters (list Parameters - (object Parameter "aParent" - type "CLANLinkCommon*")) - result "CPktDrvBase*" - concurrency "Sequential" - opExportControl "Public" - uid 1086940792) - (object Operation "Open" - quid "40C96AFD0211" - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1086940793) - (object Operation "Version" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationIsConst" - value TRUE)) - quid "40C96B0C03C1" - result "TVersion" - concurrency "Sequential" - opExportControl "Public" - uid 1086940795)) - module "Component View::BNEP::CBnepPktDrvFactory (module spec)" - quidu "40C969D40322" - module "Component View::BNEP::CBnepPktDrvFactory (module body)" - quidu "40C969F1002B" - language "C++") - (object Class "RBnepFilterNetTypeSetRequestControl" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "40F68AE302E2" - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "40F68D690273" - supplier "Logical View::RBnepControl" - quidu "40C04FCB02D0")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "4104E7DB025F" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "4104FA2A02F5" - supplier "Logical View::TFilterNetTypeResponse" - quidu "40FB8EB8008D")) - operations (list Operations - (object Operation "NetworkProtocolTypeListLength" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationIsConst" - value TRUE)) - quid "40FB98900131" - parameters (list Parameters - (object Parameter "aLength" - type "TUint16&")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1090229591) - (object Operation "NetworkProtocolTypeRange" - quid "40FB97C801BF" - parameters (list Parameters - (object Parameter "aStartValue" - type "TUint16&") - (object Parameter "aEndValue" - type "TUint16&") - (object Parameter "aIndex" - type "TUint")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1090229589)) - module "Component View::BNEP::RBnepFilterNetTypeSetRequestControl (module spec)" - quidu "40F68B980383" - module "Component View::BNEP::RBnepFilterNetTypeSetRequestControl (module body)" - quidu "40F68BC300F0" - module "RBnepFilterNetTypeSetRequestFrame" - module "RBnepFilterNetTypeSetRequestFrame" - module "RBnepFilterNetTypeSetRequestFrame" - module "RBnepFilterNetTypeSetRequestFrame" - language "C++" - nestedClasses (list nestedClasses - (object Class "NetTypeSetRequestConstants" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ImplementationType" - value (value Text -|enum -|{ -|KNetworkProtocolTypeListLengthFieldOffset = KSizeOfBnepControlType, -|KNetworkProtocolTypeFirstPairFieldOffset = KSizeOfBnepControlType+KSizeOfNetTypeFilterListLength, -|KMaxSizeOfFilterNetTypeSet = KSizeOfBnepControlType + KSizeOfNetTypeFilterListLength + (KMaxNetworkTypeFilterPairs*2*KSizeOfNetType) // control type (1) + list length (2) + n*2*network type - one start and one end (2*2) -|} - )) - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepFilterNetTypeSetRequestControl.h")) - quid "40FB990702EA" - exportControl "Private" - module "RBnepFilterNetTypeSetRequestFrame" - module "RBnepFilterNetTypeSetRequestFrame" - module "RBnepFilterNetTypeSetRequestFrame" - module "RBnepFilterNetTypeSetRequestFrame"))) - (object Class "RBnepFilterNetTypeResponseControl" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "40F68B03028E" - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "40F68D560243" - supplier "Logical View::RBnepControl" - quidu "40C04FCB02D0")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "4104E7A502E3" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "4104FA2701E2" - supplier "Logical View::TFilterNetTypeResponse" - quidu "40FB8EB8008D")) - operations (list Operations - (object Operation "InitL" - quid "40FB9C850296" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1090412521) - (object Operation "SetNetTypeResponseL" - quid "40FB9CA0014A" - parameters (list Parameters - (object Parameter "aResponse" - type "TFilterNetTypeResponse")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1090412523)) - module "Component View::BNEP::RBnepFilterNetTypeResponseControl (module spec)" - quidu "40F68BF800CE" - module "Component View::BNEP::RBnepFilterNetTypeResponseControl (module body)" - quidu "40F68C22029B" - module "RBnepFilterNetTypeResponseFrame" - module "RBnepFilterNetTypeResponseFrame" - module "RBnepFilterNetTypeResponseFrame" - module "RBnepFilterNetTypeResponseFrame" - language "C++" - nestedClasses (list nestedClasses - (object Class "NetTypeResponseConstants" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ImplementationType" - value (value Text -|enum -|{ -|KFilterNetTypeResponseFieldOffset = KControlResponseOffset, -|KMaxSizeOfFilterNetTypeResponse = KSizeOfBnepControlType + KSizeOfBnepResponseCode // control type (1) + response code (2) -|} - )) - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepFilterNetTypeResponseControl.h")) - quid "40FB9CDC0313" - exportControl "Private" - module "RBnepFilterNetTypeResponseFrame" - module "RBnepFilterNetTypeResponseFrame" - module "RBnepFilterNetTypeResponseFrame" - module "RBnepFilterNetTypeResponseFrame"))) - (object Class "RBnepFilterMultiAddrSetRequestControl" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "40F68B20014F" - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "40F68D5900AD" - supplier "Logical View::RBnepControl" - quidu "40C04FCB02D0")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "4104E7A20177" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "4104FA4501C7" - supplier "Logical View::TFilterMultiAddrResponse" - quidu "40FB8FD103B2")) - operations (list Operations - (object Operation "MultiAddrRange" - quid "40FE6053015E" - parameters (list Parameters - (object Parameter "aStartAddr" - type "TBTDevAddr&") - (object Parameter "aEndAddr" - type "TBTDevAddr&") - (object Parameter "aIndex" - type "TUint")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1090412525) - (object Operation "MulticastAddressListLength" - quid "40FE60F801E7" - result "TUint16" - concurrency "Sequential" - opExportControl "Public" - uid 1090412527)) - module "Component View::BNEP::RBnepFilterMultiAddrSetRequestControl (module spec)" - quidu "40F68C510035" - module "Component View::BNEP::RBnepFilterMultiAddrSetRequestControl (module body)" - quidu "40F68C750308" - module "RBnepFilterMultiAddrSetRequestFrame" - module "RBnepFilterMultiAddrSetRequestFrame" - module "RBnepFilterMultiAddrSetRequestFrame" - module "RBnepFilterMultiAddrSetRequestFrame" - language "C++" - nestedClasses (list nestedClasses - (object Class "MultiAddrSetRequestConstants" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ImplementationType" - value (value Text -|enum -|{ -|KMultiAddrListLengthFieldOffset = KSizeOfBnepControlType, -|KMultiAddrListFirstPairFieldOffset = KSizeOfBnepControlType + KSizeOfMultiAddrFilterListLength, -|KMaxSizeOfMultiAddrSet = KSizeOfBnepControlType + KSizeOfMultiAddrFilterListLength + (KMaxMultiAddrFilterPairs*2*KSizeOfMultiAddr) -|} - )) - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepFilterMultiAddrSetRequestControl.h")) - quid "40FE612C02A0" - module "RBnepFilterMultiAddrSetRequestFrame" - module "RBnepFilterMultiAddrSetRequestFrame" - module "RBnepFilterMultiAddrSetRequestFrame" - module "RBnepFilterMultiAddrSetRequestFrame"))) - (object Class "RBnepFilterMultiAddrResponseControl" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "40F68B66004C" - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "40F68D6601E2" - supplier "Logical View::RBnepControl" - quidu "40C04FCB02D0")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "4104E79F010E" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D") - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "4104FA4B02CA" - supplier "Logical View::TFilterMultiAddrResponse" - quidu "40FB8FD103B2")) - operations (list Operations - (object Operation "InitL" - quid "4104EF04011A" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1090840549) - (object Operation "SetMultiAddrResponseL" - quid "4104EF4C024A" - parameters (list Parameters - (object Parameter "aResponse" - type "TFilterMultiAddrResponse")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1090840551)) - module "Component View::BNEP::RBnepFilterMultiAddrResponseControl (module spec)" - quidu "40F68C9900ED" - module "Component View::BNEP::RBnepFilterMultiAddrResponseControl (module body)" - quidu "40F68CBB01C8" - module "RBnepFilterMultiAddrResponseFrame" - module "RBnepFilterMultiAddrResponseFrame" - module "RBnepFilterMultiAddrResponseFrame" - module "RBnepFilterMultiAddrResponseFrame" - language "C++" - nestedClasses (list nestedClasses - (object Class "MultiAddrResponseConstants" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ImplementationType" - value (value Text -|enum -|{ -|KMultiAddrResponseFieldOffset = KControlResponseOffset, -|KMaxSizeOfMultiAddrResponse = KSizeOfBnepControlType + KSizeOfBnepResponseCode // control type (1) + response code (2) -|} - )) - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepFilterMultiAddrResponseControl.h")) - quid "4104F1E9022E" - module "RBnepFilterMultiAddrResponseFrame" - module "RBnepFilterMultiAddrResponseFrame" - module "RBnepFilterMultiAddrResponseFrame" - module "RBnepFilterMultiAddrResponseFrame"))) - (object Class "TFilterNetTypeResponse" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ImplementationType" - value (value Text -|enum -|{ -|EFilterNetTypeOperationSuccessful = 0x0000, -|EFilterNetTypeUnsupportedRequest = 0x0001, -|EFilterNetTypeInvalidNetworkingProtocolTypeRange = 0x0002, -|EFilterNetTypeTooManyFilters = 0x0003, -|EFilterNetTypeFailedDueToSecurity = 0x0004 -|} - ))) - quid "40FB8EB8008D" - module "Component View::BNEP::BnepTypes (module spec)" - quidu "40C46C7D03C9" - language "C++") - (object Class "TFilterMultiAddrResponse" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ImplementationType" - value (value Text -|enum -|{ -|EFilterMultiAddrOperationSuccessful = 0x0000, -|EFilterMultiAddrUnsupportedRequest = 0x0001, -|EFilterMultiAddrInvalidMulticastAddress = 0x0002, -|EFilterMultiAddrTooManyFilters = 0x0003, -|EFilterMultiAddrFailedDueToSecurity = 0x0004 -|} - ))) - quid "40FB8FD103B2" - module "Component View::BNEP::BnepTypes (module spec)" - quidu "40C46C7D03C9" - language "C++") - (object Class "RBnepNotUnderstoodResponseControl" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "410509070129" - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "4105092401DF" - supplier "Logical View::RBnepControl" - quidu "40C04FCB02D0")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value TRUE)) - quid "4105092F0159" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D")) - operations (list Operations - (object Operation "InitL" - quid "41050B0B012B" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1090840557) - (object Operation "SetUnknownControlType" - quid "41050B4B0173" - parameters (list Parameters - (object Parameter "aUnknownControlType" - type "TUint8")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1090840559)) - module "Component View::BNEP::RBnepNotUnderstoodResponseControl (module spec)" - quidu "41050960014F" - module "Component View::BNEP::RBnepNotUnderstoodResponseControl (module body)" - quidu "4105098103BA" - module "RBnepControlCommandNotUnderstoodResponse" - module "RBnepControlCommandNotUnderstoodResponse" - module "RBnepControlCommandNotUnderstoodResponse" - module "RBnepControlCommandNotUnderstoodResponse" - language "C++" - nestedClasses (list nestedClasses - (object Class "ControlCommandNotUnderstoodResponseConstants" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ImplementationType" - value (value Text -|enum -|{ -|KUnknownControlTypeResponseFieldOffset = KControlResponseOffset, -|KMaxSizeOfCommandNotUnderstoodResponse = KSizeOfBnepResponseCode // response code (2) -|} - )) - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepNotUnderstoodResponseControl.h")) - quid "4106181401B2" - module "RBnepControlCommandNotUnderstoodResponse" - module "RBnepControlCommandNotUnderstoodResponse" - module "RBnepControlCommandNotUnderstoodResponse" - module "RBnepControlCommandNotUnderstoodResponse"))) - (object Class "CMultiAddrFilterTable" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDefaultConstructor" - value ("GenerateSet" 199)) - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "412478830308" - fields (list has_relationship_list - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE)) - quid "41247CF80218" - label "Ctr" - supplier "Logical View::Undocument::Epoc32::TUint" - quidu "40C6DAE70369" - Containment "By Value") - (object Has_Relationship - quid "41247E970070" - label "Table" - supplier "Logical View::( TFixedArray )" - quidu "41247E2602D1" - Containment "By Value")) - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "4124A37B0355" - supplier "Logical View::Undocument::Epoc32::CBase" - quidu "40C052FD00B0")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "41247F6F01D9" - supplier "Logical View::TFilterMultiAddrResponse" - quidu "40FB8FD103B2") - (object Uses_Relationship - quid "412481050089" - supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" - quidu "40C05A14029A") - (object Uses_Relationship - quid "412483C6038F" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D") - (object Uses_Relationship - quid "4125EFC2038A" - supplier "Logical View::TBnepBTDevAddr" - quidu "4125EEA90192")) - operations (list Operations - (object Operation "FilteredOut" - quid "412481480125" - parameters (list Parameters - (object Parameter "aAddr" - type "const TBTDevAddr&")) - result "TBool" - concurrency "Sequential" - opExportControl "Public" - uid 1092910081) - (object Operation "Insert" - quid "41248162028B" - parameters (list Parameters - (object Parameter "aStart" - type "const TBnepBTDevAddr&") - (object Parameter "aEnd" - type "const TBnepBTDevAddr&")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1092910082) - (object Operation "Reset" - quid "4124817901F8" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1092910083) - (object Operation "FilteredOut" - quid "4124893C0390" - parameters (list Parameters - (object Parameter "aAddr" - type "const TBnepBTDevAddr&")) - result "TBool" - concurrency "Sequential" - opExportControl "Public" - uid 1092910089) - (object Operation "Insert" - quid "412489A20382" - parameters (list Parameters - (object Parameter "aStart" - type "const TBTDevAddr&") - (object Parameter "aEnd" - type "const TBTDevAddr&")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1092910090)) - module "Component View::BNEP::CMultiAddrFilterTable (module spec)" - quidu "41247B920123" - module "Component View::BNEP::CMultiAddrFilterTable (module body)" - quidu "41247B9E03D3" - language "C++") - (object Class "CNetTypeFilterTable" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateDefaultConstructor" - value ("GenerateSet" 199)) - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE)) - quid "412478A20031" - fields (list has_relationship_list - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE)) - quid "41247CF402BC" - label "Ctr" - supplier "Logical View::Undocument::Epoc32::TUint" - quidu "40C6DAE70369" - Containment "By Value") - (object Has_Relationship - quid "41247E9003E1" - label "Table" - supplier "Logical View::( TFixedArray )" - quidu "41247DA900FA" - Containment "By Value")) - superclasses (list inheritance_relationship_list - (object Inheritance_Relationship - quid "4124A37F0238" - supplier "Logical View::Undocument::Epoc32::CBase" - quidu "40C052FD00B0")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "41247F6D0032" - supplier "Logical View::TFilterNetTypeResponse" - quidu "40FB8EB8008D") - (object Uses_Relationship - quid "412483C301E6" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D")) - operations (list Operations - (object Operation "FilteredOut" - quid "4124818F00FF" - parameters (list Parameters - (object Parameter "aProtocol" - type "const TUint16")) - result "TBool" - concurrency "Sequential" - opExportControl "Public" - uid 1092910084) - (object Operation "Insert" - quid "4124819702A5" - parameters (list Parameters - (object Parameter "aStart" - type "const TUint16") - (object Parameter "aEnd" - type "const TUint16")) - result "TInt" - concurrency "Sequential" - opExportControl "Public" - uid 1092910085) - (object Operation "Reset" - quid "412481A00366" - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1092910086)) - module "Component View::BNEP::CNetTypeFilterTable (module spec)" - quidu "41247BA90252" - module "Component View::BNEP::CNetTypeFilterTable (module body)" - quidu "41247BB302F7" - language "C++") - (object Instantiated_Class "( TFixedArray )" - quid "41247DA900FA" - instantiation_relationship (object Instantiation_Relationship - quid "41247E180320" - supplier "Logical View::Undocument::Epoc32::TFixedArray" - quidu "40C43A840319") - language "C++" - parameters (list Parameters - (object Parameter "TUint16") - (object Parameter "KNetTypeFilterTableBoundary"))) - (object Instantiated_Class "( TFixedArray )" - quid "41247E2602D1" - instantiation_relationship (object Instantiation_Relationship - quid "41247E7001BF" - supplier "Logical View::Undocument::Epoc32::TFixedArray" - quidu "40C43A840319") - language "C++" - parameters (list Parameters - (object Parameter "TBnepBTDevAddr") - (object Parameter "KMultiAddrFilterTableBoundary"))) - (object Class "TBnepBTDevAddr" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateCopyConstructor" - value ("GenerateSet" 199)) - (object Attribute - tool "cg" - name "GenerateAssignmentOperation" - value ("GenerateSet" 199)) - (object Attribute - tool "cg" - name "GenerateEqualityOperations" - value ("GenerateSet" 199)) - (object Attribute - tool "cg" - name "GenerateDestructor" - value FALSE) - (object Attribute - tool "cg" - name "GenerateDefaultConstructor" - value ("GenerateSet" 199)) - (object Attribute - tool "cg" - name "GenerateRelationalOperations" - value TRUE) - (object Attribute - tool "cg" - name "InlineDefaultConstructor" - value TRUE) - (object Attribute - tool "cg" - name "InlineCopyConstructor" - value TRUE) - (object Attribute - tool "cg" - name "InlineAssignmentOperation" - value TRUE) - (object Attribute - tool "cg" - name "InlineEqualityOperations" - value TRUE) - (object Attribute - tool "cg" - name "InlineRelationalOperations" - value TRUE)) - quid "4125EEA90192" - fields (list has_relationship_list - (object Has_Relationship - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE)) - quid "4125F23A037F" - label "Address" - supplier "Logical View::Undocument::Epoc32::TInt64" - quidu "411769FE0042" - Containment "By Value")) - used_nodes (list uses_relationship_list - (object Uses_Relationship - quid "4125F18501A8" - supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" - quidu "40C05A14029A") - (object Uses_Relationship - quid "4125F9C20183" - supplier "Logical View::CBnepLog" - quidu "40C5B5A9014D")) - operations (list Operations - (object Operation "Address" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "OperationIsConst" - value TRUE)) - quid "4125F35B0082" - result "const TInt64&" - concurrency "Sequential" - opExportControl "Public" - uid 1093006311) - (object Operation "SetAddress" - quid "4125F374027C" - parameters (list Parameters - (object Parameter "aAddr" - type "const TInt64&")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1093006312) - (object Operation "SetAddress" - quid "4125F38501B8" - parameters (list Parameters - (object Parameter "aAddr" - type "const TBTDevAddr&")) - result "void" - concurrency "Sequential" - opExportControl "Public" - uid 1093006313) - (object Operation "TBnepBTDevAddr" - quid "4125F56A021A" - parameters (list Parameters - (object Parameter "aAddr" - type "const TBTDevAddr&")) - concurrency "Sequential" - opExportControl "Public" - uid 1093006314)) - module "Component View::BNEP::TBnepBTDevAddr (module spec)" - quidu "4125EEED010D" - module "Component View::BNEP::TBnepBTDevAddr (module body)" - quidu "4125EF0001A1" - language "C++") - (object Class "TBnepPanic" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "ImplementationType" - value (value Text -|enum -|{ -|ENullTlsPointer, -|ENullPointer, -|EUnableToRespond, -|ESocketWriterQueueOverflow, -|ELogResetAttempt -|} - ))) - quid "416FB58201DE" - module "Component View::BNEP::BnepUtils (module spec)" - quidu "40C5B41101BE" - language "C++") - (object Instantiated_Class "( TSglQue < RBnepLinkChain > )" - quid "416CE2AE0279" - language "C++" - parameters (list Parameters - (object Parameter "RBnepLinkChain"))) - (object Class_Category "BNEP Arrangements & Static Relationships" - quid "40C051660000" - documentation "The following information attempts to describe the structure of key parts of the software such that the maintainer can understand the relationships between the classes." - exportControl "Public" - logical_models (list unit_reference_list) - logical_presentations (list unit_reference_list - (object ClassDiagram "Inheritance Relationships" - quid "40C0517802CD" - title "Inheritance Relationships" - documentation -|This diagram shows all the main inheritance relationships involved in the BNEP implementation. There are three Active Objects; the socket reader and writer used in CBnepLink, and the CBTAddrSubscriber used by CBnepLocalDevice to keep track of the device address property during the separate instantiation ordering scenarios of this driver and the Bluetooth stack. -|All RBnepControls are actually RMBufChains, which means that special care should be taken to ensure their correct resource freeing and destruction to avoid MBuf manager memory leakage. - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 513 - origin_y 169 - items (list diagram_item_list - (object ClassView "Class" "Logical View::MPanDeviceOwner" @1 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - ShowOperationSignature TRUE - location (291, 567) - label (object ItemLabel - Parent_View @1 - location (100, 521) - fill_color 13434879 - nlines 1 - max_width 382 - justify 0 - label "MPanDeviceOwner") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0497600BD" - width 400 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CBnepBridge" @2 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - ShowOperationSignature TRUE - location (291, 972) - label (object ItemLabel - Parent_View @2 - location (158, 926) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "CBnepBridge") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049600007" - width 284 - height 117 - autoResize TRUE) - (object InheritView "" @3 - stereotype TRUE - line_color 3342489 - quidu "40C05A93018F" - client @2 - supplier @1 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLink" @4 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - ShowOperationSignature TRUE - location (723, 975) - label (object ItemLabel - Parent_View @4 - location (604, 929) - fill_color 13434879 - nlines 1 - max_width 238 - justify 0 - label "CBnepLink") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0510D0175" - width 256 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::MPanDevice" @5 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - ShowOperationSignature TRUE - location (837, 564) - label (object ItemLabel - Parent_View @5 - location (708, 518) - fill_color 13434879 - nlines 1 - max_width 258 - justify 0 - label "MPanDevice") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049CB02DC" - width 276 - height 117 - autoResize TRUE) - (object InheritView "" @6 - stereotype TRUE - line_color 3342489 - quidu "40C6E14801CD" - client @4 - supplier @5 - line_style 0) - (object ClassView "Class" "Logical View::CBnepChannelController" @7 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1743, 966) - label (object ItemLabel - Parent_View @7 - location (1504, 920) - fill_color 13434879 - nlines 1 - max_width 478 - justify 0 - label "CBnepChannelController") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0512A0181" - width 496 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::MBnepConnectionManager" @8 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (291, 126) - label (object ItemLabel - Parent_View @8 - location (29, 80) - fill_color 13434879 - nlines 1 - max_width 524 - justify 0 - label "MBnepConnectionManager") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049870017" - width 542 - height 117 - autoResize TRUE) - (object InheritView "" @9 - stereotype TRUE - line_color 3342489 - quidu "4108F88201BC" - client @1 - supplier @8 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLocalDevice" @10 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1089, 972) - label (object ItemLabel - Parent_View @10 - location (905, 926) - fill_color 13434879 - nlines 1 - max_width 368 - justify 0 - label "CBnepLocalDevice") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049420180" - width 386 - height 117 - autoResize TRUE) - (object InheritView "" @11 - stereotype TRUE - line_color 3342489 - quidu "4107BDB201EF" - client @10 - supplier @5 - line_style 0) - (object ClassView "Class" "Logical View::MBnepChannelControl" @12 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1551, 204) - label (object ItemLabel - Parent_View @12 - location (1330, 158) - fill_color 13434879 - nlines 1 - max_width 442 - justify 0 - label "MBnepChannelControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0513D0066" - width 460 - height 117 - autoResize TRUE) - (object InheritView "" @13 - stereotype TRUE - line_color 3342489 - quidu "410DFECB0027" - client @7 - supplier @12 - line_style 0) - (object ClassView "Class" "Logical View::MLinkManager" @14 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1947, 201) - label (object ItemLabel - Parent_View @14 - location (1794, 155) - fill_color 13434879 - nlines 1 - max_width 306 - justify 0 - label "MLinkManager") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C050FF0107" - width 324 - height 117 - autoResize TRUE) - (object InheritView "" @15 - stereotype TRUE - line_color 3342489 - quidu "410DFECE01D0" - client @7 - supplier @14 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::inc::CPktDrvBase" @16 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1089, 213) - label (object ItemLabel - Parent_View @16 - location (953, 167) - fill_color 13434879 - nlines 1 - max_width 272 - justify 0 - label "CPktDrvBase") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5BB5D014C" - width 290 - height 117 - autoResize TRUE) - (object InheritView "" @17 - stereotype TRUE - line_color 3342489 - quidu "4107BDAB0145" - client @10 - supplier @16 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Epoc32::CActive" @18 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1911, 1167) - label (object ItemLabel - Parent_View @18 - location (1826, 1121) - fill_color 13434879 - nlines 1 - max_width 170 - justify 0 - label "CActive") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0653F024B" - width 188 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CBTAddrSubscriber" @19 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1911, 1659) - label (object ItemLabel - Parent_View @19 - location (1717, 1613) - fill_color 13434879 - nlines 1 - max_width 388 - justify 0 - label "CBTAddrSubscriber") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B9A6014B" - width 406 - height 117 - autoResize TRUE) - (object InheritView "" @20 - stereotype TRUE - line_color 3342489 - quidu "40CEC1CF00ED" - client @19 - supplier @18 - line_style 0) - (object ClassView "Class" "Logical View::CSocketReader" @21 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1521, 1656) - label (object ItemLabel - Parent_View @21 - location (1364, 1610) - fill_color 13434879 - nlines 1 - max_width 314 - justify 0 - label "CSocketReader") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0652B0094" - width 332 - height 117 - autoResize TRUE) - (object InheritView "" @22 - stereotype TRUE - line_color 3342489 - quidu "40C6EBF101F9" - client @21 - supplier @18 - line_style 0) - (object ClassView "Class" "Logical View::CSocketWriter" @23 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2292, 1656) - label (object ItemLabel - Parent_View @23 - location (2142, 1610) - fill_color 13434879 - nlines 1 - max_width 300 - justify 0 - label "CSocketWriter") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0651F0155" - width 318 - height 117 - autoResize TRUE) - (object InheritView "" @24 - stereotype TRUE - line_color 3342489 - quidu "40C6E7280139" - client @23 - supplier @18 - line_style 0) - (object ClassView "Class" "Logical View::RBnepControl" @25 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (993, 1662) - label (object ItemLabel - Parent_View @25 - location (849, 1616) - fill_color 13434879 - nlines 1 - max_width 288 - justify 0 - label "RBnepControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C04FCB02D0" - width 306 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepFilterMultiAddrResponseControl" @26 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (408, 2424) - label (object ItemLabel - Parent_View @26 - location (45, 2378) - fill_color 13434879 - nlines 1 - max_width 726 - justify 0 - label "RBnepFilterMultiAddrResponseControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68B66004C" - width 744 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepFilterMultiAddrSetRequestControl" @27 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (396, 2286) - label (object ItemLabel - Parent_View @27 - location (16, 2240) - fill_color 13434879 - nlines 1 - max_width 760 - justify 0 - label "RBnepFilterMultiAddrSetRequestControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68B20014F" - width 778 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepFilterNetTypeResponseControl" @28 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (423, 2154) - label (object ItemLabel - Parent_View @28 - location (71, 2108) - fill_color 13434879 - nlines 1 - max_width 704 - justify 0 - label "RBnepFilterNetTypeResponseControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68B03028E" - width 722 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepFilterNetTypeSetRequestControl" @29 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (417, 2013) - label (object ItemLabel - Parent_View @29 - location (46, 1967) - fill_color 13434879 - nlines 1 - max_width 742 - justify 0 - label "RBnepFilterNetTypeSetRequestControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68AE302E2" - width 760 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepNotUnderstoodResponseControl" @30 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1509, 2076) - label (object ItemLabel - Parent_View @30 - location (1143, 2030) - fill_color 13434879 - nlines 1 - max_width 732 - justify 0 - label "RBnepNotUnderstoodResponseControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "410509070129" - width 750 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepSetupConnectionRequestControl" @31 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1515, 2235) - label (object ItemLabel - Parent_View @31 - location (1145, 2189) - fill_color 13434879 - nlines 1 - max_width 740 - justify 0 - label "RBnepSetupConnectionRequestControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C04FE6035B" - width 758 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepSetupConnectionResponseControl" @32 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1533, 2382) - label (object ItemLabel - Parent_View @32 - location (1146, 2336) - fill_color 13434879 - nlines 1 - max_width 774 - justify 0 - label "RBnepSetupConnectionResponseControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C050B10245" - width 792 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Comms-infras::RMBufChain" @33 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (993, 1158) - label (object ItemLabel - Parent_View @33 - location (858, 1112) - fill_color 13434879 - nlines 1 - max_width 270 - justify 0 - label "RMBufChain") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0613602A0" - width 288 - height 117 - autoResize TRUE) - (object InheritView "" @34 - stereotype TRUE - line_color 3342489 - quidu "414EBD1702D7" - client @32 - supplier @25 - vertices (list Points - (1136, 2382) - (991, 2382) - (992, 1720)) - line_style 0) - (object InheritView "" @35 - stereotype TRUE - line_color 3342489 - quidu "40C4440D0034" - client @31 - supplier @25 - vertices (list Points - (1135, 2236) - (991, 2238) - (992, 1720)) - line_style 0) - (object InheritView "" @36 - stereotype TRUE - line_color 3342489 - quidu "4105092401DF" - client @30 - supplier @25 - vertices (list Points - (1133, 2077) - (991, 2078) - (992, 1720)) - line_style 0) - (object InheritView "" @37 - stereotype TRUE - line_color 3342489 - quidu "40F68D6601E2" - client @26 - supplier @25 - line_style 0) - (object InheritView "" @38 - stereotype TRUE - line_color 3342489 - quidu "40F68D5900AD" - client @27 - supplier @25 - line_style 0) - (object InheritView "" @39 - stereotype TRUE - line_color 3342489 - quidu "40F68D560243" - client @28 - supplier @25 - line_style 0) - (object InheritView "" @40 - stereotype TRUE - line_color 3342489 - quidu "40F68D690273" - client @29 - supplier @25 - line_style 0))) - (object ClassDiagram "Bridge, Links and Controllers" - quid "40C47567038E" - title "Bridge, Links and Controllers" - documentation -|This diagram shows the implementation relationships that exist between the bridge, links and channel controller objects. -|The bridge is responsible for maintaining a fixed-length array of all the MPanDevices that it is currently talking to. These consist of the local device (of which there can be only one) and several links. Each MPanDevice is passed a reference to the MPanDeviceOwner it when it is constructed. It is possible, in the implementation, to instantiate a link, informing it of the bridge to which it might expect to be attached, and then need to delete the link before that attachment has been successfully made (e.g. when attempting to attach a 9th device into a fully-subscribed piconet of 8). As part of the link's destruction, it is required to notify the bridge that it is being torn down. If the bridge is unaware of the link in the first place, this notification is has no effect. - - zoom 80 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::MPanDeviceOwner" @41 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - ShowOperationSignature TRUE - location (609, 228) - label (object ItemLabel - Parent_View @41 - location (385, 182) - fill_color 13434879 - nlines 1 - max_width 448 - justify 0 - label "MPanDeviceOwner") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0497600BD" - width 466 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CBnepBridge" @42 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - ShowOperationSignature TRUE - location (609, 666) - label (object ItemLabel - Parent_View @42 - location (446, 620) - fill_color 13434879 - nlines 1 - max_width 326 - justify 0 - label "CBnepBridge") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049600007" - width 344 - height 117 - autoResize TRUE) - (object ClassView "InstantiatedClass" "Logical View::( TFixedArray < MPanDevice*, KMaxPanConnections > )" @43 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - ShowOperationSignature TRUE - location (624, 1044) - label (object ItemLabel - Parent_View @43 - location (9, 998) - fill_color 13434879 - nlines 1 - max_width 1230 - justify 0 - label "( TFixedArray < MPanDevice*, KMaxPanConnections > )") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C440B501D8" - width 1248 - height 117 - autoResize TRUE) - (object HasView "Links" @44 - label (object ItemLabel - Parent_View @44 - location (615, 854) - anchor_loc 1 - nlines 1 - max_width 107 - justify 0 - label "Links") - stereotype TRUE - line_color 3342489 - quidu "40C44171025A" - client @42 - supplier @43 - line_style 0) - (object ClassView "Class" "Logical View::MBnepChannelControl" @45 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - ShowOperationSignature TRUE - location (2085, 237) - label (object ItemLabel - Parent_View @45 - location (1825, 191) - fill_color 13434879 - nlines 1 - max_width 520 - justify 0 - label "MBnepChannelControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0513D0066" - width 538 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::MPanDevice" @46 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - ShowOperationSignature TRUE - location (1407, 228) - label (object ItemLabel - Parent_View @46 - location (1251, 182) - fill_color 13434879 - nlines 1 - max_width 312 - justify 0 - label "MPanDevice") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049CB02DC" - width 330 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CBnepChannelController" @47 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - ShowOperationSignature TRUE - location (2352, 675) - label (object ItemLabel - Parent_View @47 - location (2068, 629) - fill_color 13434879 - nlines 1 - max_width 568 - justify 0 - label "CBnepChannelController") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0512A0181" - width 586 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CBnepLink" @48 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - ShowOperationSignature TRUE - location (1620, 675) - label (object ItemLabel - Parent_View @48 - location (1484, 629) - fill_color 13434879 - nlines 1 - max_width 272 - justify 0 - label "CBnepLink") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0510D0175" - width 290 - height 117 - autoResize TRUE) - (object InheritView "" @49 - stereotype TRUE - line_color 3342489 - quidu "40C6E14801CD" - client @48 - supplier @46 - line_style 0) - (object InheritView "" @50 - stereotype TRUE - line_color 3342489 - quidu "40C05A93018F" - client @42 - supplier @41 - line_style 0) - (object HasView "Link" @51 - label (object ItemLabel - Parent_View @51 - location (1912, 675) - anchor_loc 1 - nlines 1 - max_width 79 - justify 0 - label "Link") - stereotype TRUE - line_color 3342489 - quidu "40C579450305" - client @47 - supplier @48 - line_style 0) - (object ClassView "Class" "Logical View::MLinkManager" @52 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2547, 243) - label (object ItemLabel - Parent_View @52 - location (2368, 197) - fill_color 13434879 - nlines 1 - max_width 358 - justify 0 - label "MLinkManager") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C050FF0107" - width 376 - height 117 - autoResize TRUE) - (object HasView "Owner" @53 - label (object ItemLabel - Parent_View @53 - location (1042, 228) - anchor_loc 1 - nlines 1 - max_width 118 - justify 0 - label "Owner") - stereotype TRUE - line_color 3342489 - quidu "40C979BC001B" - client @46 - supplier @41 - line_style 0) - (object InheritView "" @54 - stereotype TRUE - line_color 3342489 - quidu "410DFECB0027" - client @47 - supplier @45 - line_style 0) - (object InheritView "" @55 - stereotype TRUE - line_color 3342489 - quidu "410DFECE01D0" - client @47 - supplier @52 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLocalDevice" @56 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1209, 672) - label (object ItemLabel - Parent_View @56 - location (985, 626) - fill_color 13434879 - nlines 1 - max_width 448 - justify 0 - label "CBnepLocalDevice") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049420180" - width 466 - height 117 - autoResize TRUE) - (object InheritView "" @57 - stereotype TRUE - line_color 3342489 - quidu "4107BDB201EF" - client @56 - supplier @46 - line_style 0) - (object UsesView "" @58 - stereotype TRUE - line_color 3342489 - quidu "4108F40700A4" - client @56 - supplier @42 - line_style 0))) - (object ClassDiagram "BnepUtils and TBnepTls" - quid "40C5B4A10175" - title "BnepUtils and TBnepTls" - documentation "The relationships and dependencies shown here only fully exist for UDEB builds. For UREL builds there is no requirement for TBnepTls (thread-local storage) or CBnepLog. Therefore the only dependency that exists on BnepUtils in a released driver is that from RBnepFrame, which needs to use the IsMulticast() method. " - zoom 100 - max_height 28350 - max_width 21600 - origin_x 19 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::BnepUtils" @59 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (582, 729) - label (object ItemLabel - Parent_View @59 - location (478, 683) - fill_color 13434879 - nlines 1 - max_width 208 - justify 0 - label "BnepUtils") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B2D3013F" - width 226 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::TBnepTls" @60 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (186, 999) - label (object ItemLabel - Parent_View @60 - location (85, 953) - fill_color 13434879 - nlines 1 - max_width 202 - justify 0 - label "TBnepTls") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B5000031" - width 220 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CBnepLog" @61 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (582, 399) - label (object ItemLabel - Parent_View @61 - location (466, 353) - fill_color 13434879 - nlines 1 - max_width 232 - justify 0 - label "CBnepLog") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B5A9014D" - width 250 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Epoc32::TInt" @62 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (837, 984) - label (object ItemLabel - Parent_View @62 - location (756, 938) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "TInt") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C059E301D2" - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Epoc32::Mem" @63 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (186, 1221) - label (object ItemLabel - Parent_View @63 - location (105, 1175) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "Mem") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40DBF88C03DC" - height 117 - autoResize TRUE) - (object UsesView "" @64 - stereotype TRUE - line_color 3342489 - quidu "40DBF95700C7" - client @60 - supplier @63 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Epoc32::CBase" @65 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (585, 132) - label (object ItemLabel - Parent_View @65 - location (504, 86) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "CBase") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C052FD00B0" - height 117 - autoResize TRUE) - (object InheritView "" @66 - stereotype TRUE - line_color 3342489 - quidu "40D2CE9201C3" - client @61 - supplier @65 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTDevAddr" @67 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (582, 987) - label (object ItemLabel - Parent_View @67 - location (454, 941) - fill_color 13434879 - nlines 1 - max_width 256 - justify 0 - label "TBTDevAddr") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C05A14029A" - width 274 - height 117 - autoResize TRUE) - (object UsesView "" @68 - stereotype TRUE - line_color 3342489 - quidu "40D2D6BD0288" - client @59 - supplier @62 - line_style 0) - (object UsesView "" @69 - stereotype TRUE - line_color 3342489 - quidu "40DAE9A60366" - client @59 - supplier @61 - line_style 0) - (object UsesView "" @70 - stereotype TRUE - line_color 3342489 - quidu "40DAEA110233" - client @59 - supplier @60 - line_style 0) - (object UsesView "" @71 - stereotype TRUE - line_color 3342489 - quidu "414059170221" - client @59 - supplier @67 - line_style 0) - (object UsesView "" @72 - stereotype TRUE - line_color 3342489 - quidu "40DAEA8103BB" - client @61 - supplier @59 - line_style 0) - (object HasView "Log" @73 - label (object ItemLabel - Parent_View @73 - location (185, 614) - anchor_loc 1 - nlines 1 - max_width 80 - justify 0 - label "Log") - stereotype TRUE - line_color 3342489 - quidu "40C5B68C0063" - client @60 - supplier @61 - vertices (list Points - (185, 940) - (185, 600) - (464, 457)) - line_style 0) - (object ClassView "Class" "Logical View::RBnepFrame" @74 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1086, 732) - label (object ItemLabel - Parent_View @74 - location (953, 686) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "RBnepFrame") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049510377" - width 284 - height 117 - autoResize TRUE) - (object UsesView "" @75 - stereotype TRUE - line_color 3342489 - quidu "40C9BB240119" - client @74 - supplier @61 - line_style 0) - (object UsesView "" @76 - stereotype TRUE - line_color 3342489 - quidu "40CD9C1D014E" - client @74 - supplier @59 - line_style 0) - (object ClassView "Class" "Logical View::TBnepPanic" @77 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1107, 981) - label (object ItemLabel - Parent_View @77 - location (975, 935) - fill_color 13434879 - nlines 1 - max_width 264 - justify 0 - label "TBnepPanic") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "416FB58201DE" - width 282 - height 117 - autoResize TRUE) - (object UsesView "" @78 - stereotype TRUE - line_color 3342489 - quidu "416FB65A03C0" - client @59 - supplier @77 - line_style 0))) - (object ClassDiagram "Bridge, Links and Controllers - additional dependencies" - quid "40EC0BF9001D" - title "Bridge, Links and Controllers - additional dependencies" - documentation "This diagram illustrates some of the coupled dependencies that exist in the code. " - zoom 100 - max_height 28350 - max_width 21600 - origin_x 225 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::CBnepBridge" @79 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1671, 1008) - label (object ItemLabel - Parent_View @79 - location (1538, 962) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "CBnepBridge") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049600007" - width 284 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CBnepLink" @80 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (210, 1008) - label (object ItemLabel - Parent_View @80 - location (91, 962) - fill_color 13434879 - nlines 1 - max_width 238 - justify 0 - label "CBnepLink") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0510D0175" - width 256 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::MPanDeviceOwner" @81 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1671, 531) - label (object ItemLabel - Parent_View @81 - location (1480, 485) - fill_color 13434879 - nlines 1 - max_width 382 - justify 0 - label "MPanDeviceOwner") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0497600BD" - width 400 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::MPanDevice" @82 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (438, 531) - label (object ItemLabel - Parent_View @82 - location (309, 485) - fill_color 13434879 - nlines 1 - max_width 258 - justify 0 - label "MPanDevice") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049CB02DC" - width 276 - height 117 - autoResize TRUE) - (object InheritView "" @83 - stereotype TRUE - line_color 3342489 - quidu "40C6E14801CD" - client @80 - supplier @82 - line_style 0) - (object ClassView "Class" "Logical View::MLinkManager" @84 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (438, 132) - label (object ItemLabel - Parent_View @84 - location (285, 86) - fill_color 13434879 - nlines 1 - max_width 306 - justify 0 - label "MLinkManager") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C050FF0107" - width 324 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CBnepLocalDevice" @85 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (609, 1008) - label (object ItemLabel - Parent_View @85 - location (425, 962) - fill_color 13434879 - nlines 1 - max_width 368 - justify 0 - label "CBnepLocalDevice") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049420180" - width 386 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CBTAddrSubscriber" @86 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (609, 1500) - label (object ItemLabel - Parent_View @86 - location (415, 1454) - fill_color 13434879 - nlines 1 - max_width 388 - justify 0 - label "CBTAddrSubscriber") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B9A6014B" - width 406 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::MBnepConnectionManager" @87 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1671, 132) - label (object ItemLabel - Parent_View @87 - location (1409, 86) - fill_color 13434879 - nlines 1 - max_width 524 - justify 0 - label "MBnepConnectionManager") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049870017" - width 542 - height 117 - autoResize TRUE) - (object HasView "Owner" @88 - label (object ItemLabel - Parent_View @88 - location (1023, 531) - anchor_loc 1 - nlines 1 - max_width 116 - justify 0 - label "Owner") - stereotype TRUE - line_color 3342489 - quidu "40C979BC001B" - client @82 - supplier @81 - line_style 0) - (object UsesView "" @89 - stereotype TRUE - line_color 3342489 - quidu "4108F40700A4" - client @85 - supplier @79 - line_style 0) - (object InheritView "" @90 - stereotype TRUE - line_color 3342489 - quidu "4107BDB201EF" - client @85 - supplier @82 - line_style 0) - (object UsesView "" @91 - stereotype TRUE - line_color 3342489 - quidu "40C83346022F" - client @80 - supplier @84 - vertices (list Points - (189, 949) - (131, 778) - (131, 359) - (357, 190)) - line_style 0) - (object UsesView "" @92 - stereotype TRUE - line_color 3342489 - quidu "40C7173D00DC" - client @81 - supplier @82 - vertices (list Points - (1470, 485) - (1156, 416) - (576, 508)) - line_style 0) - (object InheritView "" @93 - stereotype TRUE - line_color 3342489 - quidu "40C05A93018F" - client @79 - supplier @81 - line_style 0) - (object InheritView "" @94 - stereotype TRUE - line_color 3342489 - quidu "4108F88201BC" - client @81 - supplier @87 - line_style 0) - (object UsesView "" @95 - stereotype TRUE - line_color 3342489 - quidu "4108F9FD02A7" - client @79 - supplier @82 - line_style 0) - (object UsesView "" @96 - stereotype TRUE - line_color 3342489 - quidu "40CEC4DC0122" - client @86 - supplier @85 - line_style 0) - (object HasView "Subscriber" @97 - label (object ItemLabel - Parent_View @97 - location (609, 1254) - anchor_loc 1 - nlines 1 - max_width 201 - justify 0 - label "Subscriber") - stereotype TRUE - line_color 3342489 - quidu "40C6DDA601ED" - client @85 - supplier @86 - line_style 0))) - (object ClassDiagram "Filters" - quid "412479B000EE" - title "Filters" - documentation -|This diagram gives the detail of the two filter table types, used by links to conserve bandwidth across the Bluetooth network. They are essentially wrappers around fixed-length arrays of range specifications. The arrays are exactly twice as long as the permitted set of filter specifications, wherein the even-indexed entries represent the start value for the range and the subsequent odd-indexed entry represents the end value for the range. The boundaries of the fixed-length arrays represent a compromise between what is permissible and what may be practical. Each boundary is independently modifiable in the code should changes be required. -|To enable faster comparison and searching, the Multicast Address Filter Table uses an internal TInt64 representation of the 48-bit Bluetooth address. The normal representation is not optimised for arithmetic operations. This may use slightly more memory in operation, but the simplicity and speed of access and comparison is enhanced. - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::CNetTypeFilterTable" @98 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (783, 1314) - label (object ItemLabel - Parent_View @98 - location (586, 1268) - fill_color 13434879 - nlines 1 - max_width 394 - justify 0 - label "CNetTypeFilterTable") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "412478A20031" - width 412 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CMultiAddrFilterTable" @99 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (774, 126) - label (object ItemLabel - Parent_View @99 - location (567, 80) - fill_color 13434879 - nlines 1 - max_width 414 - justify 0 - label "CMultiAddrFilterTable") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "412478830308" - width 432 - height 117 - autoResize TRUE) - (object ClassView "InstantiatedClass" "Logical View::( TFixedArray )" @100 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (783, 1761) - label (object ItemLabel - Parent_View @100 - location (207, 1715) - fill_color 13434879 - nlines 1 - max_width 1152 - justify 0 - label "( TFixedArray )") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "41247DA900FA" - width 1170 - height 117 - autoResize TRUE) - (object ClassView "InstantiatedClass" "Logical View::( TFixedArray )" @101 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (774, 1023) - label (object ItemLabel - Parent_View @101 - location (43, 977) - fill_color 13434879 - nlines 1 - max_width 1462 - justify 0 - label "( TFixedArray )") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "41247E2602D1" - width 1480 - height 117 - autoResize TRUE) - (object HasView "Table" @102 - label (object ItemLabel - Parent_View @102 - location (783, 1537) - anchor_loc 1 - nlines 1 - max_width 112 - justify 0 - label "Table") - stereotype TRUE - line_color 3342489 - quidu "41247E9003E1" - client @98 - supplier @100 - line_style 0) - (object HasView "Table" @103 - label (object ItemLabel - Parent_View @103 - location (774, 574) - anchor_loc 1 - nlines 1 - max_width 112 - justify 0 - label "Table") - stereotype TRUE - line_color 3342489 - quidu "41247E970070" - client @99 - supplier @101 - line_style 0) - (object ClassView "Class" "Logical View::TFilterMultiAddrResponse" @104 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1110, 684) - label (object ItemLabel - Parent_View @104 - location (861, 638) - fill_color 13434879 - nlines 1 - max_width 498 - justify 0 - label "TFilterMultiAddrResponse") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40FB8FD103B2" - width 516 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::TFilterNetTypeResponse" @105 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1116, 1611) - label (object ItemLabel - Parent_View @105 - location (878, 1565) - fill_color 13434879 - nlines 1 - max_width 476 - justify 0 - label "TFilterNetTypeResponse") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40FB8EB8008D" - width 494 - height 117 - autoResize TRUE) - (object UsesView "" @106 - stereotype TRUE - line_color 3342489 - quidu "41247F6D0032" - client @98 - supplier @105 - line_style 0) - (object UsesView "" @107 - stereotype TRUE - line_color 3342489 - quidu "41247F6F01D9" - client @99 - supplier @104 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTDevAddr" @108 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (306, 858) - label (object ItemLabel - Parent_View @108 - location (178, 812) - fill_color 13434879 - nlines 1 - max_width 256 - justify 0 - label "TBTDevAddr") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C05A14029A" - width 274 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::TBnepBTDevAddr" @109 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (576, 441) - label (object ItemLabel - Parent_View @109 - location (399, 395) - fill_color 13434879 - nlines 1 - max_width 354 - justify 0 - label "TBnepBTDevAddr") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4125EEA90192" - width 372 - height 117 - autoResize TRUE) - (object UsesView "" @110 - stereotype TRUE - line_color 3342489 - quidu "4125EFC2038A" - client @99 - supplier @109 - line_style 0) - (object UsesView "" @111 - stereotype TRUE - line_color 3342489 - quidu "4125F18501A8" - client @109 - supplier @108 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Epoc32::TInt64" @112 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (579, 858) - label (object ItemLabel - Parent_View @112 - location (498, 812) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "TInt64") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "411769FE0042" - height 117 - autoResize TRUE) - (object HasView "Address" @113 - label (object ItemLabel - Parent_View @113 - location (577, 649) - anchor_loc 1 - nlines 1 - max_width 149 - justify 0 - label "Address") - stereotype TRUE - line_color 3342489 - quidu "4125F23A037F" - client @109 - supplier @112 - line_style 0))) - (object ClassDiagram "Links and Sockets" - quid "415058ED039B" - title "Links and Sockets" - documentation -|This diagram shows how a CBnepLink uses the socket that is passed to it during construction. The link assumes ownership of the socket during construction and then delegates the use of it to an active reader and an active writer. The link never relinquishes ownership, however, and is responsible, during destruction, for closing the socket down. -|Here it can also be seen that RBnepFrames are used to enforce the separation of input and output sides of the link; InComing representing the input side and OutGoing the output side. This means that it is the InComing frame that is used to parse the input RecvMsg from the socket reader, whilst it is the OutGoing frame whose build methods are used to construct BNEP frames and Ethernet packets for onward delivery. - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::CSocketReader" @114 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (204, 537) - label (object ItemLabel - Parent_View @114 - location (47, 491) - fill_color 13434879 - nlines 1 - max_width 314 - justify 0 - label "CSocketReader") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0652B0094" - width 332 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CSocketWriter" @115 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1632, 531) - label (object ItemLabel - Parent_View @115 - location (1482, 485) - fill_color 13434879 - nlines 1 - max_width 300 - justify 0 - label "CSocketWriter") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0651F0155" - width 318 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CBnepLink" @116 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (894, 537) - label (object ItemLabel - Parent_View @116 - location (775, 491) - fill_color 13434879 - nlines 1 - max_width 238 - justify 0 - label "CBnepLink") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0510D0175" - width 256 - height 117 - autoResize TRUE) - (object UsesView "" @117 - stereotype TRUE - line_color 3342489 - quidu "40C6E9F20077" - client @115 - supplier @116 - line_style 0) - (object UsesView "" @118 - stereotype TRUE - line_color 3342489 - quidu "40C6EBEB0363" - client @114 - supplier @116 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Comms-infras::RInternalSocket" @119 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (891, 126) - label (object ItemLabel - Parent_View @119 - location (730, 80) - fill_color 13434879 - nlines 1 - max_width 322 - justify 0 - label "RInternalSocket") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C46FE80331" - width 340 - height 117 - autoResize TRUE) - (object UsesView "" @120 - stereotype TRUE - line_color 3342489 - quidu "40C6E9A000CA" - client @115 - supplier @119 - line_style 0) - (object UsesView "" @121 - stereotype TRUE - line_color 3342489 - quidu "40C6EBE80065" - client @114 - supplier @119 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Comms-infras::RMBufChain" @122 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (201, 1371) - label (object ItemLabel - Parent_View @122 - location (66, 1325) - fill_color 13434879 - nlines 1 - max_width 270 - justify 0 - label "RMBufChain") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0613602A0" - width 288 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepFrame" @123 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (891, 1170) - label (object ItemLabel - Parent_View @123 - location (758, 1124) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "RBnepFrame") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049510377" - width 284 - height 117 - autoResize TRUE) - (object HasView "EthernetPayload" @124 - label (object ItemLabel - Parent_View @124 - location (546, 1269) - anchor_loc 1 - nlines 1 - max_width 315 - justify 0 - label "EthernetPayload") - stereotype TRUE - line_color 3342489 - quidu "40C595E30309" - client @123 - supplier @122 - line_style 0) - (object HasView "RecvMsg" @125 - label (object ItemLabel - Parent_View @125 - location (202, 954) - anchor_loc 1 - nlines 1 - max_width 175 - justify 0 - label "RecvMsg") - stereotype TRUE - line_color 3342489 - quidu "40F681F30061" - client @114 - supplier @122 - line_style 0) - (object HasView "Reader" @126 - label (object ItemLabel - Parent_View @126 - location (567, 537) - anchor_loc 1 - nlines 1 - max_width 138 - justify 0 - label "Reader") - stereotype TRUE - line_color 3342489 - quidu "40C6E3B9038E" - client @116 - supplier @114 - line_style 0) - (object HasView "Writer" @127 - label (object ItemLabel - Parent_View @127 - location (1247, 533) - anchor_loc 1 - nlines 1 - max_width 114 - justify 0 - label "Writer") - stereotype TRUE - line_color 3342489 - quidu "40C6E3BD0022" - client @116 - supplier @115 - line_style 0) - (object HasView "Socket" @128 - label (object ItemLabel - Parent_View @128 - location (892, 331) - anchor_loc 1 - nlines 1 - max_width 133 - justify 0 - label "Socket") - stereotype TRUE - line_color 3342489 - quidu "40C6E3B701A0" - client @116 - supplier @119 - line_style 0) - (object HasView "OutGoing" @129 - label (object ItemLabel - Parent_View @129 - location (1093, 804) - anchor_loc 1 - nlines 1 - max_width 188 - justify 0 - label "OutGoing") - stereotype TRUE - line_color 3342489 - quidu "413C294A01B6" - client @116 - supplier @123 - vertices (list Points - (1022, 585) - (1181, 647) - (922, 1111)) - line_style 0) - (object HasView "InComing" @130 - label (object ItemLabel - Parent_View @130 - location (601, 848) - anchor_loc 1 - nlines 1 - max_width 168 - justify 0 - label "InComing") - stereotype TRUE - line_color 3342489 - quidu "413C296E01CC" - client @116 - supplier @123 - vertices (list Points - (765, 592) - (600, 663) - (603, 1038) - (764, 1111)) - line_style 0))))) - (object Class_Category "Undocument" - quid "40C70C800061" - documentation "This category and everything underneath it will not be included in the automatic documentation generation pass when using the Rose script." - exportControl "Public" - logical_models (list unit_reference_list - (object Class_Category "Networking" - quid "40C44C9C032E" - exportControl "Public" - logical_models (list unit_reference_list - (object Class "TBluetoothPanRole" - quid "40C06019037D" - module "Component View::inc::panroles" - quidu "40C47B8803D0" - language "C++") - (object Class "CInternalSocket" - quid "40C060050324" - module "Component View::epoc32::intsock" - quidu "40C4312300AB" - language "C++") - (object Class "TAgentToNifEventType" - quid "40C6D9E302E3" - module "Component View::epoc32::nifprvar" - quidu "40C5BABF0394" - language "C++")) - logical_presentations (list unit_reference_list)) - (object Class_Category "Epoc32" - quid "40C44CB60303" - exportControl "Public" - logical_models (list unit_reference_list - (object Parameterized_Class "TFixedArray" - quid "40C43A840319" - module "Component View::epoc32::e32std" - quidu "40C0581B02E4" - language "C++" - parameters (list Parameters - (object Parameter "T" - type "class") - (object Parameter "S" - type "TInt"))) - (object Class "TUint8" - quid "40C060DE031C" - module "Component View::epoc32::e32def" - quidu "40C42E8101C4" - language "C++") - (object Class "TUint16" - quid "40C060EE00D0" - module "Component View::epoc32::e32def" - quidu "40C42E8101C4" - language "C++") - (object Class "TPtr8" - quid "40C06580032B" - module "Component View::epoc32::e32std" - quidu "40C0581B02E4" - language "C++") - (object Class "TInt" - quid "40C059E301D2" - module "Component View::epoc32::e32def" - quidu "40C42E8101C4" - language "C++") - (object Class "TBool" - quid "40C060B001DF" - module "Component View::epoc32::e32def" - quidu "40C42E8101C4" - language "C++") - (object Class "HBufC8" - quid "40C0658A0068" - module "Component View::epoc32::e32std" - quidu "40C0581B02E4" - language "C++") - (object Class "CActive" - quid "40C0653F024B" - module "Component View::epoc32::e32base" - quidu "40C0580902B6" - language "C++") - (object Class "CBase" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "GenerateEmptyRegions" - value ("GenerateEmptyRegionSet" 0))) - quid "40C052FD00B0" - module "Component View::epoc32::e32base" - quidu "40C0580902B6" - language "C++") - (object Class "TSglQueLink" - quid "40C583FB031C" - module "Component View::epoc32::e32std" - quidu "40C0581B02E4" - language "C++") - (object Class "TInt16" - quid "40C58B8101C7" - module "Component View::epoc32::e32def" - quidu "40C42E8101C4" - language "C++") - (object Parameterized_Class "TSglQue" - quid "40C5935D0224" - module "Component View::epoc32::e32std" - quidu "40C0581B02E4" - language "C++" - parameters (list Parameters - (object Parameter "T" - type "class"))) - (object Class "TDesC8" - quid "40C5BF310079" - module "Component View::epoc32::e32std" - quidu "40C0581B02E4" - language "C++") - (object Parameterized_Class "TRefByValue" - quid "40C5C0050268" - module "Component View::epoc32::e32std" - quidu "40C0581B02E4" - language "C++" - parameters (list Parameters - (object Parameter "T" - type "class"))) - (object Class "TAny" - quid "40C6DA6A02DD" - module "Component View::epoc32::e32def" - quidu "40C42E8101C4" - language "C++") - (object Class "TDes8" - quid "40C6DACB03CD" - module "Component View::epoc32::e32std" - quidu "40C0581B02E4" - language "C++") - (object Class "TUint" - quid "40C6DAE70369" - module "Component View::epoc32::e32def" - quidu "40C42E8101C4" - language "C++") - (object Class "TVersion" - quid "40C96F9C015E" - module "Component View::epoc32::e32std" - quidu "40C0581B02E4" - language "C++") - (object Class "CObject" - quid "40C9705600BB" - module "Component View::epoc32::e32base" - quidu "40C0580902B6" - language "C++") - (object Class "RLibrary" - quid "40C9740200C7" - module "Component View::epoc32::e32std" - quidu "40C0581B02E4" - language "C++") - (object Class "CObjectCon" - quid "40C974440144" - module "Component View::epoc32::e32base" - quidu "40C0580902B6" - language "C++") - (object Parameterized_Class "TBuf8" - quid "40C9BBF2029C" - module "Component View::epoc32::e32std" - quidu "40C0581B02E4" - language "C++") - (object Class "RProperty" - quid "40CEC37300A1" - module "Component View::epoc32::e32property" - quidu "40CEC3840074" - language "C++") - (object Class "TPtrC8" - quid "40D2D75002B1" - module "Component View::epoc32::e32std" - quidu "40C0581B02E4" - language "C++") - (object Class "Mem" - quid "40DBF88C03DC" - module "Component View::epoc32::e32std" - quidu "40C0581B02E4" - language "C++") - (object Class "TInt64" - quid "411769FE0042" - module "Component View::epoc32::e32def" - quidu "40C42E8101C4" - language "C++") - (object Class "EFalse" - quid "41178B1D0045" - module "Component View::epoc32::e32const" - quidu "41178B71014A" - language "C++") - (object Class "ETrue" - quid "41178B24015D" - module "Component View::epoc32::e32const" - quidu "41178B71014A" - language "C++")) - logical_presentations (list unit_reference_list)) - (object Class_Category "Comms-infras" - quid "40C44CAA0021" - exportControl "Public" - logical_models (list unit_reference_list - (object Class "RMBufChain" - quid "40C0613602A0" - module "Component View::epoc32::es_mbuf" - quidu "40C43076020B" - language "C++") - (object Class "RMBufPacket" - quid "40C0641D006E" - module "Component View::epoc32::nifmbuf" - quidu "40C430B20121" - language "C++") - (object Class "RInternalSocket" - quid "40C46FE80331" - module "Component View::epoc32::eintsock" - quidu "40C470050383" - language "C++") - (object Class "KVendorSpecificNotificationStart" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\Infrastructure\\Commsinfras\\KVendorSpecificNotificationStart.h") - (object Attribute - tool "Traversal" - name "BodyFile" - value "$BNEP\\Infrastructure\\Commsinfras\\KVendorSpecificNotificationStart.cpp")) - quid "40C830920003" - module "Component View::epoc32::nifprvar" - quidu "40C5BABF0394" - language "C++") - (object Class "CNifMan" - quid "40C96DB6023B" - module "Component View::epoc32::nifif" - quidu "40C96DCA0154" - language "C++") - (object Class "RFileLogger" - quid "40D2D0FC0149" - module "Component View::epoc32::commsdebugutility" - quidu "40D2D12300CD" - language "C++") - (object Class "RMBufPktQ" - quid "416D41B40278" - module "Component View::epoc32::es_mbuf" - quidu "40C43076020B" - language "C++")) - logical_presentations (list unit_reference_list)) - (object Class_Category "Bluetooth" - quid "40C44C8F0375" - exportControl "Public" - logical_models (list unit_reference_list - (object Class "TBTDevAddr" - quid "40C05A14029A" - module "Component View::epoc32::bttypes" - quidu "40C42EF40256" - language "C++") - (object Class "TUUID" - quid "40C05FB10297" - module "Component View::epoc32::bttypes" - quidu "40C42EF40256" - language "C++") - (object Class "KPropertyUidBluetoothCategory" - quid "40CEDA4800E2" - module "Component View::epoc32::bt_subscribe" - quidu "40CEDA1803BE" - language "C++") - (object Class "TBTSockAddr" - quid "40F65CE8003D" - module "Component View::epoc32::bt_sock" - quidu "40C059C102A5" - language "C++")) - logical_presentations (list unit_reference_list)) - (object Class_Category "inc" - quid "40C47ADB0237" - exportControl "Public" - logical_models (list unit_reference_list - (object Class "TBnepRole" - quid "40C47BD70207" - module "Component View::inc::bnepdrv" - quidu "40C47B0F0105" - language "C++") - (object Class "TPanDetails" - quid "40C47BF80395" - module "Component View::inc::bnepdrv" - quidu "40C47B0F0105" - language "C++") - (object Class "CPcCardPktDrvFactory" - quid "40C47C3701F1" - module "Component View::inc::carddrv" - quidu "40C47B1D02B4" - language "C++") - (object Class "CPcCardPktDrv" - quid "40C47C4B03BD" - module "Component View::inc::carddrv" - quidu "40C47B1D02B4" - language "C++") - (object Class "CLanIp4Bearer" - quid "40C47C9001A9" - module "Component View::inc::clanip4bearer" - quidu "40C47B29017B" - language "C++") - (object Class "CLanIp6Bearer" - quid "40C47CA701D4" - module "Component View::inc::clanip6bearer" - quidu "40C47B360129" - language "C++") - (object Class "TIpv6Header" - quid "40C47CC6007A" - module "Component View::inc::clanip6bearer" - quidu "40C47B360129" - language "C++") - (object Class "CLanxBearer" - quid "40C47CE7023A" - module "Component View::inc::clanxbearer" - quidu "40C47B4600A0" - language "C++") - (object Class "CEthlog" - quid "40C47D070363" - module "Component View::inc::eth_log" - quidu "40C47B5201B6" - language "C++") - (object Class "TEtherHeaderType" - quid "40C47D2100CB" - module "Component View::inc::ethinter" - quidu "40C47B5F0088" - language "C++") - (object Class "TEtherFrame" - quid "40C47D300380" - module "Component View::inc::ethinter" - quidu "40C47B5F0088" - language "C++") - (object Class "TEtherLLCFrame" - quid "40C47D420029" - module "Component View::inc::ethinter" - quidu "40C47B5F0088" - language "C++") - (object Class "CLANLinkFactory" - quid "40C47D4F0399" - module "Component View::inc::ethinter" - quidu "40C47B5F0088" - language "C++") - (object Class "CLanxBearerPtrArray" - quid "40C47D67020C" - module "Component View::inc::ethinter" - quidu "40C47B5F0088" - language "C++") - (object Class "CLANLinkCommon" - quid "40C47D840240" - module "Component View::inc::ethinter" - quidu "40C47B5F0088" - language "C++") - (object Class "CPktDrvBase" - quid "40C5BB5D014C" - module "Component View::inc::pktdrv" - quidu "40C47B910207" - language "C++") - (object Class "TIeee802AddrPanics" - quid "40C5BBF20377" - module "Component View::inc::pktdrv" - quidu "40C47B910207" - language "C++") - (object Class "TIeee802Addr" - quid "40C5BC280234" - module "Component View::inc::pktdrv" - quidu "40C47B910207" - language "C++") - (object Class "TEthernetAddr" - quid "40C5BC3F01A1" - module "Component View::inc::pktdrv" - quidu "40C47B910207" - language "C++") - (object Class "TPacketDriverStats" - quid "40C5BC5402F6" - module "Component View::inc::pktdrv" - quidu "40C47B910207" - language "C++") - (object Class "CPktDrvFactory" - quid "40C5BC6B02A9" - module "Component View::inc::pktdrv" - quidu "40C47B910207" - language "C++") - (object Class "TRxMode" - quid "40C6D84E02D7" - module "Component View::inc::pktdrv" - quidu "40C47B910207" - language "C++") - (object Class "THWAddr" - quid "40C6D8B5028F" - module "Component View::inc::pktdrv" - quidu "40C47B910207" - language "C++")) - logical_presentations (list unit_reference_list))) - logical_presentations (list unit_reference_list)) - (object Class_Category "BNEP Behavioural Descriptions" - quid "40D836E2022F" - documentation "The following section presents a set of scenario/sequence diagrams that describe basic behavioural subsets of BNEP operation. " - exportControl "Public" - logical_models (list unit_reference_list - (object Mechanism @131 - logical_models (list unit_reference_list - (object Object "$UNNAMED$0" - quid "4151369A0300" - collaborators (list link_list - (object Link - quid "4151376601C3" - supplier "$UNNAMED$1" - quidu "415136B700EF" - messages (list Messages - (object Message "NewDriverL(aParent : CLANLinkCommon*)" - quid "4151376601C4" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1" - ordinal 0 - Operation "NewDriverL(CLANLinkCommon*)" - quidu "40C96AC802FB")))) - class "Use Case View::Ethint.NIF" - quidu "41500F360395" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$1" - quid "415136B700EF" - collaborators (list link_list - (object Link - quid "4151377103E5" - supplier "$UNNAMED$2" - quidu "415136DB01D7" - messages (list Messages - (object Message "NewL(aFactory : CPktDrvFactory&, aParent : CLANLinkCommon*)" - quid "4151377103E6" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "2" - ordinal 1 - Operation "NewL(CPktDrvFactory&, CLANLinkCommon*)" - quidu "40C6D63D0037")))) - class "Logical View::CBnepPktDrvFactory" - quidu "40C969BB025E" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$2" - quid "415136DB01D7" - collaborators (list link_list - (object Link - quid "415137960280" - supplier "$UNNAMED$3" - quidu "415136FA01D1" - messages (list Messages - (object Message "NewL(aLocalDevice : MPanDevice&)" - quid "415137960281" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "3" - ordinal 2 - Operation "NewL(MPanDevice&)" - quidu "40C05BE2019A"))) - (object Link - quid "415137A401D6" - supplier "$UNNAMED$4" - quidu "4151372C0025" - messages (list Messages - (object Message "NewL(aAddr : TBTDevAddr&, aLocal : CBnepLocalDevice&)" - quid "415137A401D7" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4" - ordinal 3 - Operation "NewL(TBTDevAddr&, CBnepLocalDevice&)" - quidu "40CEC1D801E1")))) - class "Logical View::CBnepLocalDevice" - quidu "40C049420180" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$3" - quid "415136FA01D1" - class "Logical View::CBnepBridge" - quidu "40C049600007" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$4" - quid "4151372C0025" - collaborators (list link_list - (object Link - quid "415137CD035B" - supplier "$UNNAMED$4" - quidu "4151372C0025" - messages (list Messages - (object Message "SyncFetch(aRestart : TBool)" - quid "415137CD035C" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "5" - ordinal 4 - Operation "SyncFetch(TBool)" - quidu "414A9860002D")))) - class "Logical View::CBTAddrSubscriber" - quidu "40C5B9A6014B" - persistence "Transient" - multi FALSE))) - (object Mechanism @132 - logical_models (list unit_reference_list - (object Object "$UNNAMED$5" - quid "4151914400F4" - collaborators (list link_list - (object Link - quid "415191F8025B" - supplier "$UNNAMED$6" - quidu "4151914F017C" - messages (list Messages - (object Message "NewBnepConnectionL(aConnectedSocket : RInternalSocket&, aNotify : MPanConnectionNotify&)" - quid "415191F8025C" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1" - ordinal 0 - Operation "NewBnepConnectionL(RInternalSocket&, MPanConnectionNotify&)" - quidu "40C066BE02D8")))) - class "Use Case View::PAN Agent" - quidu "41500F2A038E" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$6" - quid "4151914F017C" - collaborators (list link_list - (object Link - quid "4151923F00E1" - supplier "$UNNAMED$7" - quidu "4151915600DC" - messages (list Messages - (object Message "NewL(aBridge : CBnepBridge&, aConnectedSocket : RInternalSocket&, aNotify : MPanConnectionNotify&)" - quid "4151923F00E2" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "2" - ordinal 1 - Operation "NewL(CBnepBridge&, RInternalSocket&, MPanConnectionNotify&)" - quidu "40C46DC00341")))) - class "Logical View::CBnepBridge" - quidu "40C049600007" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$7" - quid "4151915600DC" - collaborators (list link_list - (object Link - quid "415192530049" - supplier "$UNNAMED$8" - quidu "4151916500F1" - messages (list Messages - (object Message "NewL(aBridge : MPanDeviceOwner&, aSocket : RInternalSocket&, aParser : MLinkManager&)" - quid "41519253004A" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "3" - ordinal 2 - Operation "NewL(MPanDeviceOwner&, RInternalSocket&, MLinkManager&)" - quidu "40C6E17202D1")))) - class "Logical View::CBnepChannelController" - quidu "40C0512A0181" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$8" - quid "4151916500F1" - collaborators (list link_list - (object Link - quid "415192690195" - supplier "$UNNAMED$9" - quidu "4151919F0221" - messages (list Messages - (object Message "NewL(aSocket : RInternalSocket&, aOwner : CBnepLink&)" - quid "415192690196" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4" - ordinal 3 - Operation "NewL(RInternalSocket&, CBnepLink&)" - quidu "40C6EC1503A9"))) - (object Link - quid "415192A60338" - supplier "$UNNAMED$10" - quidu "415191B70262" - messages (list Messages - (object Message "NewL(aSocket : RInternalSocket&, aOwner : CBnepLink&)" - quid "415192A60339" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "6" - ordinal 5 - Operation "NewL(RInternalSocket&, CBnepLink&)" - quidu "40C6E81C01C6"))) - (object Link - quid "415192CE0245" - supplier "$UNNAMED$6" - quidu "4151914F017C" - messages (list Messages - (object Message "AttachDevice(aDevice : MPanDevice&)" - quid "415192CE0246" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "7" - ordinal 6 - Operation "AttachDevice(MPanDevice&)" - quidu "40C067500039")))) - class "Logical View::CBnepLink" - quidu "40C0510D0175" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$9" - quid "4151919F0221" - collaborators (list link_list - (object Link - quid "4151928702ED" - supplier "$UNNAMED$9" - quidu "4151919F0221" - messages (list Messages - (object Message "Read( )" - quid "4151928702EE" - frequency "Aperiodic" - synchronization "Asynchronous" - dir "FromClientToSupplier" - sequence "5" - ordinal 4 - quidu "40C6EC2C0348")))) - class "Logical View::CSocketReader" - quidu "40C0652B0094" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$10" - quid "415191B70262" - class "Logical View::CSocketWriter" - quidu "40C0651F0155" - persistence "Transient" - multi FALSE))) - (object Mechanism @133 - logical_models (list unit_reference_list - (object Object "$UNNAMED$11" - quid "415198A701E3" - collaborators (list link_list - (object Link - quid "415199A50329" - supplier "$UNNAMED$12" - quidu "415198B00222" - messages (list Messages - (object Message "ReadComplete(aChain : RMBufChain&)" - quid "415199A5032A" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1" - ordinal 0 - Operation "ReadComplete(RMBufChain&)" - quidu "40C6E2350065")))) - class "Logical View::CSocketReader" - quidu "40C0652B0094" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$12" - quid "415198B00222" - collaborators (list link_list - (object Link - quid "415199BF02F4" - supplier "iComing" - quidu "415198C80263" - messages (list Messages - (object Message "ParseBnepFrameL(aInboundChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" - quid "415199BF02F5" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "2" - ordinal 1 - Operation "ParseBnepFrameL(RMBufChain&, const TBTDevAddr&, const TBTDevAddr&)" - quidu "40C5868B00EE"))) - (object Link - quid "415199DB0268" - supplier "$UNNAMED$12" - quidu "415198B00222" - messages (list Messages - (object Message "Proceed( )" - quid "415199DB0269" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4" - ordinal 3 - quidu "413C2FB60246")))) - class "Logical View::CBnepLink" - quidu "40C0510D0175" - persistence "Transient" - multi FALSE) - (object Object "iComing" - quid "415198C80263" - documentation "This object represents the input side of the link. It is the object into which the incoming buffer is deconstructed to extract header, control, extension and payload information for onward processing." - collaborators (list link_list - (object Link - quid "415199CE00F7" - supplier "iComing" - quidu "415198C80263" - messages (list Messages - (object Message "ParseL(aInboundChain : RMBufChain&, aType : TBnepPacketType, aExt : TBool)" - quid "415199CE00F8" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "3" - ordinal 2 - Operation "ParseL(RMBufChain&, TBnepPacketType, TBool)" - quidu "413C2CDE032F")))) - class "Logical View::RBnepFrame" - quidu "40C049510377" - persistence "Transient" - multi FALSE))) - (object Mechanism @134 - logical_models (list unit_reference_list - (object Object "$UNNAMED$13" - quid "4151A51F00D5" - collaborators (list link_list - (object Link - quid "4151A61A0342" - supplier "$UNNAMED$13" - quidu "4151A51F00D5" - messages (list Messages - (object Message "ParseL(aInboundChain : RMBufChain&, aType : TBnepPacketType, aExt : TBool)" - quid "4151A61A0343" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "2" - ordinal 1 - Operation "ParseL(RMBufChain&, TBnepPacketType, TBool)" - quidu "413C2CDE032F") - (object Message "ExtractControlL(aInboundChain : RMBufChain&, aLength : TInt)" - quid "4151A6580342" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "3" - ordinal 2 - Operation "ExtractControlL(RMBufChain&, TInt)" - quidu "413C2E04007F") - (object Message "ExtractExtensionL(aInboundChain : RMBufChain&)" - quid "4151A66902D8" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "5" - ordinal 4 - Operation "ExtractExtensionL(RMBufChain&)" - quidu "413C2DF90278"))) - (object Link - quid "4151A67C0357" - supplier "iCommandQueue" - quidu "4151A56D0181" - messages (list Messages - (object Message "AddLast(RBnepControl*)" - quid "4151A67C0358" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4" - ordinal 3 - Operation "AddLast") - (object Message "AddLast(RBnepControl*)" - quid "4151A69200F6" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "6" - ordinal 5)))) - class "Logical View::RBnepFrame" - quidu "40C049510377" - persistence "Transient" - multi FALSE) - (object Object "iCommandQueue" - quid "4151A56D0181" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$14" - quid "4151A5EF028C" - collaborators (list link_list - (object Link - quid "4151A5FA01FC" - supplier "$UNNAMED$13" - quidu "4151A51F00D5" - messages (list Messages - (object Message "ParseBnepFrameL(aInboundChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" - quid "4151A5FA01FD" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1" - ordinal 0 - Operation "ParseBnepFrameL(RMBufChain&, const TBTDevAddr&, const TBTDevAddr&)" - quidu "40C5868B00EE"))) - (object Link - quid "4151A6DD0249" - supplier "$UNNAMED$14" - quidu "4151A5EF028C" - messages (list Messages - (object Message "Proceed( )" - quid "4151A6DD024A" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "7" - ordinal 6 - quidu "413C2FB60246")))) - class "Logical View::CBnepLink" - quidu "40C0510D0175" - persistence "Transient" - multi FALSE))) - (object Mechanism @135 - logical_models (list unit_reference_list - (object Object "$UNNAMED$15" - quid "415AC86702A5" - collaborators (list link_list - (object Link - quid "415AC9630244" - supplier "iComing" - quidu "415AC92B0008" - messages (list Messages - (object Message "ExecuteControl(aController : MLinkManager&)" - quid "415AC9630245" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1" - ordinal 0 - Operation "ExecuteControl(MLinkManager&)" - quidu "413C32F50010")))) - class "Logical View::CBnepLink" - quidu "40C0510D0175" - persistence "Transient" - multi FALSE) - (object Object "iComing" - quid "415AC92B0008" - collaborators (list link_list - (object Link - quid "415AC97500C3" - supplier "$UNNAMED$16" - quidu "415AC93F0332" - messages (list Messages - (object Message "Execute(aCommand : RBnepControl*)" - quid "415AC97500C4" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "2" - ordinal 1 - Operation "Execute(RBnepControl*)" - quidu "40C57C6C0392")))) - class "Logical View::RBnepFrame" - quidu "40C049510377" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$16" - quid "415AC93F0332" - collaborators (list link_list - (object Link - quid "415AC990028E" - supplier "$UNNAMED$16" - quidu "415AC93F0332" - messages (list Messages - (object Message "Handle(aSetupRequest : RBnepSetupConnectionRequestControl*)" - quid "415AC990028F" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "3" - ordinal 2 - Operation "Handle(RBnepFilterMultiAddrResponseControl*)" - quidu "40F692A203C0") - (object Message "SetAwaitingResponse(ETrue)" - quid "415ACB040149" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "6" - ordinal 5))) - (object Link - quid "415AC99F0240" - supplier "$UNNAMED$17" - quidu "415AC95301F0" - messages (list Messages - (object Message "LocalRole(aRole : TUUID&)" - quid "415AC99F0241" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4" - ordinal 3 - Operation "LocalRole(TUUID&)" - quidu "40C447AC01DC") - (object Message "RemoteRole(aRole : TUUID&)" - quid "415AC9E201BA" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "5" - ordinal 4 - Operation "RemoteRole(TUUID&)" - quidu "40C447B90004"))) - (object Link - quid "415ACA2F0084" - supplier "$UNNAMED$18" - quidu "415ACA270245" - messages (list Messages - (object Message "BnepRoleRequestFromRemoteDevice" - quid "415ACA2F0085" - frequency "Aperiodic" - synchronization "Asynchronous" - dir "FromClientToSupplier" - sequence "7" - ordinal 6)))) - class "Logical View::CBnepChannelController" - quidu "40C0512A0181" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$17" - quid "415AC95301F0" - class "Logical View::RBnepSetupConnectionRequestControl" - quidu "40C04FE6035B" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$18" - quid "415ACA270245" - class "Use Case View::PAN Agent" - quidu "41500F2A038E" - persistence "Transient" - multi FALSE))) - (object Mechanism @136 - logical_models (list unit_reference_list - (object Object "$UNNAMED$19" - quid "415BC9CD02FD" - collaborators (list link_list - (object Link - quid "415BCA4F02E6" - supplier "iComing" - quidu "415BC9D90192" - messages (list Messages - (object Message "ExecuteControl(aController : MLinkManager&)" - quid "415BCA4F02E7" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1" - ordinal 0 - Operation "ExecuteControl(MLinkManager&)" - quidu "413C32F50010"))) - (object Link - quid "415BCC030257" - supplier "iGoing" - quidu "415BCA24024E" - messages (list Messages - (object Message "InsertControl(aCommand : RBnepControl*)" - quid "415BCC030258" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "11" - ordinal 10 - Operation "InsertControl(RBnepControl*)" - quidu "40C5866203CA")))) - class "Logical View::CBnepLink" - quidu "40C0510D0175" - persistence "Transient" - multi FALSE) - (object Object "iComing" - quid "415BC9D90192" - collaborators (list link_list - (object Link - quid "415BCA6C02C0" - supplier "$UNNAMED$20" - quidu "415BC9E40007" - messages (list Messages - (object Message "Execute (aCommand : RBnepControl*)" - quid "415BCA6C02C1" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "2" - ordinal 1 - Operation "Execute(RBnepControl*)" - quidu "40C57C6C0392")))) - class "Logical View::RBnepFrame" - quidu "40C049510377" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$20" - quid "415BC9E40007" - collaborators (list link_list - (object Link - quid "415BCA81005D" - supplier "$UNNAMED$20" - quidu "415BC9E40007" - messages (list Messages - (object Message "Handle(aFilterNetTypeSetRequest : RBnepFilterNetTypeSetRequestControl*)" - quid "415BCA81005E" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "3" - ordinal 2 - Operation "Handle(RBnepFilterMultiAddrResponseControl*)" - quidu "40F692A203C0"))) - (object Link - quid "415BCA9500CA" - supplier "$UNNAMED$21" - quidu "415BCA05038A" - messages (list Messages - (object Message "NetworkProtocolTypeRange(aStartValue : TUint16&, aEndValue : TUint16&, aIndex : TUint)" - quid "415BCAD50004" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4" - ordinal 3 - Operation "NetworkProtocolTypeRange(TUint16&, TUint16&, TUint)" - quidu "40FB97C801BF") - (object Message "Free()" - quid "415BCB5803CD" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "7" - ordinal 6))) - (object Link - quid "415BCAA60128" - supplier "$UNNAMED$22" - quidu "415BCA310120" - messages (list Messages - (object Message "Insert(aStart : const TUint16, aEnd : const TUint16)" - quid "415BCAEE03C1" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "5" - ordinal 4 - Operation "Insert(const TUint16, const TUint16)" - quidu "4124819702A5"))) - (object Link - quid "415BCB2701E2" - supplier "$UNNAMED$19" - quidu "415BC9CD02FD" - messages (list Messages - (object Message "Install(aFilterTable : CNetTypeFilterTable*)" - quid "415BCB2701E3" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "6" - ordinal 5 - Operation "Install(CNetTypeFilterTable*)" - quidu "4124B2A702CE") - (object Message "QueueOnOutput(aCommand : RBnepControl*)" - quid "415BCBF50120" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "10" - ordinal 9 - Operation "QueueOnOutput(RBnepControl*)" - quidu "40C6E20800BA"))) - (object Link - quid "415BCBB4027B" - supplier "$UNNAMED$23" - quidu "415BCB93016F" - messages (list Messages - (object Message "InitL( )" - quid "415BCBB4027C" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "8" - ordinal 7 - quidu "40FB9421002A") - (object Message "SetConnectionSetupResponseL(aResponse : TBnepSetupConnectionResponseMessage)" - quid "415BCBC203B2" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "9" - ordinal 8 - Operation "SetConnectionSetupResponseL(TBnepSetupConnectionResponseMessage)" - quidu "40FB943F01AA"))) - (object Link - quid "415BCBD60158" - supplier "iGoing" - quidu "415BCA24024E")) - class "Logical View::CBnepChannelController" - quidu "40C0512A0181" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$21" - quid "415BCA05038A" - class "Logical View::RBnepFilterNetTypeSetRequestControl" - quidu "40F68AE302E2" - persistence "Transient" - multi FALSE) - (object Object "iGoing" - quid "415BCA24024E" - class "Logical View::RBnepFrame" - quidu "40C049510377" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$22" - quid "415BCA310120" - class "Logical View::CNetTypeFilterTable" - quidu "412478A20031" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$23" - quid "415BCB93016F" - class "Logical View::RBnepSetupConnectionResponseControl" - quidu "40C050B10245" - persistence "Transient" - multi FALSE))) - (object Mechanism @137 - logical_models (list unit_reference_list - (object Object "$UNNAMED$24" - quid "415ACBAD0305" - collaborators (list link_list - (object Link - quid "415ACBDB02A7" - supplier "$UNNAMED$25" - quidu "415ACBB4026E" - messages (list Messages - (object Message "BnepRoleResponseFromLocalDevice(aRoleResponseCode : TBnepSetupConnectionResponseMessage)" - quid "415ACBDB02A8" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1" - ordinal 0 - Operation "BnepRoleResponseFromLocalDevice(TBnepSetupConnectionResponseMessage)" - quidu "40C5753B0055")))) - class "Use Case View::PAN Agent" - quidu "41500F2A038E" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$25" - quid "415ACBB4026E" - collaborators (list link_list - (object Link - quid "415ACC180019" - supplier "$UNNAMED$26" - quidu "415ACC0B02EC" - messages (list Messages - (object Message "InitL( )" - quid "415ACC18001A" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "2" - ordinal 1 - quidu "40FB9421002A") - (object Message "SetConnectionSetupResponseL(aResponse : TBnepSetupConnectionResponseMessage)" - quid "415ACC4402C6" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "3" - ordinal 2 - Operation "SetConnectionSetupResponseL(TBnepSetupConnectionResponseMessage)" - quidu "40FB943F01AA"))) - (object Link - quid "415ACC8300D1" - supplier "$UNNAMED$27" - quidu "415ACC6D00BC" - messages (list Messages - (object Message "QueueOnOutput(aCommand : RBnepControl*)" - quid "415ACC8300D2" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4" - ordinal 3 - Operation "QueueOnOutput(RBnepControl*)" - quidu "40C6E20800BA") - (object Message "ResumeDataTransfer( )" - quid "415ACD190181" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "7" - ordinal 6 - quidu "40C6E29703C3") - (object Message "Proceed( )" - quid "415ACD2C021F" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "8" - ordinal 7 - quidu "413C2FB60246"))) - (object Link - quid "415ACCEF018B" - supplier "$UNNAMED$25" - quidu "415ACBB4026E" - messages (list Messages - (object Message "SetAwaitingResponse(EFalse)" - quid "415ACCEF018C" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "6" - ordinal 5)))) - class "Logical View::CBnepChannelController" - quidu "40C0512A0181" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$26" - quid "415ACC0B02EC" - class "Logical View::RBnepSetupConnectionResponseControl" - quidu "40C050B10245" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$27" - quid "415ACC6D00BC" - collaborators (list link_list - (object Link - quid "415ACC92014B" - supplier "iGoing" - quidu "415ACC7400A8" - messages (list Messages - (object Message "InsertControl(aCommand : RBnepControl*)" - quid "415ACC92014C" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "5" - ordinal 4 - Operation "InsertControl(RBnepControl*)" - quidu "40C5866203CA")))) - class "Logical View::CBnepLink" - quidu "40C0510D0175" - persistence "Transient" - multi FALSE) - (object Object "iGoing" - quid "415ACC7400A8" - class "Logical View::RBnepFrame" - quidu "40C049510377" - persistence "Transient" - multi FALSE))) - (object Mechanism @138 - logical_models (list unit_reference_list - (object Object "$UNNAMED$28" - quid "415BDACC0095" - collaborators (list link_list - (object Link - quid "415BDACC0096" - supplier "iComing" - quidu "415BDACC009A" - messages (list Messages - (object Message "ExecuteControl(aController : MLinkManager&)" - quid "415BDACC0097" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1" - ordinal 0 - Operation "ExecuteControl(MLinkManager&)" - quidu "413C32F50010"))) - (object Link - quid "415BDACC0098" - supplier "iGoing" - quidu "415BDACC00AF" - messages (list Messages - (object Message "InsertControl(aCommand : RBnepControl*)" - quid "415BDACC0099" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "7" - ordinal 6 - Operation "InsertControl(RBnepControl*)" - quidu "40C5866203CA")))) - class "Logical View::CBnepLink" - quidu "40C0510D0175" - persistence "Transient" - multi FALSE) - (object Object "iComing" - quid "415BDACC009A" - collaborators (list link_list - (object Link - quid "415BDACC009B" - supplier "$UNNAMED$29" - quidu "415BDACC009D" - messages (list Messages - (object Message "Execute (aCommand : RBnepControl*)" - quid "415BDACC009C" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "2" - ordinal 1 - Operation "Execute(RBnepControl*)" - quidu "40C57C6C0392")))) - class "Logical View::RBnepFrame" - quidu "40C049510377" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$29" - quid "415BDACC009D" - collaborators (list link_list - (object Link - quid "415BDACC009E" - supplier "$UNNAMED$29" - quidu "415BDACC009D" - messages (list Messages - (object Message "HandleUnknownCommandPacket(aControl : RBnepControl*)" - quid "415BDACC009F" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "3" - ordinal 2 - Operation "HandleUnknownCommandPacket(RBnepControl*)" - quidu "4105042701ED"))) - (object Link - quid "415BDACC00A5" - supplier "$UNNAMED$28" - quidu "415BDACC0095" - messages (list Messages - (object Message "QueueOnOutput(aCommand : RBnepControl*)" - quid "415BDACC00A7" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "6" - ordinal 5 - Operation "QueueOnOutput(RBnepControl*)" - quidu "40C6E20800BA"))) - (object Link - quid "415BDACC00A8" - supplier "$UNNAMED$30" - quidu "415BDACC00AE" - messages (list Messages - (object Message "InitL( )" - quid "415BDACC00A9" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4" - ordinal 3 - quidu "41050B0B012B") - (object Message "SetUnknownControlType(aUnknownControlType : TUint8)" - quid "415BDACC00AA" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "5" - ordinal 4 - Operation "SetUnknownControlType(TUint8)" - quidu "41050B4B0173")))) - class "Logical View::CBnepChannelController" - quidu "40C0512A0181" - persistence "Transient" - multi FALSE) - (object Object "iGoing" - quid "415BDACC00AF" - class "Logical View::RBnepFrame" - quidu "40C049510377" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$30" - quid "415BDACC00AE" - class "Logical View::RBnepNotUnderstoodResponseControl" - quidu "410509070129" - persistence "Transient" - multi FALSE))) - (object Mechanism @139 - logical_models (list unit_reference_list - (object Object "$UNNAMED$31" - quid "415BE0AD0162" - collaborators (list link_list - (object Link - quid "415BE10700DF" - supplier "$UNNAMED$31" - quidu "415BE0AD0162" - messages (list Messages - (object Message "SendFrame(aFrame : RBnepFrame&)" - quid "415BE10700E0" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1" - ordinal 0 - Operation "SendFrame(RBnepFrame&)" - quidu "40F6780900E4"))) - (object Link - quid "415BE1550312" - supplier "iGoing" - quidu "415BE0BD033B" - messages (list Messages - (object Message "BuildBnepFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" - quid "415BE1550313" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "2" - ordinal 1 - Operation "BuildBnepFrameL(RMBufChain&, const TBTDevAddr&, const TBTDevAddr&)" - quidu "40C5873800ED"))) - (object Link - quid "415BE19B02EA" - supplier "$UNNAMED$32" - quidu "415BE17601A7" - messages (list Messages - (object Message "Write(aChain : RMBufChain&)" - quid "415BE19B02EB" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4" - ordinal 3 - Operation "Write(RMBufChain&)" - quidu "40C6E8850330")))) - class "Logical View::CBnepLink" - quidu "40C0510D0175" - persistence "Transient" - multi FALSE) - (object Object "iGoing" - quid "415BE0BD033B" - collaborators (list link_list - (object Link - quid "415BE19002D0" - supplier "iGoing" - quidu "415BE0BD033B" - messages (list Messages - (object Message "BuildBnepControlFrameL(aChain : RMBufChain&)" - quid "415BE19002D1" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "3" - ordinal 2 - Operation "BuildBnepControlFrameL(RMBufChain&)" - quidu "40C58CD803DD")))) - class "Logical View::RBnepFrame" - quidu "40C049510377" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$32" - quid "415BE17601A7" - class "Logical View::CSocketWriter" - quidu "40C0651F0155" - persistence "Transient" - multi FALSE))) - (object Mechanism @140 - logical_models (list unit_reference_list - (object Object "$UNNAMED$33" - quid "415BF99B0367" - collaborators (list link_list - (object Link - quid "415BF9F803BB" - supplier "$UNNAMED$34" - quidu "415BF9A2024F" - messages (list Messages - (object Message "ReadComplete(aChain : RMBufChain&)" - quid "415BF9F803BC" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1" - ordinal 0 - Operation "ReadComplete(RMBufChain&)" - quidu "40C6E2350065")))) - class "Logical View::CSocketReader" - quidu "40C0652B0094" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$34" - quid "415BF9A2024F" - collaborators (list link_list - (object Link - quid "415BFA020062" - supplier "iComing" - quidu "415BF9D601BD" - messages (list Messages - (object Message "Reset( )" - quid "415BFA020063" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "2" - ordinal 1 - quidu "40C58657008F") - (object Message "ParseBnepFrameL(aInboundChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" - quid "415BFA09038D" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "3" - ordinal 2 - Operation "ParseBnepFrameL(RMBufChain&, const TBTDevAddr&, const TBTDevAddr&)" - quidu "40C5868B00EE"))) - (object Link - quid "415BFA6D01CF" - supplier "$UNNAMED$34" - quidu "415BF9A2024F" - messages (list Messages - (object Message "Proceed( )" - quid "415BFA6D01D0" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "5" - ordinal 4 - quidu "413C2FB60246"))) - (object Link - quid "415BFA93009D" - supplier "$UNNAMED$35" - quidu "415BFA8C0396" - messages (list Messages - (object Message "Process(aPacket : RBnepFrame&, aSourceIfAddr : const TBTDevAddr&)" - quid "415BFA93009E" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "6" - ordinal 5 - Operation "Process(RBnepFrame&, const TBTDevAddr&)" - quidu "40C065C50059")))) - class "Logical View::CBnepLink" - quidu "40C0510D0175" - persistence "Transient" - multi FALSE) - (object Object "iComing" - quid "415BF9D601BD" - collaborators (list link_list - (object Link - quid "415BFA3203BE" - supplier "iComing" - quidu "415BF9D601BD" - messages (list Messages - (object Message "SetContents(aContent : TPacketContents)" - quid "415BFA3203BF" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4" - ordinal 3 - Operation "SetContents(TPacketContents)" - quidu "40C58E0201E6")))) - class "Logical View::RBnepFrame" - quidu "40C049510377" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$35" - quid "415BFA8C0396" - collaborators (list link_list - (object Link - quid "415BFAD202E2" - supplier "$UNNAMED$36" - quidu "415BFAB90047" - messages (list Messages - (object Message "Process(aFrame : RBnepFrame&)" - quid "415BFAD202E3" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "7" - ordinal 6 - Operation "Process(RBnepFrame&)" - quidu "40C6DB8C0031")))) - class "Logical View::CBnepBridge" - quidu "40C049600007" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$36" - quid "415BFAB90047" - collaborators (list link_list - (object Link - quid "415BFB020100" - supplier "iComing" - quidu "415BF9D601BD" - messages (list Messages - (object Message "BuildEthernetFrameL(aChain : RMBufPacket&)" - quid "415BFB020101" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "8" - ordinal 7 - Operation "BuildEthernetFrameL(RMBufPacket&)" - quidu "40C5879E025C"))) - (object Link - quid "415BFB200031" - supplier "$UNNAMED$37" - quidu "415BFB1702C3" - messages (list Messages - (object Message "Process(RMBufPacket&)" - quid "415BFB200032" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "9" - ordinal 8 - Operation "Process(RMBufPkt&)")))) - class "Logical View::CBnepLocalDevice" - quidu "40C049420180" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$37" - quid "415BFB1702C3" - class "Use Case View::Ethint.NIF" - quidu "41500F360395" - persistence "Transient" - multi FALSE))) - (object Mechanism @141 - logical_models (list unit_reference_list - (object Object "$UNNAMED$38" - quid "415BFB9602F8" - collaborators (list link_list - (object Link - quid "415BFB9602F9" - supplier "source" - quidu "415BFB9602FB" - messages (list Messages - (object Message "ReadComplete(aChain : RMBufChain&)" - quid "415BFB9602FA" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1" - ordinal 0 - Operation "ReadComplete(RMBufChain&)" - quidu "40C6E2350065")))) - class "Logical View::CSocketReader" - quidu "40C0652B0094" - persistence "Transient" - multi FALSE) - (object Object "source" - quid "415BFB9602FB" - collaborators (list link_list - (object Link - quid "415BFB9602FC" - supplier "iComing" - quidu "415BFB960303" - messages (list Messages - (object Message "Reset( )" - quid "415BFB9602FD" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "2" - ordinal 1 - quidu "40C58657008F") - (object Message "ParseBnepFrameL(aInboundChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" - quid "415BFB9602FE" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "3" - ordinal 2 - Operation "ParseBnepFrameL(RMBufChain&, const TBTDevAddr&, const TBTDevAddr&)" - quidu "40C5868B00EE"))) - (object Link - quid "415BFB9602FF" - supplier "source" - quidu "415BFB9602FB" - messages (list Messages - (object Message "Proceed( )" - quid "415BFB960300" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "5" - ordinal 4 - quidu "413C2FB60246"))) - (object Link - quid "415BFB960301" - supplier "$UNNAMED$39" - quidu "415BFB96030D" - messages (list Messages - (object Message "Process(aPacket : RBnepFrame&, aSourceIfAddr : const TBTDevAddr&)" - quid "415BFB960302" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "6" - ordinal 5 - Operation "Process(RBnepFrame&, const TBTDevAddr&)" - quidu "40C065C50059")))) - class "Logical View::CBnepLink" - quidu "40C0510D0175" - persistence "Transient" - multi FALSE) - (object Object "iComing" - quid "415BFB960303" - collaborators (list link_list - (object Link - quid "415BFB960304" - supplier "iComing" - quidu "415BFB960303" - messages (list Messages - (object Message "SetContents(aContent : TPacketContents)" - quid "415BFB960305" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4" - ordinal 3 - Operation "SetContents(TPacketContents)" - quidu "40C58E0201E6") - (object Message "BuildBnepDataFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" - quid "415BFF560367" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "12" - ordinal 11 - Operation "BuildBnepDataFrameL(RMBufChain&, const TBTDevAddr&, const TBTDevAddr&)" - quidu "40C58CF602EF")))) - class "Logical View::RBnepFrame" - quidu "40C049510377" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$39" - quid "415BFB96030D" - collaborators (list link_list - (object Link - quid "415BFB96030C" - supplier "dest" - quidu "415BFB960308" - messages (list Messages - (object Message "Process(aFrame : RBnepFrame&)" - quid "415BFB96030B" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "8" - ordinal 7 - Operation "Process(RBnepFrame&)" - quidu "40C6E1DD02E9"))) - (object Link - quid "415BFEE8006F" - supplier "$UNNAMED$39" - quidu "415BFB96030D" - messages (list Messages - (object Message "Identify Unicast Destination Link or Iterate Across All Links" - quid "415BFEE80070" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "7" - ordinal 6)))) - class "Logical View::CBnepBridge" - quidu "40C049600007" - persistence "Transient" - multi FALSE) - (object Object "dest" - quid "415BFB960308" - collaborators (list link_list - (object Link - quid "415BFB960307" - supplier "iComing" - quidu "415BFB960303" - messages (list Messages - (object Message "BuildBnepFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" - quid "415BFF3F0115" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "11" - ordinal 10 - Operation "BuildBnepFrameL(RMBufChain&, const TBTDevAddr&, const TBTDevAddr&)" - quidu "40C5873800ED"))) - (object Link - quid "415BFECD0071" - supplier "dest" - quidu "415BFB960308" - messages (list Messages - (object Message "SendFrame(aFrame : RBnepFrame&)" - quid "415BFECD0072" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "9" - ordinal 8 - Operation "SendFrame(RBnepFrame&)" - quidu "40F6780900E4") - (object Message "Apply Filters" - quid "415BFFBE03DE" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "10" - ordinal 9))) - (object Link - quid "415BFF96001F" - supplier "$UNNAMED$40" - quidu "415BFF8E0050" - messages (list Messages - (object Message "Write(aChain : RMBufChain&)" - quid "415BFF960020" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "13" - ordinal 12 - Operation "Write(RMBufChain&)" - quidu "40C6E8850330")))) - class "Logical View::CBnepLink" - quidu "40C0510D0175" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$40" - quid "415BFF8E0050" - class "Logical View::CSocketWriter" - quidu "40C0651F0155" - persistence "Transient" - multi FALSE))) - (object Mechanism @142 - logical_models (list unit_reference_list - (object Object "$UNNAMED$41" - quid "415C0BAF03DA" - collaborators (list link_list - (object Link - quid "415C0BAF03DB" - supplier " " - quidu "415C0BAF03DD" - messages (list Messages - (object Message "Send(aPkt : RMBufChain&)" - quid "415C0BAF03DC" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "1" - ordinal 0 - Operation "Send(RMBufChain&)" - quidu "40C6D65700F3")))) - class "Use Case View::Ethint.NIF" - quidu "41500F360395" - persistence "Transient" - multi FALSE) - (object Object " " - quid "415C0BAF03DD" - collaborators (list link_list - (object Link - quid "415C0BAF03DE" - supplier "$UNNAMED$42" - quidu "415C0BAF03E5" - messages (list Messages - (object Message "ParseEthernetFrameL(aFrame : RMBufChain&)" - quid "415C0BAF03E0" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "2" - ordinal 1 - Operation "ParseEthernetFrameL(RMBufChain&)" - quidu "40C587080094"))) - (object Link - quid "415C0BAF03E1" - supplier " " - quidu "415C0BAF03DD") - (object Link - quid "415C0BAF03E3" - supplier "$UNNAMED$43" - quidu "415C0BAF03F3" - messages (list Messages - (object Message "Process(aPacket : RBnepFrame&, aSourceIfAddr : const TBTDevAddr&)" - quid "415C0BAF03E4" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "4" - ordinal 3 - Operation "Process(RBnepFrame&, const TBTDevAddr&)" - quidu "40C065C50059")))) - class "Logical View::CBnepLocalDevice" - quidu "40C049420180" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$42" - quid "415C0BAF03E5" - collaborators (list link_list - (object Link - quid "415C0BAF03E6" - supplier "$UNNAMED$42" - quidu "415C0BAF03E5" - messages (list Messages - (object Message "SetContents(aContent : TPacketContents)" - quid "415C0BAF03E7" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "3" - ordinal 2 - Operation "SetContents(TPacketContents)" - quidu "40C58E0201E6") - (object Message "BuildBnepDataFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" - quid "415C0BAF03E8" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "10" - ordinal 9 - Operation "BuildBnepDataFrameL(RMBufChain&, const TBTDevAddr&, const TBTDevAddr&)" - quidu "40C58CF602EF")))) - class "Logical View::RBnepFrame" - quidu "40C049510377" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$43" - quid "415C0BAF03F3" - collaborators (list link_list - (object Link - quid "415C0BAF03F2" - supplier "dest" - quidu "415C0BAF03EB" - messages (list Messages - (object Message "Process(aFrame : RBnepFrame&)" - quid "415C0BAF03F1" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "6" - ordinal 5 - Operation "Process(RBnepFrame&)" - quidu "40C6E1DD02E9"))) - (object Link - quid "415C0BAF03F4" - supplier "$UNNAMED$43" - quidu "415C0BAF03F3" - messages (list Messages - (object Message "Identify Unicast Destination Link or Iterate Across All Links" - quid "415C0BAF03F5" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "5" - ordinal 4)))) - class "Logical View::CBnepBridge" - quidu "40C049600007" - persistence "Transient" - multi FALSE) - (object Object "dest" - quid "415C0BAF03EB" - collaborators (list link_list - (object Link - quid "415C0BAF03EA" - supplier "$UNNAMED$42" - quidu "415C0BAF03E5" - messages (list Messages - (object Message "BuildBnepFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" - quid "415C0BAF03E9" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "9" - ordinal 8 - Operation "BuildBnepFrameL(RMBufChain&, const TBTDevAddr&, const TBTDevAddr&)" - quidu "40C5873800ED"))) - (object Link - quid "415C0BAF03EC" - supplier "dest" - quidu "415C0BAF03EB" - messages (list Messages - (object Message "SendFrame(aFrame : RBnepFrame&)" - quid "415C0BAF03ED" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "7" - ordinal 6 - Operation "SendFrame(RBnepFrame&)" - quidu "40F6780900E4") - (object Message "Apply Filters" - quid "415C0BAF03EE" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "8" - ordinal 7))) - (object Link - quid "415C0BAF03EF" - supplier "$UNNAMED$44" - quidu "415C0BAF03F6" - messages (list Messages - (object Message "Write(aChain : RMBufChain&)" - quid "415C0BAF03F0" - frequency "Aperiodic" - synchronization "Simple" - dir "FromClientToSupplier" - sequence "11" - ordinal 10 - Operation "Write(RMBufChain&)" - quidu "40C6E8850330")))) - class "Logical View::CBnepLink" - quidu "40C0510D0175" - persistence "Transient" - multi FALSE) - (object Object "$UNNAMED$44" - quid "415C0BAF03F6" - class "Logical View::CSocketWriter" - quidu "40C0651F0155" - persistence "Transient" - multi FALSE)))) - logical_presentations (list unit_reference_list - (object InteractionDiagram "Instantiation" - mechanism_ref @131 - quid "415136650231" - title "Instantiation" - documentation -|This diagram shows the normal sequence of calls that result in the correct instantiation of the BNEP packet driver. The sequence is driven by Ethint.NIF requesting a new driver from CBnepPktDrvFactory (1). The factory immediately constructs the CBnepLocalDevice (2). During construction, the local device invokes the construction of the CBnepBridge and the CBTAddrSubscriber (3,4). -|As part of initialisation CBTAddrSubscriber will attempt to fetch the device's Bluetooth address as a synchronous call (5). As part of that call, the subscriber will schedule the active object and subscribe to the RProperty such that it will be notified if the property changes (i.e. if the Bluetooth stack was not present but was later created and published an update to the address property). -|At the end of this sequence, Ethint.NIF should have recieved a pointer to CBnepLocalDevice, as a CPktDrv-derived object, and a copy of this pointer will also have been attached to the bridge array of links in the space reserved for the local device. - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 56 - origin_y 0 - items (list diagram_item_list - (object InterObjView "$UNNAMED$0" @143 - location (249, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @143 - location (249, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4151369A0300" - width 300 - height 660 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @144 - location (249, 405) - line_color 3342489 - InterObjView @143 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$1" @145 - location (690, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @145 - location (690, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 470 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415136B700EF" - width 488 - height 660 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @146 - location (690, 405) - line_color 3342489 - InterObjView @145 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @147 - location (690, 495) - line_color 3342489 - InterObjView @145 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$2" @148 - location (1155, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @148 - location (1155, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 382 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415136DB01D7" - width 400 - height 660 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @149 - location (1155, 495) - line_color 3342489 - InterObjView @148 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @150 - location (1155, 588) - line_color 3342489 - InterObjView @148 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @151 - location (1155, 699) - line_color 3342489 - InterObjView @148 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$3" @152 - location (1542, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @152 - location (1542, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415136FA01D1" - width 300 - height 660 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @153 - location (1542, 588) - line_color 3342489 - InterObjView @152 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$4" @154 - location (1935, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @154 - location (1935, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 407 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4151372C0025" - width 425 - height 660 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @155 - location (1935, 699) - line_color 3342489 - InterObjView @154 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @156 - location (1935, 795) - line_color 3342489 - InterObjView @154 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @157 - location (1935, 795) - line_color 3342489 - InterObjView @154 - height 0 - y_coord 0 - Nested TRUE)) - (object InterMessView "" @158 - location (3, 405) - label (object SegLabel @159 - Parent_View @158 - location (469, 361) - quidu "4151376601C4" - anchor_loc 1 - nlines 1 - max_width 810 - justify 0 - label "NewDriverL(aParent : CLANLinkCommon*)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @143 - supplier @145 - Focus_Src @144 - Focus_Entry @146 - origin (249, 405) - terminus (689, 405) - ordinal 0) - (object InterMessView "" @160 - location (3, 495) - label (object SegLabel @161 - Parent_View @160 - location (922, 451) - quidu "4151377103E6" - anchor_loc 1 - nlines 1 - max_width 1245 - justify 0 - label "NewL(aFactory : CPktDrvFactory&, aParent : CLANLinkCommon*)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @145 - supplier @148 - Focus_Src @147 - Focus_Entry @149 - origin (690, 495) - terminus (1154, 495) - ordinal 1) - (object InterMessView "" @162 - location (3, 588) - label (object SegLabel @163 - Parent_View @162 - location (1348, 544) - quidu "415137960281" - anchor_loc 1 - nlines 1 - max_width 701 - justify 0 - label "NewL(aLocalDevice : MPanDevice&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @148 - supplier @152 - Focus_Src @150 - Focus_Entry @153 - origin (1155, 588) - terminus (1541, 588) - ordinal 2) - (object InterMessView "" @164 - location (3, 699) - label (object SegLabel @165 - Parent_View @164 - location (1544, 655) - quidu "415137A401D7" - anchor_loc 1 - nlines 1 - max_width 1114 - justify 0 - label "NewL(aAddr : TBTDevAddr&, aLocal : CBnepLocalDevice&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @148 - supplier @154 - Focus_Src @151 - Focus_Entry @155 - origin (1155, 699) - terminus (1934, 699) - ordinal 3) - (object SelfMessView "" @166 - location (3, 795) - label (object SegLabel @167 - Parent_View @166 - location (2011, 751) - quidu "415137CD035C" - anchor_loc 1 - nlines 1 - max_width 563 - justify 0 - label "SyncFetch(aRestart : TBool)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @154 - supplier @154 - Focus_Src @157 - Focus_Entry @156 - origin (1936, 795) - terminus (2086, 795) - ordinal 4) - (object NoteView @168 - location (549, 720) - label (object ItemLabel - Parent_View @168 - location (199, 651) - fill_color 13434879 - nlines 2 - max_width 665 - label "CBnepLocalDevice::ConstructL() has been called here.") - line_color 3342489 - fill_color 13434879 - width 725 - height 150) - (object AttachView "" @169 - stereotype TRUE - line_color 3342489 - client @168 - supplier @163 - line_style 0) - (object NoteView @170 - location (1416, 972) - label (object ItemLabel - Parent_View @170 - location (1035, 881) - fill_color 13434879 - nlines 3 - max_width 727 - label "CBTAddrSubscriber will be set as an active subscriber to the BT address property as a consequence of this call.") - line_color 3342489 - fill_color 13434879 - width 787 - height 194) - (object AttachView "" @171 - stereotype TRUE - line_color 3342489 - client @170 - supplier @167 - line_style 0))) - (object InteractionDiagram "Create a Connection" - mechanism_ref @132 - quid "415191080364" - title "Create a Connection" - documentation -|PAN Agent requests a new connection from CBnepBridge, passing it a socket and a reference back to itself (1). The bridge creates a CBnepChannelController for the connection which in turn creates a CBnepLink object for the connection (2,3). -|The first thing the link object has to do is take ownership of the socket, from which it constructs two active objects. The first is a dedicated input object, CSocketReader, upon which is then queued an asynchronous Read() waiting for input (4,5). The other active object is a dedicated output object, CSocketWriter, which has no immediate work to do (6). Finally the link uattaches to the bridge (7). If the bridge is already fully loaded with connections, this attempt will force a leave and the link has to be deleted. -|On successful completion, CBnepBridge will return a reference to the CBnepChannelController, through which PAN Agent can make link-specific requests via the MBnepChannelControl interface. - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 1544 - origin_y 0 - items (list diagram_item_list - (object InterObjView "$UNNAMED$5" @172 - location (645, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @172 - location (645, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4151914400F4" - width 300 - height 975 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @173 - location (645, 402) - line_color 3342489 - InterObjView @172 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$6" @174 - location (1065, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @174 - location (1065, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4151914F017C" - width 300 - height 975 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @175 - location (1065, 402) - line_color 3342489 - InterObjView @174 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @176 - location (1065, 519) - line_color 3342489 - InterObjView @174 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @177 - location (1065, 1110) - line_color 3342489 - InterObjView @174 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$7" @178 - location (1500, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @178 - location (1500, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 513 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4151915600DC" - width 531 - height 975 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @179 - location (1500, 519) - line_color 3342489 - InterObjView @178 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @180 - location (1500, 621) - line_color 3342489 - InterObjView @178 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$8" @181 - location (1929, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @181 - location (1929, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4151916500F1" - width 300 - height 975 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @182 - location (1929, 621) - line_color 3342489 - InterObjView @181 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @183 - location (1929, 735) - line_color 3342489 - InterObjView @181 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @184 - location (1929, 1020) - line_color 3342489 - InterObjView @181 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @185 - location (1929, 1110) - line_color 3342489 - InterObjView @181 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$9" @186 - location (2289, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @186 - location (2289, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 363 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4151919F0221" - width 381 - height 975 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @187 - location (2289, 735) - line_color 3342489 - InterObjView @186 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @188 - location (2289, 885) - line_color 3342489 - InterObjView @186 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @189 - location (2289, 885) - line_color 3342489 - InterObjView @186 - height 0 - y_coord 0 - Nested TRUE)) - (object InterObjView "$UNNAMED$10" @190 - location (2682, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @190 - location (2682, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 350 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415191B70262" - width 368 - height 975 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @191 - location (2682, 1020) - line_color 3342489 - InterObjView @190 - height 0 - y_coord 0 - Nested FALSE)) - (object InterMessView "" @192 - location (3, 402) - label (object SegLabel @193 - Parent_View @192 - location (854, 358) - quidu "415191F8025C" - anchor_loc 1 - nlines 1 - max_width 1804 - justify 0 - label "NewBnepConnectionL(aConnectedSocket : RInternalSocket&, aNotify : MPanConnectionNotify&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @172 - supplier @174 - Focus_Src @173 - Focus_Entry @175 - origin (645, 402) - terminus (1064, 402) - ordinal 0) - (object InterMessView "" @194 - location (3, 519) - label (object SegLabel @195 - Parent_View @194 - location (1282, 475) - quidu "4151923F00E2" - anchor_loc 1 - nlines 1 - max_width 1973 - justify 0 - label "NewL(aBridge : CBnepBridge&, aConnectedSocket : RInternalSocket&, aNotify : MPanConnectionNotify&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @174 - supplier @178 - Focus_Src @176 - Focus_Entry @179 - origin (1065, 519) - terminus (1499, 519) - ordinal 1) - (object InterMessView "" @196 - location (3, 621) - label (object SegLabel @197 - Parent_View @196 - location (1714, 577) - quidu "41519253004A" - anchor_loc 1 - nlines 1 - max_width 1751 - justify 0 - label "NewL(aBridge : MPanDeviceOwner&, aSocket : RInternalSocket&, aParser : MLinkManager&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @178 - supplier @181 - Focus_Src @180 - Focus_Entry @182 - origin (1500, 621) - terminus (1928, 621) - ordinal 2) - (object InterMessView "" @198 - location (3, 735) - label (object SegLabel @199 - Parent_View @198 - location (2108, 691) - quidu "415192690196" - anchor_loc 1 - nlines 1 - max_width 1110 - justify 0 - label "NewL(aSocket : RInternalSocket&, aOwner : CBnepLink&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @181 - supplier @186 - Focus_Src @183 - Focus_Entry @187 - origin (1929, 735) - terminus (2288, 735) - ordinal 3) - (object SelfMessView "" @200 - location (3, 885) - label (object SegLabel @201 - Parent_View @200 - location (2365, 841) - quidu "4151928702EE" - anchor_loc 1 - nlines 1 - max_width 188 - justify 0 - label "Read( )" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @186 - supplier @186 - Focus_Src @189 - Focus_Entry @188 - origin (2290, 885) - terminus (2440, 885) - ordinal 4) - (object InterMessView "" @202 - location (3, 1020) - label (object SegLabel @203 - Parent_View @202 - location (2305, 976) - quidu "415192A60339" - anchor_loc 1 - nlines 1 - max_width 1110 - justify 0 - label "NewL(aSocket : RInternalSocket&, aOwner : CBnepLink&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @181 - supplier @190 - Focus_Src @184 - Focus_Entry @191 - origin (1929, 1020) - terminus (2681, 1020) - ordinal 5) - (object InterMessView "" @204 - location (3, 1110) - label (object SegLabel @205 - Parent_View @204 - location (1497, 1066) - quidu "415192CE0246" - anchor_loc 1 - nlines 1 - max_width 751 - justify 0 - label "AttachDevice(aDevice : MPanDevice&)" - pctDist 0.500000 - height 45 - orientation 1) - line_color 3342489 - client @181 - supplier @174 - Focus_Src @185 - Focus_Entry @177 - origin (1928, 1110) - terminus (1066, 1110) - ordinal 6) - (object NoteView @206 - location (318, 915) - label (object ItemLabel - Parent_View @206 - location (58, 812) - fill_color 13434879 - nlines 4 - max_width 484 - label "Should return a CBnepChannelController reference to the caller on success.") - line_color 3342489 - fill_color 13434879 - width 544 - height 219) - (object AttachView "" @207 - stereotype TRUE - line_color 3342489 - client @206 - supplier @193 - line_style 0))) - (object InteractionDiagram "Receiving a BNEP Packet - High Level" - mechanism_ref @133 - quid "4151984D01BC" - title "Receiving a BNEP Packet - High Level" - documentation -|When new input arrives across the socket, the CSocketReader::RunL() executes and passes the input into the link using the ReadComplete() method (1). The link passes the buffer to its dedicated input handling RBnepFrame (InComing) via the ParseBnepFrameL() method (2). For a BNEP Control, this method is able to extract sufficient information to determine the presence of a control, extensions and/or data. -|After this first-pass inspection the remains of the buffer are passed to an internal handler ParseL() which can extract control information in a form that can be executed by later stages of the process (3) [this detail is covered in the Parsing and Processing Controls scenario description]. Having parsed the input, the link is then able to call Proceed() which will take the appropriate actions based on the contents of InComing (4). - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 163 - origin_y 0 - items (list diagram_item_list - (object InterObjView "$UNNAMED$11" @208 - location (450, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @208 - location (450, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 308 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415198A701E3" - width 326 - height 600 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @209 - location (450, 408) - line_color 3342489 - InterObjView @208 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$12" @210 - location (1035, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @210 - location (1035, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415198B00222" - width 300 - height 600 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @211 - location (1035, 408) - line_color 3342489 - InterObjView @210 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @212 - location (1035, 507) - line_color 3342489 - InterObjView @210 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @213 - location (1035, 735) - line_color 3342489 - InterObjView @210 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @214 - location (1035, 735) - line_color 3342489 - InterObjView @210 - height 0 - y_coord 0 - Nested TRUE)) - (object InterObjView "iComing" @215 - location (1638, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @215 - location (1638, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "iComing") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415198C80263" - width 300 - height 600 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @216 - location (1638, 507) - line_color 3342489 - InterObjView @215 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @217 - location (1638, 603) - line_color 3342489 - InterObjView @215 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @218 - location (1638, 603) - line_color 3342489 - InterObjView @215 - height 0 - y_coord 0 - Nested TRUE)) - (object InterMessView "" @219 - location (3, 408) - label (object SegLabel @220 - Parent_View @219 - location (742, 364) - quidu "415199A5032A" - anchor_loc 1 - nlines 1 - max_width 763 - justify 0 - label "ReadComplete(aChain : RMBufChain&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @208 - supplier @210 - Focus_Src @209 - Focus_Entry @211 - origin (450, 408) - terminus (1034, 408) - ordinal 0) - (object InterMessView "" @221 - location (1341, 507) - label (object SegLabel @222 - Parent_View @221 - location (1336, 463) - quidu "415199BF02F5" - anchor_loc 1 - nlines 1 - max_width 2276 - justify 0 - label "ParseBnepFrameL(aInboundChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @210 - supplier @215 - Focus_Src @212 - Focus_Entry @216 - origin (1035, 507) - terminus (1637, 507) - ordinal 1) - (object SelfMessView "" @223 - location (3, 603) - label (object SegLabel @224 - Parent_View @223 - location (1714, 559) - quidu "415199CE00F8" - anchor_loc 1 - nlines 1 - max_width 1519 - justify 0 - label "ParseL(aInboundChain : RMBufChain&, aType : TBnepPacketType, aExt : TBool)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @215 - supplier @215 - Focus_Src @218 - Focus_Entry @217 - origin (1639, 603) - terminus (1789, 603) - ordinal 2) - (object SelfMessView "" @225 - location (3, 735) - label (object SegLabel @226 - Parent_View @225 - location (1111, 691) - quidu "415199DB0269" - anchor_loc 1 - nlines 1 - max_width 244 - justify 0 - label "Proceed( )" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @210 - supplier @210 - Focus_Src @213 - Focus_Entry @214 - origin (1036, 735) - terminus (1186, 735) - ordinal 3))) - (object InteractionDiagram "Receiving a BNEP Packet - Parsing and Processing Controls" - mechanism_ref @134 - quid "4151A3DC001C" - title "Receiving a BNEP Packet - Parsing and Processing Controls" - documentation -|When parsing a BNEP frame for control messages, itis important to remember that there are three possible scenarios allowed by the BNEP specification [1]. -|A - A pure control frame. -|B - A data frame with one or more extension headers. -|C - A control frame with one or more extension headers. -|The ParseBnepFrameL() method performs a first-pass inspection of the input buffer to determine the presence of a control frame and/or extensions (1). This information is then passed to the helper ParseL() so that it can process correctly (2). There are two lower-level helper methods on RBnepFrame, ExtractControlL() and ExtractExtensionL() which are used in the appropriate combinations to pull out all the controls present in the frame. -|For scenario A, ExtractControlL() is used in isolation to create a RBnepControl object and place it on the command queue of the iComing RBnepFrame. -|For scenario B, ExtractExtensionL() is called repeatedly until all the extensions have been converted into RBnepControl objects and placed on the command queue. -|For scenario C, ExtractControlL is called followed by repeated calls to ExtractExtensionL() until the control contents of the frame are exhausted. -|It should be noted that scenario C is explicitly tested in the BNEP Test Cases [3] wherein a maximal control plus extensions combination is processed through a BNEP link. Given the limited set of defined control messages available, a maximal control message would contain a setup request (which must be a control and never an extension) plus two filter setup requests: one for a multicast address filter and one for a network protocol type filter. -|Once ParseL() is complete (and note that all the helpers have the potential to leave if the frame has been incorrectly constructed by the sender at any level), the link calls its own Proceed() method which processes the controls in the input command queue in the order in which they were inserted(7). - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 406 - origin_y 0 - items (list diagram_item_list - (object InterObjView "$UNNAMED$13" @227 - location (1620, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @227 - location (1620, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4151A51F00D5" - width 300 - height 975 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @228 - location (1620, 405) - line_color 3342489 - InterObjView @227 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @229 - location (1620, 546) - line_color 3342489 - InterObjView @227 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @230 - location (1620, 546) - line_color 3342489 - InterObjView @227 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @231 - location (1620, 684) - line_color 3342489 - InterObjView @227 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @232 - location (1620, 684) - line_color 3342489 - InterObjView @227 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @233 - location (1620, 831) - line_color 3342489 - InterObjView @227 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @234 - location (1620, 963) - line_color 3342489 - InterObjView @227 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @235 - location (1620, 963) - line_color 3342489 - InterObjView @227 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @236 - location (1620, 1071) - line_color 3342489 - InterObjView @227 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "iCommandQueue" @237 - location (2064, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @237 - location (2064, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "iCommandQueue") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4151A56D0181" - width 300 - height 975 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @238 - location (2064, 831) - line_color 3342489 - InterObjView @237 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @239 - location (2064, 1071) - line_color 3342489 - InterObjView @237 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$14" @240 - location (765, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @240 - location (765, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4151A5EF028C" - width 300 - height 975 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @241 - location (765, 405) - line_color 3342489 - InterObjView @240 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @242 - location (765, 1110) - line_color 3342489 - InterObjView @240 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @243 - location (765, 1110) - line_color 3342489 - InterObjView @240 - height 0 - y_coord 0 - Nested TRUE)) - (object InterMessView "" @244 - location (3, 405) - label (object SegLabel @245 - Parent_View @244 - location (1502, 363) - quidu "4151A5FA01FD" - anchor_loc 1 - nlines 1 - max_width 2276 - justify 0 - label "ParseBnepFrameL(aInboundChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" - pctDist 0.862998 - height 42 - orientation 0) - line_color 3342489 - client @240 - supplier @227 - Focus_Src @241 - Focus_Entry @228 - origin (765, 405) - terminus (1619, 405) - ordinal 0) - (object SelfMessView "" @246 - location (3, 546) - label (object SegLabel @247 - Parent_View @246 - location (1696, 502) - quidu "4151A61A0343" - anchor_loc 1 - nlines 1 - max_width 1519 - justify 0 - label "ParseL(aInboundChain : RMBufChain&, aType : TBnepPacketType, aExt : TBool)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @227 - supplier @227 - Focus_Src @230 - Focus_Entry @229 - origin (1621, 546) - terminus (1771, 546) - ordinal 1) - (object SelfMessView "" @248 - location (3, 684) - label (object SegLabel @249 - Parent_View @248 - location (1696, 640) - quidu "4151A6580342" - anchor_loc 1 - nlines 1 - max_width 1191 - justify 0 - label "ExtractControlL(aInboundChain : RMBufChain&, aLength : TInt)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @227 - supplier @227 - Focus_Src @232 - Focus_Entry @231 - origin (1621, 684) - terminus (1771, 684) - ordinal 2) - (object SelfMessView "" @250 - location (3, 963) - label (object SegLabel @251 - Parent_View @250 - location (1696, 919) - quidu "4151A66902D8" - anchor_loc 1 - nlines 1 - max_width 973 - justify 0 - label "ExtractExtensionL(aInboundChain : RMBufChain&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @227 - supplier @227 - Focus_Src @235 - Focus_Entry @234 - origin (1621, 963) - terminus (1771, 963) - ordinal 4) - (object InterMessView "" @252 - location (1851, 831) - label (object SegLabel @253 - Parent_View @252 - location (1841, 787) - quidu "4151A67C0358" - anchor_loc 1 - nlines 1 - max_width 498 - justify 0 - label "AddLast(RBnepControl*)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @227 - supplier @237 - Focus_Src @233 - Focus_Entry @238 - origin (1620, 831) - terminus (2063, 831) - ordinal 3) - (object InterMessView "" @254 - location (3, 1071) - label (object SegLabel @255 - Parent_View @254 - location (1841, 1027) - quidu "4151A69200F6" - anchor_loc 1 - nlines 1 - max_width 498 - justify 0 - label "AddLast(RBnepControl*)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @227 - supplier @237 - Focus_Src @236 - Focus_Entry @239 - origin (1620, 1071) - terminus (2063, 1071) - ordinal 5) - (object SelfMessView "" @256 - location (3, 1110) - label (object SegLabel @257 - Parent_View @256 - location (841, 1066) - quidu "4151A6DD024A" - anchor_loc 1 - nlines 1 - max_width 244 - justify 0 - label "Proceed( )" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @240 - supplier @240 - Focus_Src @243 - Focus_Entry @242 - origin (766, 1110) - terminus (916, 1110) - ordinal 6))) - (object InteractionDiagram "Executing BNEP Controls - Setup Connection Request part 1" - mechanism_ref @135 - quid "415AC80D0075" - title "Executing BNEP Controls - Setup Connection Request part 1" - documentation -|Within the CBnepLink::Proceed() execution, the link instructs the InComing RBnepFrame to execute the controls on it's queue (1). The first control (a Setup Connection Request in this scenario) is popped off the queue and passed to the channel controller for execution (2) - note that the channel controller now owns the control object and is ultimately responsible for disposing of it correctly. On recognising the control type, the channel controller delegates the processing to a specific control handler (3). The handler obtains role information from the control (4,5). -|Before notifying the PAN Agent, the controller sets an internal flag indicating a state change(6). While this flag is set, the link will process no further controls from the input queue. Finally, the controller notifies PAN Agent of the role request (7). - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 181 - origin_y 69 - items (list diagram_item_list - (object InterObjView "$UNNAMED$15" @258 - location (450, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @258 - location (450, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415AC86702A5" - width 300 - height 906 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @259 - location (450, 387) - line_color 3342489 - InterObjView @258 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "iComing" @260 - location (759, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @260 - location (759, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "iComing") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415AC92B0008" - width 300 - height 906 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @261 - location (759, 387) - line_color 3342489 - InterObjView @260 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @262 - location (759, 492) - line_color 3342489 - InterObjView @260 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$16" @263 - location (1209, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @263 - location (1209, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 561 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415AC93F0332" - width 579 - height 906 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @264 - location (1209, 492) - line_color 3342489 - InterObjView @263 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @265 - location (1209, 579) - line_color 3342489 - InterObjView @263 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @266 - location (1209, 579) - line_color 3342489 - InterObjView @263 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @267 - location (1209, 696) - line_color 3342489 - InterObjView @263 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @268 - location (1209, 780) - line_color 3342489 - InterObjView @263 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @269 - location (1209, 918) - line_color 3342489 - InterObjView @263 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @270 - location (1209, 918) - line_color 3342489 - InterObjView @263 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @271 - location (1209, 1041) - line_color 3342489 - InterObjView @263 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$17" @272 - location (1938, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @272 - location (1938, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 795 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415AC95301F0" - width 813 - height 906 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @273 - location (1938, 696) - line_color 3342489 - InterObjView @272 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @274 - location (1938, 780) - line_color 3342489 - InterObjView @272 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$18" @275 - location (2517, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @275 - location (2517, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415ACA270245" - width 300 - height 906 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @276 - location (2517, 1041) - line_color 3342489 - InterObjView @275 - height 0 - y_coord 0 - Nested FALSE)) - (object InterMessView "" @277 - location (3, 387) - label (object SegLabel @278 - Parent_View @277 - location (604, 343) - quidu "415AC9630245" - anchor_loc 1 - nlines 1 - max_width 10 - justify 0 - label "ExecuteControl(aController : MLinkManager&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @258 - supplier @260 - Focus_Src @259 - Focus_Entry @261 - origin (450, 387) - terminus (758, 387) - ordinal 0) - (object InterMessView "" @279 - location (3, 492) - label (object SegLabel @280 - Parent_View @279 - location (983, 448) - quidu "415AC97500C4" - anchor_loc 1 - nlines 1 - max_width 10 - justify 0 - label "Execute(aCommand : RBnepControl*)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @260 - supplier @263 - Focus_Src @262 - Focus_Entry @264 - origin (759, 492) - terminus (1208, 492) - ordinal 1) - (object SelfMessView "" @281 - location (3, 579) - label (object SegLabel @282 - Parent_View @281 - location (1285, 535) - quidu "415AC990028F" - anchor_loc 1 - nlines 1 - max_width 1248 - justify 0 - label "Handle(aSetupRequest : RBnepSetupConnectionRequestControl*)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @263 - supplier @263 - Focus_Src @266 - Focus_Entry @265 - origin (1210, 579) - terminus (1360, 579) - ordinal 2) - (object InterMessView "" @283 - location (3, 696) - label (object SegLabel @284 - Parent_View @283 - location (1573, 652) - quidu "415AC99F0241" - anchor_loc 1 - nlines 1 - max_width 544 - justify 0 - label "LocalRole(aRole : TUUID&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @263 - supplier @272 - Focus_Src @267 - Focus_Entry @273 - origin (1209, 696) - terminus (1937, 696) - ordinal 3) - (object InterMessView "" @285 - location (3, 780) - label (object SegLabel @286 - Parent_View @285 - location (1573, 736) - quidu "415AC9E201BA" - anchor_loc 1 - nlines 1 - max_width 588 - justify 0 - label "RemoteRole(aRole : TUUID&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @263 - supplier @272 - Focus_Src @268 - Focus_Entry @274 - origin (1209, 780) - terminus (1937, 780) - ordinal 4) - (object InterMessView "" @287 - location (3, 1041) - label (object SegLabel @288 - Parent_View @287 - location (1862, 997) - quidu "415ACA2F0085" - anchor_loc 1 - nlines 1 - max_width 735 - justify 0 - label "BnepRoleRequestFromRemoteDevice" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @263 - supplier @275 - Focus_Src @271 - Focus_Entry @276 - origin (1209, 1041) - terminus (2516, 1041) - ordinal 6) - (object SelfMessView "" @289 - location (3, 918) - label (object SegLabel @290 - Parent_View @289 - location (1285, 874) - quidu "415ACB040149" - anchor_loc 1 - nlines 1 - max_width 585 - justify 0 - label "SetAwaitingResponse(ETrue)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @263 - supplier @263 - Focus_Src @270 - Focus_Entry @269 - origin (1210, 918) - terminus (1360, 918) - ordinal 5) - (object NoteView @291 - location (453, 765) - label (object ItemLabel - Parent_View @291 - location (112, 637) - fill_color 13434879 - nlines 5 - max_width 646 - label "CBnepLink is currently executing it's Proceed() method which should return at the end of this sequence under normal circumstances.") - line_color 3342489 - fill_color 13434879 - width 706 - height 268) - (object AttachView "" @292 - stereotype TRUE - line_color 3342489 - client @291 - supplier @278 - line_style 0) - (object NoteView @293 - location (1665, 1293) - label (object ItemLabel - Parent_View @293 - location (987, 1159) - fill_color 13434879 - nlines 5 - max_width 1321 - label "This should result in asynchronous processing in PAN Agent so that we return here and CBnepLink::Proceed is then finished for the time being. However, sometimes this is not asynchronous and PAN Agent may call straight back into BNEP synchronously from here. This will mean that we are still in Proceed() as part 2 begins below.") - line_color 3342489 - fill_color 13434879 - width 1381 - height 281) - (object AttachView "" @294 - stereotype TRUE - line_color 3342489 - client @293 - supplier @288 - line_style 0))) - (object InteractionDiagram "Executing BNEP Controls - Filter Setup Requests" - mechanism_ref @136 - quid "415AC82F031D" - title "Executing BNEP Controls - Filter Setup Requests" - documentation -|The example shown is the sequence that responds to a network protocol type filter request. However, a multicast address filter request is essentially the same with different control/response types. -|The link is in the Proceed() method and calls on the InComing RBnepFrame to execute the controls in it's queue (1). The frame pops the first control from the queue and passes it to the channel controller for execution (2). On identifying the control type, the channel controller delegates the processing to a dedicated handler for that type of object(3). The handler extracts the pair of values representing the start and end points of the permitted range, and inserts them into a filter table newly created for the purpose (4,5). This sequence is repeated until the control object's set of filter specifications is depleted. Having reached the end of the filter specification with a valid set of ranges, the table is installed on the link, replacing any previous table that may have existed (6). -|The original control message is freed and deleted at this point, as it is no longer needed (7). A new response is created and set to the appropriate response value (8,9) and then placed on the link's output queue in preparation for transmission back to the requestor (10,11). - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object InterObjView "$UNNAMED$19" @295 - location (450, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @295 - location (450, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BC9CD02FD" - width 300 - height 1239 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @296 - location (450, 405) - line_color 3342489 - InterObjView @295 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @297 - location (450, 984) - line_color 3342489 - InterObjView @295 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @298 - location (450, 1284) - line_color 3342489 - InterObjView @295 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @299 - location (450, 1374) - line_color 3342489 - InterObjView @295 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "iComing" @300 - location (780, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @300 - location (780, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "iComing") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BC9D90192" - width 300 - height 1239 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @301 - location (780, 405) - line_color 3342489 - InterObjView @300 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @302 - location (780, 519) - line_color 3342489 - InterObjView @300 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$20" @303 - location (1227, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @303 - location (1227, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 507 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BC9E40007" - width 525 - height 1239 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @304 - location (1227, 519) - line_color 3342489 - InterObjView @303 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @305 - location (1227, 618) - line_color 3342489 - InterObjView @303 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @306 - location (1227, 618) - line_color 3342489 - InterObjView @303 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @307 - location (1227, 753) - line_color 3342489 - InterObjView @303 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @308 - location (1227, 867) - line_color 3342489 - InterObjView @303 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @309 - location (1227, 984) - line_color 3342489 - InterObjView @303 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @310 - location (1227, 1056) - line_color 3342489 - InterObjView @303 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @311 - location (1227, 1134) - line_color 3342489 - InterObjView @303 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @312 - location (1227, 1212) - line_color 3342489 - InterObjView @303 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @313 - location (1227, 1284) - line_color 3342489 - InterObjView @303 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$21" @314 - location (1893, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @314 - location (1893, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 751 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BCA05038A" - width 769 - height 1239 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @315 - location (1893, 753) - line_color 3342489 - InterObjView @314 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @316 - location (1893, 1056) - line_color 3342489 - InterObjView @314 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "iGoing" @317 - location (2907, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @317 - location (2907, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "iGoing") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BCA24024E" - width 300 - height 1239 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @318 - location (2907, 1374) - line_color 3342489 - InterObjView @317 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$23" @319 - location (3531, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @319 - location (3531, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 838 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BCB93016F" - width 856 - height 1239 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @320 - location (3531, 1134) - line_color 3342489 - InterObjView @319 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @321 - location (3531, 1212) - line_color 3342489 - InterObjView @319 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$22" @322 - location (2520, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @322 - location (2520, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 407 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BCA310120" - width 425 - height 1239 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @323 - location (2520, 867) - line_color 3342489 - InterObjView @322 - height 0 - y_coord 0 - Nested FALSE)) - (object InterMessView "" @324 - location (3, 405) - label (object SegLabel @325 - Parent_View @324 - location (614, 361) - quidu "415BCA4F02E7" - anchor_loc 1 - nlines 1 - max_width 10 - justify 0 - label "ExecuteControl(aController : MLinkManager&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @295 - supplier @300 - Focus_Src @296 - Focus_Entry @301 - origin (450, 405) - terminus (779, 405) - ordinal 0) - (object InterMessView "" @326 - location (1005, 519) - label (object SegLabel @327 - Parent_View @326 - location (1003, 475) - quidu "415BCA6C02C1" - anchor_loc 1 - nlines 1 - max_width 10 - justify 0 - label "Execute (aCommand : RBnepControl*)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @300 - supplier @303 - Focus_Src @302 - Focus_Entry @304 - origin (780, 519) - terminus (1226, 519) - ordinal 1) - (object SelfMessView "" @328 - location (3, 618) - label (object SegLabel @329 - Parent_View @328 - location (1303, 574) - quidu "415BCA81005E" - anchor_loc 1 - nlines 1 - max_width 1438 - justify 0 - label "Handle(aFilterNetTypeSetRequest : RBnepFilterNetTypeSetRequestControl*)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @303 - supplier @303 - Focus_Src @306 - Focus_Entry @305 - origin (1228, 618) - terminus (1378, 618) - ordinal 2) - (object InterMessView "" @330 - location (1560, 753) - label (object SegLabel @331 - Parent_View @330 - location (1559, 709) - quidu "415BCAD50004" - anchor_loc 1 - nlines 1 - max_width 10 - justify 0 - label "NetworkProtocolTypeRange(aStartValue : TUint16&, aEndValue : TUint16&, aIndex : TUint)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @303 - supplier @314 - Focus_Src @307 - Focus_Entry @315 - origin (1227, 753) - terminus (1892, 753) - ordinal 3) - (object InterMessView "" @332 - location (1878, 867) - label (object SegLabel @333 - Parent_View @332 - location (1873, 823) - quidu "415BCAEE03C1" - anchor_loc 1 - nlines 1 - max_width 10 - justify 0 - label "Insert(aStart : const TUint16, aEnd : const TUint16)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @303 - supplier @322 - Focus_Src @308 - Focus_Entry @323 - origin (1227, 867) - terminus (2519, 867) - ordinal 4) - (object InterMessView "" @334 - location (822, 984) - label (object SegLabel @335 - Parent_View @334 - location (839, 940) - quidu "415BCB2701E3" - anchor_loc 1 - nlines 1 - max_width 816 - justify 0 - label "Install(aFilterTable : CNetTypeFilterTable*)" - pctDist 0.500000 - height 45 - orientation 1) - line_color 3342489 - client @303 - supplier @295 - Focus_Src @309 - Focus_Entry @297 - origin (1226, 984) - terminus (451, 984) - ordinal 5) - (object InterMessView "" @336 - location (3, 1056) - label (object SegLabel @337 - Parent_View @336 - location (1559, 1012) - quidu "415BCB5803CD" - anchor_loc 1 - nlines 1 - max_width 163 - justify 0 - label "Free()" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @303 - supplier @314 - Focus_Src @310 - Focus_Entry @316 - origin (1227, 1056) - terminus (1892, 1056) - ordinal 6) - (object InterMessView "" @338 - location (3, 1134) - label (object SegLabel @339 - Parent_View @338 - location (2378, 1090) - quidu "415BCBB4027C" - anchor_loc 1 - nlines 1 - max_width 169 - justify 0 - label "InitL( )" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @303 - supplier @319 - Focus_Src @311 - Focus_Entry @320 - origin (1227, 1134) - terminus (3530, 1134) - ordinal 7) - (object InterMessView "" @340 - location (3, 1212) - label (object SegLabel @341 - Parent_View @340 - location (2378, 1168) - quidu "415BCBC203B2" - anchor_loc 1 - nlines 1 - max_width 1669 - justify 0 - label "SetConnectionSetupResponseL(aResponse : TBnepSetupConnectionResponseMessage)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @303 - supplier @319 - Focus_Src @312 - Focus_Entry @321 - origin (1227, 1212) - terminus (3530, 1212) - ordinal 8) - (object InterMessView "" @342 - location (3, 1284) - label (object SegLabel @343 - Parent_View @342 - location (839, 1240) - quidu "415BCBF50120" - anchor_loc 1 - nlines 1 - max_width 10 - justify 0 - label "QueueOnOutput(aCommand : RBnepControl*)" - pctDist 0.500000 - height 45 - orientation 1) - line_color 3342489 - client @303 - supplier @295 - Focus_Src @313 - Focus_Entry @298 - origin (1226, 1284) - terminus (451, 1284) - ordinal 9) - (object InterMessView "" @344 - location (3, 1374) - label (object SegLabel @345 - Parent_View @344 - location (1678, 1330) - quidu "415BCC030258" - anchor_loc 1 - nlines 1 - max_width 10 - justify 0 - label "InsertControl(aCommand : RBnepControl*)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @295 - supplier @317 - Focus_Src @299 - Focus_Entry @318 - origin (450, 1374) - terminus (2906, 1374) - ordinal 10))) - (object InteractionDiagram "Executing BNEP Controls - Setup Connection Request part 2" - mechanism_ref @137 - quid "415ACA8F017D" - title "Executing BNEP Controls - Setup Connection Request part 2" - documentation "Having determined it's response to a request for connection, PAN Agent calls back into the channel controller (1). The channel controller creates a Setup Connection Response Control object and sets the response value according to what PAN Agent has passed it (2,3). The response control object is passed out of channel controller and onto the command queue of the OutGoing RBnepFrame held by the link (4,5). The channel controller changes state such that it can continue processing input controls (6) and re-enables data transfer in case it was suspended during role negotiations (7). At this point, the channel controller then calls back into the link and retriggers the Proceed() method (8), which is why this method must support synchronous recursive calls." - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object InterObjView "$UNNAMED$24" @346 - location (450, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @346 - location (450, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415ACBAD0305" - width 300 - height 924 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @347 - location (450, 396) - line_color 3342489 - InterObjView @346 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$25" @348 - location (903, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @348 - location (903, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 520 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415ACBB4026E" - width 538 - height 924 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @349 - location (903, 396) - line_color 3342489 - InterObjView @348 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @350 - location (903, 474) - line_color 3342489 - InterObjView @348 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @351 - location (903, 570) - line_color 3342489 - InterObjView @348 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @352 - location (903, 663) - line_color 3342489 - InterObjView @348 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @353 - location (903, 840) - line_color 3342489 - InterObjView @348 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @354 - location (903, 840) - line_color 3342489 - InterObjView @348 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @355 - location (903, 942) - line_color 3342489 - InterObjView @348 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @356 - location (903, 1059) - line_color 3342489 - InterObjView @348 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$26" @357 - location (1596, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @357 - location (1596, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 807 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415ACC0B02EC" - width 825 - height 924 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @358 - location (1596, 474) - line_color 3342489 - InterObjView @357 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @359 - location (1596, 570) - line_color 3342489 - InterObjView @357 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$27" @360 - location (2163, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @360 - location (2163, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415ACC6D00BC" - width 300 - height 924 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @361 - location (2163, 663) - line_color 3342489 - InterObjView @360 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @362 - location (2163, 744) - line_color 3342489 - InterObjView @360 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @363 - location (2163, 942) - line_color 3342489 - InterObjView @360 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @364 - location (2163, 1059) - line_color 3342489 - InterObjView @360 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "iGoing" @365 - location (2493, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @365 - location (2493, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "iGoing") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415ACC7400A8" - width 300 - height 924 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @366 - location (2493, 744) - line_color 3342489 - InterObjView @365 - height 0 - y_coord 0 - Nested FALSE)) - (object InterMessView "" @367 - location (3, 396) - label (object SegLabel @368 - Parent_View @367 - location (1112, 347) - quidu "415ACBDB02A8" - anchor_loc 1 - nlines 1 - max_width 1935 - justify 0 - label "BnepRoleResponseFromLocalDevice(aRoleResponseCode : TBnepSetupConnectionResponseMessage)" - pctDist 1.464602 - height 49 - orientation 0) - line_color 3342489 - client @346 - supplier @348 - Focus_Src @347 - Focus_Entry @349 - origin (450, 396) - terminus (902, 396) - ordinal 0) - (object InterMessView "" @369 - location (1248, 474) - label (object SegLabel @370 - Parent_View @369 - location (1249, 430) - quidu "415ACC18001A" - anchor_loc 1 - nlines 1 - max_width 169 - justify 0 - label "InitL( )" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @348 - supplier @357 - Focus_Src @350 - Focus_Entry @358 - origin (903, 474) - terminus (1595, 474) - ordinal 1) - (object InterMessView "" @371 - location (3, 570) - label (object SegLabel @372 - Parent_View @371 - location (1249, 526) - quidu "415ACC4402C6" - anchor_loc 1 - nlines 1 - max_width 1669 - justify 0 - label "SetConnectionSetupResponseL(aResponse : TBnepSetupConnectionResponseMessage)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @348 - supplier @357 - Focus_Src @351 - Focus_Entry @359 - origin (903, 570) - terminus (1595, 570) - ordinal 2) - (object InterMessView "" @373 - location (3, 663) - label (object SegLabel @374 - Parent_View @373 - location (1532, 619) - quidu "415ACC8300D2" - anchor_loc 1 - nlines 1 - max_width 10 - justify 0 - label "QueueOnOutput(aCommand : RBnepControl*)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @348 - supplier @360 - Focus_Src @352 - Focus_Entry @361 - origin (903, 663) - terminus (2162, 663) - ordinal 3) - (object InterMessView "" @375 - location (3, 744) - label (object SegLabel @376 - Parent_View @375 - location (2327, 700) - quidu "415ACC92014C" - anchor_loc 1 - nlines 1 - max_width 10 - justify 0 - label "InsertControl(aCommand : RBnepControl*)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @360 - supplier @365 - Focus_Src @362 - Focus_Entry @366 - origin (2163, 744) - terminus (2492, 744) - ordinal 4) - (object SelfMessView "" @377 - location (3, 840) - label (object SegLabel @378 - Parent_View @377 - location (979, 796) - quidu "415ACCEF018C" - anchor_loc 1 - nlines 1 - max_width 607 - justify 0 - label "SetAwaitingResponse(EFalse)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @348 - supplier @348 - Focus_Src @354 - Focus_Entry @353 - origin (904, 840) - terminus (1054, 840) - ordinal 5) - (object InterMessView "" @379 - location (3, 942) - label (object SegLabel @380 - Parent_View @379 - location (1532, 898) - quidu "415ACD190181" - anchor_loc 1 - nlines 1 - max_width 473 - justify 0 - label "ResumeDataTransfer( )" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @348 - supplier @360 - Focus_Src @355 - Focus_Entry @363 - origin (903, 942) - terminus (2162, 942) - ordinal 6) - (object InterMessView "" @381 - location (3, 1059) - label (object SegLabel @382 - Parent_View @381 - location (1532, 1015) - quidu "415ACD2C021F" - anchor_loc 1 - nlines 1 - max_width 244 - justify 0 - label "Proceed( )" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @348 - supplier @360 - Focus_Src @356 - Focus_Entry @364 - origin (903, 1059) - terminus (2162, 1059) - ordinal 7) - (object NoteView @383 - location (1479, 1380) - label (object ItemLabel - Parent_View @383 - location (1029, 1224) - fill_color 13434879 - nlines 6 - max_width 865 - label "So, if we were still in Proceed() at the end of part 1, here we are again re-entering it. Maintainers beware! Make no changes to Proceed() that are likely to disrupt it's ability to recursively re-enter itself or BNEP will hang.") - line_color 3342489 - fill_color 13434879 - width 925 - height 325) - (object AttachView "" @384 - stereotype TRUE - line_color 3342489 - client @383 - supplier @382 - line_style 0))) - (object InteractionDiagram "Executing BNEP Controls - Responding to Unrecognised Controls" - mechanism_ref @138 - quid "415BDA7F0239" - title "Executing BNEP Controls - Responding to Unrecognised Controls" - documentation "The link is executing the Proceed() method and calls on the InComing RBnepFrame to execute the controls in it's queue (1). The frame pops the first control from the queue and passes it to the channel controller for execution (2). On failing to identify the control type, the channel controller delegates the processing to a dedicated handler for unknown types (3). A Not Understood Response Control is instantiated and queued on the link output for subsequent transmission (4,5,6,7)." - zoom 100 - max_height 28350 - max_width 21600 - origin_x 519 - origin_y 0 - items (list diagram_item_list - (object InterObjView "$UNNAMED$28" @385 - location (450, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @385 - location (450, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BDACC0095" - width 300 - height 873 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @386 - location (450, 405) - line_color 3342489 - InterObjView @385 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @387 - location (450, 897) - line_color 3342489 - InterObjView @385 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @388 - location (450, 1008) - line_color 3342489 - InterObjView @385 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "iComing" @389 - location (780, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @389 - location (780, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "iComing") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BDACC009A" - width 300 - height 873 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @390 - location (780, 405) - line_color 3342489 - InterObjView @389 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @391 - location (780, 519) - line_color 3342489 - InterObjView @389 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$29" @392 - location (1227, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @392 - location (1227, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 507 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BDACC009D" - width 525 - height 873 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @393 - location (1227, 519) - line_color 3342489 - InterObjView @392 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @394 - location (1227, 618) - line_color 3342489 - InterObjView @392 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @395 - location (1227, 618) - line_color 3342489 - InterObjView @392 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @396 - location (1227, 723) - line_color 3342489 - InterObjView @392 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @397 - location (1227, 819) - line_color 3342489 - InterObjView @392 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @398 - location (1227, 897) - line_color 3342489 - InterObjView @392 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "iGoing" @399 - location (1659, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @399 - location (1659, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "iGoing") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BDACC00AF" - width 300 - height 873 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @400 - location (1659, 1008) - line_color 3342489 - InterObjView @399 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$30" @401 - location (2244, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @401 - location (2244, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 838 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BDACC00AE" - width 856 - height 873 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @402 - location (2244, 723) - line_color 3342489 - InterObjView @401 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @403 - location (2244, 819) - line_color 3342489 - InterObjView @401 - height 0 - y_coord 0 - Nested FALSE)) - (object InterMessView "" @404 - location (3, 405) - label (object SegLabel @405 - Parent_View @404 - location (614, 361) - quidu "415BDACC0097" - anchor_loc 1 - nlines 1 - max_width 10 - justify 0 - label "ExecuteControl(aController : MLinkManager&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @385 - supplier @389 - Focus_Src @386 - Focus_Entry @390 - origin (450, 405) - terminus (779, 405) - ordinal 0) - (object InterMessView "" @406 - location (1005, 519) - label (object SegLabel @407 - Parent_View @406 - location (1003, 475) - quidu "415BDACC009C" - anchor_loc 1 - nlines 1 - max_width 10 - justify 0 - label "Execute (aCommand : RBnepControl*)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @389 - supplier @392 - Focus_Src @391 - Focus_Entry @393 - origin (780, 519) - terminus (1226, 519) - ordinal 1) - (object SelfMessView "" @408 - location (3, 618) - label (object SegLabel @409 - Parent_View @408 - location (1303, 574) - quidu "415BDACC009F" - anchor_loc 1 - nlines 1 - max_width 1138 - justify 0 - label "HandleUnknownCommandPacket(aControl : RBnepControl*)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @392 - supplier @392 - Focus_Src @394 - Focus_Entry @395 - origin (1228, 618) - terminus (1378, 618) - ordinal 2) - (object InterMessView "" @410 - location (837, 897) - label (object SegLabel @411 - Parent_View @410 - location (839, 853) - quidu "415BDACC00A7" - anchor_loc 1 - nlines 1 - max_width 10 - justify 0 - label "QueueOnOutput(aCommand : RBnepControl*)" - pctDist 0.500000 - height 45 - orientation 1) - line_color 3342489 - client @392 - supplier @385 - Focus_Src @398 - Focus_Entry @387 - origin (1226, 897) - terminus (451, 897) - ordinal 5) - (object InterMessView "" @412 - location (1068, 1008) - label (object SegLabel @413 - Parent_View @412 - location (1054, 964) - quidu "415BDACC0099" - anchor_loc 1 - nlines 1 - max_width 10 - justify 0 - label "InsertControl(aCommand : RBnepControl*)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @385 - supplier @399 - Focus_Src @388 - Focus_Entry @400 - origin (450, 1008) - terminus (1658, 1008) - ordinal 6) - (object InterMessView "" @414 - location (1761, 723) - label (object SegLabel @415 - Parent_View @414 - location (1735, 679) - quidu "415BDACC00A9" - anchor_loc 1 - nlines 1 - max_width 169 - justify 0 - label "InitL( )" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @392 - supplier @401 - Focus_Src @396 - Focus_Entry @402 - origin (1227, 723) - terminus (2243, 723) - ordinal 3) - (object InterMessView "" @416 - location (1761, 819) - label (object SegLabel @417 - Parent_View @416 - location (1735, 775) - quidu "415BDACC00AA" - anchor_loc 1 - nlines 1 - max_width 10 - justify 0 - label "SetUnknownControlType(aUnknownControlType : TUint8)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @392 - supplier @401 - Focus_Src @397 - Focus_Entry @403 - origin (1227, 819) - terminus (2243, 819) - ordinal 4))) - (object InteractionDiagram "Responding to a BNEP Control" - mechanism_ref @139 - quid "415BE0120263" - title "Responding to a BNEP Control" - documentation "From within the Proceed() method, the link calls the SendFrame() method, passing the OutGoing frame as the parameter (1). From within the SendFrame method, the OutGoing frame is instructed to build a BNEP output frame into a RMBufChain (2) which, in this case, triggers a call to the helper function responsible for building a BNEP Control frame (3). Once the RMBufChain is completely populated, it is written out to the Socket Writer (4) for delivery to the remote device." - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object InterObjView "$UNNAMED$31" @418 - location (450, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @418 - location (450, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BE0AD0162" - width 300 - height 606 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @419 - location (450, 378) - line_color 3342489 - InterObjView @418 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @420 - location (450, 378) - line_color 3342489 - InterObjView @418 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @421 - location (450, 507) - line_color 3342489 - InterObjView @418 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @422 - location (450, 741) - line_color 3342489 - InterObjView @418 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "iGoing" @423 - location (963, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @423 - location (963, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "iGoing") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BE0BD033B" - width 300 - height 606 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @424 - location (963, 507) - line_color 3342489 - InterObjView @423 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @425 - location (963, 627) - line_color 3342489 - InterObjView @423 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @426 - location (963, 627) - line_color 3342489 - InterObjView @423 - height 0 - y_coord 0 - Nested TRUE)) - (object InterObjView "$UNNAMED$32" @427 - location (1425, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @427 - location (1425, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 401 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BE17601A7" - width 419 - height 606 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @428 - location (1425, 741) - line_color 3342489 - InterObjView @427 - height 0 - y_coord 0 - Nested FALSE)) - (object SelfMessView "" @429 - location (0, 378) - label (object SegLabel @430 - Parent_View @429 - location (526, 334) - quidu "415BE10700E0" - anchor_loc 1 - nlines 1 - max_width 732 - justify 0 - label "SendFrame(aFrame : RBnepFrame&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @418 - supplier @418 - Focus_Src @419 - Focus_Entry @420 - origin (451, 378) - terminus (601, 378) - ordinal 0) - (object InterMessView "" @431 - location (621, 507) - label (object SegLabel @432 - Parent_View @431 - location (1173, 456) - quidu "415BE1550313" - anchor_loc 1 - nlines 1 - max_width 2119 - justify 0 - label "BuildBnepFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" - pctDist 1.412109 - height 51 - orientation 0) - line_color 3342489 - client @418 - supplier @423 - Focus_Src @421 - Focus_Entry @424 - origin (450, 507) - terminus (962, 507) - ordinal 1) - (object SelfMessView "" @433 - location (3, 627) - label (object SegLabel @434 - Parent_View @433 - location (1039, 583) - quidu "415BE19002D1" - anchor_loc 1 - nlines 1 - max_width 948 - justify 0 - label "BuildBnepControlFrameL(aChain : RMBufChain&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @423 - supplier @423 - Focus_Src @426 - Focus_Entry @425 - origin (964, 627) - terminus (1114, 627) - ordinal 2) - (object InterMessView "" @435 - location (3, 741) - label (object SegLabel @436 - Parent_View @435 - location (937, 697) - quidu "415BE19B02EB" - anchor_loc 1 - nlines 1 - max_width 594 - justify 0 - label "Write(aChain : RMBufChain&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @418 - supplier @427 - Focus_Src @422 - Focus_Entry @428 - origin (450, 741) - terminus (1424, 741) - ordinal 3))) - (object InteractionDiagram "Deliver BNEP Data Packet Locally" - mechanism_ref @140 - quid "415BF95100F4" - title "Deliver BNEP Data Packet Locally" - documentation -|This scenario describes the sequence involved in reading a data packet on a BNEP link and passing it up to the Ethernet stack. -|The socket reader RunL() is invoked as the asynchronous read request completes and the links ReadComplete() method is called to process the packet (1). The link resets the InComing frame to ensure a known start state (2) and parses the frame (3). During the parsing process, the contents of the frame are set to indicate that it contains data (4). -|Having parsed the packet into the InComing frame, the link invokes it's own Proceed() method to deal with the frame contents (5). As the frame is a data frame, it is forwarded to the bridge for processing (6). At this point the bridge will identify the destination as the local device and deliver it for processing (7). The local device will then build the RMBufPacket for output by using the frame's factory helpers (8). Once the RMBufPacket is fully constructed, it is delivered to Ethint.NIF (9) . - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 563 - origin_y 0 - items (list diagram_item_list - (object InterObjView "$UNNAMED$33" @437 - location (450, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @437 - location (450, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 376 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BF99B0367" - width 394 - height 981 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @438 - location (450, 375) - line_color 3342489 - InterObjView @437 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$34" @439 - location (816, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @439 - location (816, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BF9A2024F" - width 300 - height 981 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @440 - location (816, 375) - line_color 3342489 - InterObjView @439 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @441 - location (816, 438) - line_color 3342489 - InterObjView @439 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @442 - location (816, 531) - line_color 3342489 - InterObjView @439 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @443 - location (816, 729) - line_color 3342489 - InterObjView @439 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @444 - location (816, 729) - line_color 3342489 - InterObjView @439 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @445 - location (816, 840) - line_color 3342489 - InterObjView @439 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "iComing" @446 - location (1146, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @446 - location (1146, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "iComing") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BF9D601BD" - width 300 - height 981 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @447 - location (1146, 438) - line_color 3342489 - InterObjView @446 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @448 - location (1146, 531) - line_color 3342489 - InterObjView @446 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @449 - location (1146, 621) - line_color 3342489 - InterObjView @446 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @450 - location (1146, 621) - line_color 3342489 - InterObjView @446 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @451 - location (1146, 1017) - line_color 3342489 - InterObjView @446 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$35" @452 - location (1476, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @452 - location (1476, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BFA8C0396" - width 300 - height 981 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @453 - location (1476, 840) - line_color 3342489 - InterObjView @452 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @454 - location (1476, 927) - line_color 3342489 - InterObjView @452 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$36" @455 - location (1899, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @455 - location (1899, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 482 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BFAB90047" - width 500 - height 981 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @456 - location (1899, 927) - line_color 3342489 - InterObjView @455 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @457 - location (1899, 1017) - line_color 3342489 - InterObjView @455 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @458 - location (1899, 1116) - line_color 3342489 - InterObjView @455 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$37" @459 - location (2331, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @459 - location (2331, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BFB1702C3" - width 300 - height 981 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @460 - location (2331, 1116) - line_color 3342489 - InterObjView @459 - height 0 - y_coord 0 - Nested FALSE)) - (object InterMessView "" @461 - location (630, 375) - label (object SegLabel @462 - Parent_View @461 - location (632, 331) - quidu "415BF9F803BC" - anchor_loc 1 - nlines 1 - max_width 763 - justify 0 - label "ReadComplete(aChain : RMBufChain&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @437 - supplier @439 - Focus_Src @438 - Focus_Entry @440 - origin (450, 375) - terminus (815, 375) - ordinal 0) - (object InterMessView "" @463 - location (3, 438) - label (object SegLabel @464 - Parent_View @463 - location (980, 394) - quidu "415BFA020063" - anchor_loc 1 - nlines 1 - max_width 201 - justify 0 - label "Reset( )" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @439 - supplier @446 - Focus_Src @441 - Focus_Entry @447 - origin (816, 438) - terminus (1145, 438) - ordinal 1) - (object InterMessView "" @465 - location (3, 531) - label (object SegLabel @466 - Parent_View @465 - location (1455, 491) - quidu "415BFA09038D" - anchor_loc 1 - nlines 1 - max_width 2276 - justify 0 - label "ParseBnepFrameL(aInboundChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" - pctDist 1.942249 - height 40 - orientation 0) - line_color 3342489 - client @439 - supplier @446 - Focus_Src @442 - Focus_Entry @448 - origin (816, 531) - terminus (1145, 531) - ordinal 2) - (object SelfMessView "" @467 - location (3, 621) - label (object SegLabel @468 - Parent_View @467 - location (1222, 577) - quidu "415BFA3203BF" - anchor_loc 1 - nlines 1 - max_width 819 - justify 0 - label "SetContents(aContent : TPacketContents)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @446 - supplier @446 - Focus_Src @450 - Focus_Entry @449 - origin (1147, 621) - terminus (1297, 621) - ordinal 3) - (object SelfMessView "" @469 - location (3, 729) - label (object SegLabel @470 - Parent_View @469 - location (892, 685) - quidu "415BFA6D01D0" - anchor_loc 1 - nlines 1 - max_width 244 - justify 0 - label "Proceed( )" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @439 - supplier @439 - Focus_Src @444 - Focus_Entry @443 - origin (817, 729) - terminus (967, 729) - ordinal 4) - (object InterMessView "" @471 - location (1152, 840) - label (object SegLabel @472 - Parent_View @471 - location (1145, 796) - quidu "415BFA93009E" - anchor_loc 1 - nlines 1 - max_width 1363 - justify 0 - label "Process(aPacket : RBnepFrame&, aSourceIfAddr : const TBTDevAddr&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @439 - supplier @452 - Focus_Src @445 - Focus_Entry @453 - origin (816, 840) - terminus (1475, 840) - ordinal 5) - (object InterMessView "" @473 - location (1689, 927) - label (object SegLabel @474 - Parent_View @473 - location (1687, 883) - quidu "415BFAD202E3" - anchor_loc 1 - nlines 1 - max_width 673 - justify 0 - label "Process(aFrame : RBnepFrame&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @452 - supplier @455 - Focus_Src @454 - Focus_Entry @456 - origin (1476, 927) - terminus (1898, 927) - ordinal 6) - (object InterMessView "" @475 - location (3, 1017) - label (object SegLabel @476 - Parent_View @475 - location (1523, 973) - quidu "415BFB020101" - anchor_loc 1 - nlines 1 - max_width 904 - justify 0 - label "BuildEthernetFrameL(aChain : RMBufPacket&)" - pctDist 0.500000 - height 45 - orientation 1) - line_color 3342489 - client @455 - supplier @446 - Focus_Src @457 - Focus_Entry @451 - origin (1898, 1017) - terminus (1147, 1017) - ordinal 7) - (object InterMessView "" @477 - location (2118, 1116) - label (object SegLabel @478 - Parent_View @477 - location (2114, 1072) - quidu "415BFB200032" - anchor_loc 1 - nlines 1 - max_width 510 - justify 0 - label "Process(RMBufPacket&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @455 - supplier @459 - Focus_Src @458 - Focus_Entry @460 - origin (1899, 1116) - terminus (2330, 1116) - ordinal 8))) - (object InteractionDiagram "Deliver BNEP Data Packet to Remote Device" - mechanism_ref @141 - quid "415BFB7100F6" - title "Deliver BNEP Data Packet to Remote Device" - documentation -|This scenario describes the sequence for reading a data packet on one BNEP link and routing it through to either a specified Unicast device or all the available links as a Multicast. The fundamentals of the sequences for both eventualities are the same with one distinction which is documented below. -|The socket reader RunL() is invoked as the asynchronous read request completes and the link's ReadComplete() method is called to process the packet (1). The link resets the InComing frame to ensure a known start state (2) and parses the packet into the frame (3). During the parsing process, the contents of the frame are set to indicate that it contains data (4). -|Having parsed the packet into the InComing frame, the link invokes it's own Proceed() method to deal with the frame contents (5). As the frame is a data frame, it is sent to the bridge for processing (6). At this point the bridge will either select the destination link for the packet (in the case of a Unicast packet) or iterate across all of its extant links (for a Multicast packet) for processing (7). Each valid destination link will receive the frame and will attempt to send it (8,9). -|During a send request, any filters present will be applied appropriately (10). The link will then use the frame helper BuildBnepFrameL to populate a RMBufChain (11,12). Once the RMBufChain is fully constructed, it is written out via the Socket Writer (13). - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 825 - origin_y 175 - items (list diagram_item_list - (object InterObjView "$UNNAMED$38" @479 - location (450, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @479 - location (450, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 357 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BFB9602F8" - width 375 - height 1509 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @480 - location (450, 375) - line_color 3342489 - InterObjView @479 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "source" @481 - location (816, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @481 - location (816, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "source") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BFB9602FB" - width 300 - height 1509 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @482 - location (816, 375) - line_color 3342489 - InterObjView @481 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @483 - location (816, 438) - line_color 3342489 - InterObjView @481 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @484 - location (816, 531) - line_color 3342489 - InterObjView @481 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @485 - location (816, 729) - line_color 3342489 - InterObjView @481 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @486 - location (816, 729) - line_color 3342489 - InterObjView @481 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @487 - location (816, 840) - line_color 3342489 - InterObjView @481 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "iComing" @488 - location (1146, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @488 - location (1146, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "iComing") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BFB960303" - width 300 - height 1509 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @489 - location (1146, 438) - line_color 3342489 - InterObjView @488 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @490 - location (1146, 531) - line_color 3342489 - InterObjView @488 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @491 - location (1146, 621) - line_color 3342489 - InterObjView @488 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @492 - location (1146, 621) - line_color 3342489 - InterObjView @488 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @493 - location (1146, 1419) - line_color 3342489 - InterObjView @488 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @494 - location (1146, 1557) - line_color 3342489 - InterObjView @488 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @495 - location (1146, 1557) - line_color 3342489 - InterObjView @488 - height 0 - y_coord 0 - Nested TRUE)) - (object InterObjView "$UNNAMED$39" @496 - location (1476, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @496 - location (1476, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BFB96030D" - width 300 - height 1509 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @497 - location (1476, 840) - line_color 3342489 - InterObjView @496 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @498 - location (1476, 969) - line_color 3342489 - InterObjView @496 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @499 - location (1476, 969) - line_color 3342489 - InterObjView @496 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @500 - location (1476, 1101) - line_color 3342489 - InterObjView @496 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "dest" @501 - location (1830, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @501 - location (1830, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "dest") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BFB960308" - width 300 - height 1509 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @502 - location (1830, 1101) - line_color 3342489 - InterObjView @501 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @503 - location (1830, 1191) - line_color 3342489 - InterObjView @501 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @504 - location (1830, 1191) - line_color 3342489 - InterObjView @501 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @505 - location (1830, 1308) - line_color 3342489 - InterObjView @501 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @506 - location (1830, 1308) - line_color 3342489 - InterObjView @501 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @507 - location (1830, 1419) - line_color 3342489 - InterObjView @501 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @508 - location (1830, 1644) - line_color 3342489 - InterObjView @501 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$40" @509 - location (2196, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @509 - location (2196, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 350 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415BFF8E0050" - width 368 - height 1509 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @510 - location (2196, 1644) - line_color 3342489 - InterObjView @509 - height 0 - y_coord 0 - Nested FALSE)) - (object InterMessView "" @511 - location (630, 375) - label (object SegLabel @512 - Parent_View @511 - location (632, 331) - quidu "415BFB9602FA" - anchor_loc 1 - nlines 1 - max_width 763 - justify 0 - label "ReadComplete(aChain : RMBufChain&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @479 - supplier @481 - Focus_Src @480 - Focus_Entry @482 - origin (450, 375) - terminus (815, 375) - ordinal 0) - (object SelfMessView "" @513 - location (3, 729) - label (object SegLabel @514 - Parent_View @513 - location (892, 685) - quidu "415BFB960300" - anchor_loc 1 - nlines 1 - max_width 244 - justify 0 - label "Proceed( )" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @481 - supplier @481 - Focus_Src @485 - Focus_Entry @486 - origin (817, 729) - terminus (967, 729) - ordinal 4) - (object InterMessView "" @515 - location (3, 438) - label (object SegLabel @516 - Parent_View @515 - location (980, 394) - quidu "415BFB9602FD" - anchor_loc 1 - nlines 1 - max_width 201 - justify 0 - label "Reset( )" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @481 - supplier @488 - Focus_Src @483 - Focus_Entry @489 - origin (816, 438) - terminus (1145, 438) - ordinal 1) - (object InterMessView "" @517 - location (3, 531) - label (object SegLabel @518 - Parent_View @517 - location (1455, 492) - quidu "415BFB9602FE" - anchor_loc 1 - nlines 1 - max_width 2276 - justify 0 - label "ParseBnepFrameL(aInboundChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" - pctDist 1.942249 - height 40 - orientation 0) - line_color 3342489 - client @481 - supplier @488 - Focus_Src @484 - Focus_Entry @490 - origin (816, 531) - terminus (1145, 531) - ordinal 2) - (object SelfMessView "" @519 - location (3, 621) - label (object SegLabel @520 - Parent_View @519 - location (1222, 577) - quidu "415BFB960305" - anchor_loc 1 - nlines 1 - max_width 819 - justify 0 - label "SetContents(aContent : TPacketContents)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @488 - supplier @488 - Focus_Src @492 - Focus_Entry @491 - origin (1147, 621) - terminus (1297, 621) - ordinal 3) - (object InterMessView "" @521 - location (1152, 840) - label (object SegLabel @522 - Parent_View @521 - location (1145, 796) - quidu "415BFB960302" - anchor_loc 1 - nlines 1 - max_width 1363 - justify 0 - label "Process(aPacket : RBnepFrame&, aSourceIfAddr : const TBTDevAddr&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @481 - supplier @496 - Focus_Src @487 - Focus_Entry @497 - origin (816, 840) - terminus (1475, 840) - ordinal 5) - (object InterMessView "" @523 - location (1689, 1101) - label (object SegLabel @524 - Parent_View @523 - location (1652, 1057) - quidu "415BFB96030B" - anchor_loc 1 - nlines 1 - max_width 673 - justify 0 - label "Process(aFrame : RBnepFrame&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @496 - supplier @501 - Focus_Src @500 - Focus_Entry @502 - origin (1476, 1101) - terminus (1829, 1101) - ordinal 7) - (object SelfMessView "" @525 - location (3, 1191) - label (object SegLabel @526 - Parent_View @525 - location (1906, 1147) - quidu "415BFECD0072" - anchor_loc 1 - nlines 1 - max_width 744 - justify 0 - label "SendFrame(aFrame : RBnepFrame&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @501 - supplier @501 - Focus_Src @504 - Focus_Entry @503 - origin (1831, 1191) - terminus (1981, 1191) - ordinal 8) - (object SelfMessView "" @527 - location (3, 969) - label (object SegLabel @528 - Parent_View @527 - location (1552, 925) - quidu "415BFEE80070" - anchor_loc 1 - nlines 1 - max_width 1119 - justify 0 - label "Identify Unicast Destination Link or Iterate Across All Links" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @496 - supplier @496 - Focus_Src @499 - Focus_Entry @498 - origin (1477, 969) - terminus (1627, 969) - ordinal 6) - (object InterMessView "" @529 - location (1527, 1419) - label (object SegLabel @530 - Parent_View @529 - location (1488, 1375) - quidu "415BFF3F0115" - anchor_loc 1 - nlines 1 - max_width 2141 - justify 0 - label "BuildBnepFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" - pctDist 0.500000 - height 45 - orientation 1) - line_color 3342489 - client @501 - supplier @488 - Focus_Src @507 - Focus_Entry @493 - origin (1829, 1419) - terminus (1147, 1419) - ordinal 10) - (object SelfMessView "" @531 - location (3, 1557) - label (object SegLabel @532 - Parent_View @531 - location (1621, 1501) - quidu "415BFF560367" - anchor_loc 1 - nlines 1 - max_width 2226 - justify 0 - label "BuildBnepDataFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" - pctDist 3.160000 - height 57 - orientation 0) - line_color 3342489 - client @488 - supplier @488 - Focus_Src @495 - Focus_Entry @494 - origin (1147, 1557) - terminus (1297, 1557) - ordinal 11) - (object InterMessView "" @533 - location (2079, 1644) - label (object SegLabel @534 - Parent_View @533 - location (2012, 1600) - quidu "415BFF960020" - anchor_loc 1 - nlines 1 - max_width 616 - justify 0 - label "Write(aChain : RMBufChain&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @501 - supplier @509 - Focus_Src @508 - Focus_Entry @510 - origin (1830, 1644) - terminus (2195, 1644) - ordinal 12) - (object SelfMessView "" @535 - location (3, 1308) - label (object SegLabel @536 - Parent_View @535 - location (1906, 1264) - quidu "415BFFBE03DE" - anchor_loc 1 - nlines 1 - max_width 297 - justify 0 - label "Apply Filters" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @501 - supplier @501 - Focus_Src @506 - Focus_Entry @505 - origin (1831, 1308) - terminus (1981, 1308) - ordinal 9))) - (object InteractionDiagram "Deliver Ethernet Packet into PAN Network" - mechanism_ref @142 - quid "415C0B7B0209" - title "Deliver Ethernet Packet into PAN Network" - documentation -|This scenario describes the sequence delivering an Ethernet packet into the local device and routing it through to either a specified Unicast device or all the available links as a Multicast. The fundamentals of the sequences for both eventualities are the same with one distinction which is documented below. -|Ethint.NIF sends the packet to the local device (1). The local device parse the packet into a RBnepFrame (2). During the parsing process, the contents of the frame are set to indicate that it contains data (3). -|The frame is forwarded to the bridge for processing (4). At this point the bridge will either select the destination link for the packet (in the case of a Unicast packet) or iterate across all of its extant links (for a Multicast packet) for processing (5). A valid destination link will receive the frame for processing and it will attempt to send the frame (6,7). -|During this attempt, any filters present will be applied appropriately (8). The link will then use the frame helper BuildBnepFrameL to populate a RMBufChain (9,10). Once theR MBufChain is fully constructed, it is written out on the Socket Writer (11). - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 319 - origin_y 38 - items (list diagram_item_list - (object InterObjView "$UNNAMED$41" @537 - location (342, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @537 - location (342, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 357 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415C0BAF03DA" - width 375 - height 1509 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @538 - location (342, 375) - line_color 3342489 - InterObjView @537 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView " " @539 - location (786, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @539 - location (786, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 425 - justify 0 - label " ") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415C0BAF03DD" - width 443 - height 1509 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @540 - location (786, 375) - line_color 3342489 - InterObjView @539 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @541 - location (786, 474) - line_color 3342489 - InterObjView @539 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @542 - location (786, 801) - line_color 3342489 - InterObjView @539 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$42" @543 - location (1146, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @543 - location (1146, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415C0BAF03E5" - width 300 - height 1509 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @544 - location (1146, 474) - line_color 3342489 - InterObjView @543 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @545 - location (1146, 621) - line_color 3342489 - InterObjView @543 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @546 - location (1146, 621) - line_color 3342489 - InterObjView @543 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @547 - location (1146, 1419) - line_color 3342489 - InterObjView @543 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @548 - location (1146, 1557) - line_color 3342489 - InterObjView @543 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @549 - location (1146, 1557) - line_color 3342489 - InterObjView @543 - height 0 - y_coord 0 - Nested TRUE)) - (object InterObjView "$UNNAMED$43" @550 - location (1476, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @550 - location (1476, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415C0BAF03F3" - width 300 - height 1509 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @551 - location (1476, 801) - line_color 3342489 - InterObjView @550 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @552 - location (1476, 915) - line_color 3342489 - InterObjView @550 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @553 - location (1476, 915) - line_color 3342489 - InterObjView @550 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @554 - location (1476, 1074) - line_color 3342489 - InterObjView @550 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "dest" @555 - location (1830, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @555 - location (1830, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 282 - justify 0 - label "dest") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415C0BAF03EB" - width 300 - height 1509 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @556 - location (1830, 1074) - line_color 3342489 - InterObjView @555 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @557 - location (1830, 1191) - line_color 3342489 - InterObjView @555 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @558 - location (1830, 1191) - line_color 3342489 - InterObjView @555 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @559 - location (1830, 1308) - line_color 3342489 - InterObjView @555 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @560 - location (1830, 1308) - line_color 3342489 - InterObjView @555 - height 0 - y_coord 0 - Nested TRUE) - Focus_Of_Control (object Focus_Of_Control "" @561 - location (1830, 1419) - line_color 3342489 - InterObjView @555 - height 0 - y_coord 0 - Nested FALSE) - Focus_Of_Control (object Focus_Of_Control "" @562 - location (1830, 1644) - line_color 3342489 - InterObjView @555 - height 0 - y_coord 0 - Nested FALSE)) - (object InterObjView "$UNNAMED$44" @563 - location (2196, 225) - font (object Font - underline TRUE) - label (object ItemLabel - Parent_View @563 - location (2196, 225) - fill_color 13434879 - anchor_loc 1 - nlines 2 - max_width 350 - justify 0 - label "") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "415C0BAF03F6" - width 368 - height 1509 - icon_height 0 - icon_width 0 - icon_y_offset 0 - annotation 1 - Focus_Of_Control (object Focus_Of_Control "" @564 - location (2196, 1644) - line_color 3342489 - InterObjView @563 - height 0 - y_coord 0 - Nested FALSE)) - (object InterMessView "" @565 - location (630, 375) - label (object SegLabel @566 - Parent_View @565 - location (563, 331) - quidu "415C0BAF03DC" - anchor_loc 1 - nlines 1 - max_width 551 - justify 0 - label "Send(aPkt : RMBufChain&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @537 - supplier @539 - Focus_Src @538 - Focus_Entry @540 - origin (342, 375) - terminus (785, 375) - ordinal 0) - (object InterMessView "" @567 - location (969, 474) - label (object SegLabel @568 - Parent_View @567 - location (1057, 438) - quidu "415C0BAF03E0" - anchor_loc 1 - nlines 1 - max_width 907 - justify 0 - label "ParseEthernetFrameL(aFrame : RMBufChain&)" - pctDist 0.757660 - height 37 - orientation 0) - line_color 3342489 - client @539 - supplier @543 - Focus_Src @541 - Focus_Entry @544 - origin (786, 474) - terminus (1145, 474) - ordinal 1) - (object SelfMessView "" @569 - location (3, 621) - label (object SegLabel @570 - Parent_View @569 - location (1222, 577) - quidu "415C0BAF03E7" - anchor_loc 1 - nlines 1 - max_width 819 - justify 0 - label "SetContents(aContent : TPacketContents)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @543 - supplier @543 - Focus_Src @546 - Focus_Entry @545 - origin (1147, 621) - terminus (1297, 621) - ordinal 2) - (object SelfMessView "" @571 - location (3, 1557) - label (object SegLabel @572 - Parent_View @571 - location (1621, 1501) - quidu "415C0BAF03E8" - anchor_loc 1 - nlines 1 - max_width 2226 - justify 0 - label "BuildBnepDataFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" - pctDist 3.160000 - height 57 - orientation 0) - line_color 3342489 - client @543 - supplier @543 - Focus_Src @549 - Focus_Entry @548 - origin (1147, 1557) - terminus (1297, 1557) - ordinal 9) - (object InterMessView "" @573 - location (1137, 801) - label (object SegLabel @574 - Parent_View @573 - location (1130, 757) - quidu "415C0BAF03E4" - anchor_loc 1 - nlines 1 - max_width 1363 - justify 0 - label "Process(aPacket : RBnepFrame&, aSourceIfAddr : const TBTDevAddr&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @539 - supplier @550 - Focus_Src @542 - Focus_Entry @551 - origin (786, 801) - terminus (1475, 801) - ordinal 3) - (object SelfMessView "" @575 - location (3, 915) - label (object SegLabel @576 - Parent_View @575 - location (1552, 871) - quidu "415C0BAF03F5" - anchor_loc 1 - nlines 1 - max_width 1119 - justify 0 - label "Identify Unicast Destination Link or Iterate Across All Links" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @550 - supplier @550 - Focus_Src @553 - Focus_Entry @552 - origin (1477, 915) - terminus (1627, 915) - ordinal 4) - (object InterMessView "" @577 - location (1653, 1074) - label (object SegLabel @578 - Parent_View @577 - location (1652, 1030) - quidu "415C0BAF03F1" - anchor_loc 1 - nlines 1 - max_width 673 - justify 0 - label "Process(aFrame : RBnepFrame&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @550 - supplier @555 - Focus_Src @554 - Focus_Entry @556 - origin (1476, 1074) - terminus (1829, 1074) - ordinal 5) - (object SelfMessView "" @579 - location (3, 1191) - label (object SegLabel @580 - Parent_View @579 - location (1906, 1147) - quidu "415C0BAF03ED" - anchor_loc 1 - nlines 1 - max_width 744 - justify 0 - label "SendFrame(aFrame : RBnepFrame&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @555 - supplier @555 - Focus_Src @558 - Focus_Entry @557 - origin (1831, 1191) - terminus (1981, 1191) - ordinal 6) - (object InterMessView "" @581 - location (1527, 1419) - label (object SegLabel @582 - Parent_View @581 - location (1488, 1375) - quidu "415C0BAF03E9" - anchor_loc 1 - nlines 1 - max_width 2141 - justify 0 - label "BuildBnepFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" - pctDist 0.500000 - height 45 - orientation 1) - line_color 3342489 - client @555 - supplier @543 - Focus_Src @561 - Focus_Entry @547 - origin (1829, 1419) - terminus (1147, 1419) - ordinal 8) - (object SelfMessView "" @583 - location (3, 1308) - label (object SegLabel @584 - Parent_View @583 - location (1906, 1264) - quidu "415C0BAF03EE" - anchor_loc 1 - nlines 1 - max_width 297 - justify 0 - label "Apply Filters" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @555 - supplier @555 - Focus_Src @560 - Focus_Entry @559 - origin (1831, 1308) - terminus (1981, 1308) - ordinal 7) - (object InterMessView "" @585 - location (2079, 1644) - label (object SegLabel @586 - Parent_View @585 - location (2012, 1600) - quidu "415C0BAF03F0" - anchor_loc 1 - nlines 1 - max_width 616 - justify 0 - label "Write(aChain : RMBufChain&)" - pctDist 0.500000 - height 45 - orientation 0) - line_color 3342489 - client @555 - supplier @563 - Focus_Src @562 - Focus_Entry @564 - origin (1830, 1644) - terminus (2195, 1644) - ordinal 10))))) - (object Class_Category "BNEP Packet Driver Classes" - quid "4141944900E0" - documentation "What follows is a set of diagrammatic and textual descriptions of the classes developed for BNEP. " - exportControl "Public" - logical_models (list unit_reference_list) - logical_presentations (list unit_reference_list - (object ClassDiagram "BnepUtils" - quid "4140629601F4" - title "BnepUtils" - documentation -|BnepUtils is a catch-all class for colocating a set of what would otherwise be unencapsulated functions. -|BnepUtils provides two global services, implemented as static methods. -|The first is concerned with acquiring and allocating thread-local storage. The method is primarily of interest in UDEB builds since only the logging system uses TLS in this driver. -|The second method is a simple test to determine whether a Bluetooth address is set for multicast address or not. - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::BnepUtils" @587 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (492, 648) - label (object ItemLabel - Parent_View @587 - location (388, 598) - fill_color 13434879 - nlines 1 - max_width 208 - justify 0 - label "BnepUtils") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B2D3013F" - width 226 - height 124 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Epoc32::TInt" @588 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (174, 1197) - label (object ItemLabel - Parent_View @588 - location (93, 1151) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "TInt") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C059E301D2" - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CBnepLog" @589 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (492, 1197) - label (object ItemLabel - Parent_View @589 - location (376, 1151) - fill_color 13434879 - nlines 1 - max_width 232 - justify 0 - label "CBnepLog") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B5A9014D" - width 250 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::TBnepTls" @590 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (834, 1197) - label (object ItemLabel - Parent_View @590 - location (733, 1151) - fill_color 13434879 - nlines 1 - max_width 202 - justify 0 - label "TBnepTls") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B5000031" - width 220 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTDevAddr" @591 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (735, 1359) - label (object ItemLabel - Parent_View @591 - location (607, 1313) - fill_color 13434879 - nlines 1 - max_width 256 - justify 0 - label "TBTDevAddr") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C05A14029A" - width 274 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepFrame" @592 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (495, 243) - label (object ItemLabel - Parent_View @592 - location (362, 197) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "RBnepFrame") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049510377" - width 284 - height 117 - autoResize TRUE) - (object UsesView "" @593 - stereotype TRUE - line_color 3342489 - quidu "40CD9C1D014E" - client @592 - supplier @587 - line_style 0) - (object UsesView "" @594 - stereotype TRUE - line_color 3342489 - quidu "40D2D6BD0288" - client @587 - supplier @588 - line_style 0) - (object UsesView "" @595 - stereotype TRUE - line_color 3342489 - quidu "40DAE9A60366" - client @587 - supplier @589 - vertices (list Points - (510, 710) - (565, 891) - (505, 1138)) - line_style 0) - (object UsesView "" @596 - stereotype TRUE - line_color 3342489 - quidu "40DAEA110233" - client @587 - supplier @590 - line_style 0) - (object UsesView "" @597 - stereotype TRUE - line_color 3342489 - quidu "414059170221" - client @587 - supplier @591 - line_style 0) - (object UsesView "" @598 - stereotype TRUE - line_color 3342489 - quidu "40DAEA8103BB" - client @589 - supplier @587 - vertices (list Points - (479, 1138) - (434, 891) - (476, 710)) - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Epoc32::TBool" @599 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (888, 954) - label (object ItemLabel - Parent_View @599 - location (807, 908) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "TBool") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C060B001DF" - height 117 - autoResize TRUE) - (object UsesView "" @600 - stereotype TRUE - line_color 3342489 - quidu "416E76C202F1" - client @587 - supplier @599 - line_style 0))) - (object ClassDiagram "CBnepChannelController" - quid "4140684F0056" - title "CBnepChannelController" - documentation -|CBnepChannelController objects are closely and mutually coupled to CBnepLinks. The external entity (e.g. PAN Agent) obtains a pointer to a CBnepChannelController object for every CBnepLink that is successfully created and attached into CBnepBridge. It is through the two BnepRole methods that the PAN Agent makes synchronous calls into CBnepChannelController. The PAN Agent can also Close() the channel, effectively tearing down the link, at any time. This the normal way links are expected to be deleted. -|CBnepChannelController is also responsible for executing controls that come in from a remote device on it's peer link. It has a set of private handling methods, one for each possible type of incoming control message and a catch-all for any controls unknown to it. Controls, once parsed, are passed directly from the link into it's channel controller for processing. The controller is responsible for constructing and queueing the responses in preparation for transmission back to the remote device. -|Notice that the Channel Controller is also a Link Manager, which confuses understanding, since we also find that CBnepBridge is a Connection Manager. - - zoom 75 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::CBnepChannelController" @601 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1254, 840) - label (object ItemLabel - Parent_View @601 - location (953, 791) - fill_color 13434879 - nlines 1 - max_width 602 - justify 0 - label "CBnepChannelController") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0512A0181" - width 620 - height 122 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Epoc32::CBase" @602 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (897, 126) - label (object ItemLabel - Parent_View @602 - location (801, 80) - fill_color 13434879 - nlines 1 - max_width 192 - justify 0 - label "CBase") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C052FD00B0" - width 210 - height 117 - autoResize TRUE) - (object InheritView "" @603 - stereotype TRUE - line_color 3342489 - quidu "410DFEC602F1" - client @601 - supplier @602 - line_style 0) - (object ClassView "Class" "Logical View::MBnepChannelControl" @604 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1248, 126) - label (object ItemLabel - Parent_View @604 - location (972, 80) - fill_color 13434879 - nlines 1 - max_width 552 - justify 0 - label "MBnepChannelControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0513D0066" - width 570 - height 117 - autoResize TRUE) - (object InheritView "" @605 - stereotype TRUE - line_color 3342489 - quidu "410DFECB0027" - client @601 - supplier @604 - line_style 0) - (object ClassView "Class" "Logical View::MLinkManager" @606 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1656, 126) - label (object ItemLabel - Parent_View @606 - location (1466, 80) - fill_color 13434879 - nlines 1 - max_width 380 - justify 0 - label "MLinkManager") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C050FF0107" - width 398 - height 117 - autoResize TRUE) - (object InheritView "" @607 - stereotype TRUE - line_color 3342489 - quidu "410DFECE01D0" - client @601 - supplier @606 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Epoc32::TBool" @608 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1974, 1917) - label (object ItemLabel - Parent_View @608 - location (1886, 1871) - fill_color 13434879 - nlines 1 - max_width 176 - justify 0 - label "TBool") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C060B001DF" - width 194 - height 117 - autoResize TRUE) - (object HasView "SetupInProgress" @609 - label (object ItemLabel - Parent_View @609 - location (1614, 1379) - anchor_loc 1 - nlines 1 - max_width 306 - justify 0 - label "SetupInProgress") - stereotype TRUE - line_color 3342489 - quidu "40C578F90049" - client @601 - supplier @608 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLink" @610 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2196, 1671) - label (object ItemLabel - Parent_View @610 - location (2052, 1625) - fill_color 13434879 - nlines 1 - max_width 288 - justify 0 - label "CBnepLink") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0510D0175" - width 306 - height 117 - autoResize TRUE) - (object HasView "Link" @611 - label (object ItemLabel - Parent_View @611 - location (1727, 1257) - anchor_loc 1 - nlines 1 - max_width 79 - justify 0 - label "Link") - stereotype TRUE - line_color 3342489 - quidu "40C579450305" - client @601 - supplier @610 - line_style 0) - (object ClassView "Class" "Logical View::MPanConnectionNotify" @612 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1596, 2094) - label (object ItemLabel - Parent_View @612 - location (1316, 2048) - fill_color 13434879 - nlines 1 - max_width 560 - justify 0 - label "MPanConnectionNotify") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0607803DD" - width 578 - height 117 - autoResize TRUE) - (object UsesView "" @613 - stereotype TRUE - line_color 3342489 - quidu "40C57A5D03B2" - client @601 - supplier @612 - line_style 0) - (object ClassView "Class" "Logical View::CBnepBridge" @614 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (231, 1626) - label (object ItemLabel - Parent_View @614 - location (59, 1580) - fill_color 13434879 - nlines 1 - max_width 344 - justify 0 - label "CBnepBridge") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049600007" - width 362 - height 117 - autoResize TRUE) - (object UsesView "" @615 - stereotype TRUE - line_color 3342489 - quidu "40C57A9A025B" - client @601 - supplier @614 - line_style 0) - (object UsesView "" @616 - stereotype TRUE - line_color 3342489 - quidu "40C97A9A01D2" - client @614 - supplier @601 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Comms-infras::RInternalSocket" @617 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1551, 2250) - label (object ItemLabel - Parent_View @617 - location (1351, 2204) - fill_color 13434879 - nlines 1 - max_width 400 - justify 0 - label "RInternalSocket") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C46FE80331" - width 418 - height 117 - autoResize TRUE) - (object UsesView "" @618 - stereotype TRUE - line_color 3342489 - quidu "40C57ACF00E5" - client @601 - supplier @617 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Networking::TBluetoothPanRole" @619 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1680, 2001) - label (object ItemLabel - Parent_View @619 - location (1439, 1955) - fill_color 13434879 - nlines 1 - max_width 482 - justify 0 - label "TBluetoothPanRole") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C06019037D" - width 500 - height 117 - autoResize TRUE) - (object UsesView "" @620 - stereotype TRUE - line_color 3342489 - quidu "40C583270118" - client @601 - supplier @619 - line_style 0) - (object ClassView "Class" "Logical View::RBnepSetupConnectionResponseControl" @621 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (687, 2739) - label (object ItemLabel - Parent_View @621 - location (199, 2693) - fill_color 13434879 - nlines 1 - max_width 976 - justify 0 - label "RBnepSetupConnectionResponseControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C050B10245" - width 994 - height 117 - autoResize TRUE) - (object UsesView "" @622 - stereotype TRUE - line_color 3342489 - quidu "40C583560256" - client @601 - supplier @621 - line_style 0) - (object ClassView "Class" "Logical View::RBnepSetupConnectionRequestControl" @623 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (657, 2595) - label (object ItemLabel - Parent_View @623 - location (190, 2549) - fill_color 13434879 - nlines 1 - max_width 934 - justify 0 - label "RBnepSetupConnectionRequestControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C04FE6035B" - width 952 - height 117 - autoResize TRUE) - (object UsesView "" @624 - stereotype TRUE - line_color 3342489 - quidu "40C58359020A" - client @601 - supplier @623 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLog" @625 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (972, 2433) - label (object ItemLabel - Parent_View @625 - location (833, 2387) - fill_color 13434879 - nlines 1 - max_width 278 - justify 0 - label "CBnepLog") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B5A9014D" - width 296 - height 117 - autoResize TRUE) - (object UsesView "" @626 - stereotype TRUE - line_color 3342489 - quidu "40C867E90133" - client @601 - supplier @625 - line_style 0) - (object ClassView "Class" "Logical View::BnepUtils" @627 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1638, 1770) - label (object ItemLabel - Parent_View @627 - location (1504, 1724) - fill_color 13434879 - nlines 1 - max_width 268 - justify 0 - label "BnepUtils") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B2D3013F" - width 286 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepFilterNetTypeSetRequestControl" @628 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (654, 2433) - label (object ItemLabel - Parent_View @628 - location (189, 2387) - fill_color 13434879 - nlines 1 - max_width 930 - justify 0 - label "RBnepFilterNetTypeSetRequestControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68AE302E2" - width 948 - height 117 - autoResize TRUE) - (object UsesView "" @629 - stereotype TRUE - line_color 3342489 - quidu "40F69451036F" - client @601 - supplier @628 - line_style 0) - (object ClassView "Class" "Logical View::RBnepFilterNetTypeResponseControl" @630 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (630, 2265) - label (object ItemLabel - Parent_View @630 - location (181, 2219) - fill_color 13434879 - nlines 1 - max_width 898 - justify 0 - label "RBnepFilterNetTypeResponseControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68B03028E" - width 916 - height 117 - autoResize TRUE) - (object UsesView "" @631 - stereotype TRUE - line_color 3342489 - quidu "40F69454012F" - client @601 - supplier @630 - line_style 0) - (object ClassView "Class" "Logical View::RBnepFilterMultiAddrSetRequestControl" @632 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (672, 2100) - label (object ItemLabel - Parent_View @632 - location (195, 2054) - fill_color 13434879 - nlines 1 - max_width 954 - justify 0 - label "RBnepFilterMultiAddrSetRequestControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68B20014F" - width 972 - height 117 - autoResize TRUE) - (object UsesView "" @633 - stereotype TRUE - line_color 3342489 - quidu "40F694560236" - client @601 - supplier @632 - line_style 0) - (object ClassView "Class" "Logical View::RBnepFilterMultiAddrResponseControl" @634 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (648, 1935) - label (object ItemLabel - Parent_View @634 - location (186, 1889) - fill_color 13434879 - nlines 1 - max_width 924 - justify 0 - label "RBnepFilterMultiAddrResponseControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68B66004C" - width 942 - height 117 - autoResize TRUE) - (object UsesView "" @635 - stereotype TRUE - line_color 3342489 - quidu "40F69458037A" - client @601 - supplier @634 - line_style 0) - (object ClassView "Class" "Logical View::RBnepNotUnderstoodResponseControl" @636 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (657, 1770) - label (object ItemLabel - Parent_View @636 - location (190, 1724) - fill_color 13434879 - nlines 1 - max_width 934 - justify 0 - label "RBnepNotUnderstoodResponseControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "410509070129" - width 952 - height 117 - autoResize TRUE) - (object UsesView "" @637 - stereotype TRUE - line_color 3342489 - quidu "41050A820084" - client @601 - supplier @636 - line_style 0) - (object ClassView "Class" "Logical View::TBnepControlType" @638 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1068, 1770) - label (object ItemLabel - Parent_View @638 - location (836, 1724) - fill_color 13434879 - nlines 1 - max_width 464 - justify 0 - label "TBnepControlType") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C06127015E" - width 482 - height 117 - autoResize TRUE) - (object UsesView "" @639 - stereotype TRUE - line_color 3342489 - quidu "4123479D03CD" - client @601 - supplier @638 - line_style 0) - (object ClassView "Class" "Logical View::CMultiAddrFilterTable" @640 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1071, 2265) - label (object ItemLabel - Parent_View @640 - location (805, 2219) - fill_color 13434879 - nlines 1 - max_width 532 - justify 0 - label "CMultiAddrFilterTable") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "412478830308" - width 550 - height 117 - autoResize TRUE) - (object UsesView "" @641 - stereotype TRUE - line_color 3342489 - quidu "4124B5250357" - client @601 - supplier @640 - line_style 0) - (object ClassView "Class" "Logical View::CNetTypeFilterTable" @642 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1056, 2094) - label (object ItemLabel - Parent_View @642 - location (803, 2048) - fill_color 13434879 - nlines 1 - max_width 506 - justify 0 - label "CNetTypeFilterTable") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "412478A20031" - width 524 - height 117 - autoResize TRUE) - (object UsesView "" @643 - stereotype TRUE - line_color 3342489 - quidu "4124B5290227" - client @601 - supplier @642 - line_style 0) - (object UsesView "" @644 - stereotype TRUE - line_color 3342489 - quidu "416FBA7B01AD" - client @601 - supplier @627 - line_style 0))) - (object ClassDiagram "CBnepBridge" - quid "41406647035C" - title "CBnepBridge" - documentation -|CBnepBridge is a container for MPanDevice-derived objects (i.e. CBnepLinks). Except that it does not own the device references it contains, which makes it slightly more confusing, because removing a device from the bridge ends up being a much circuitous endeavour than merely deleting it. -|Additionally, the bridge is responsible for routing packets to specific device addresses, groups of addresses or applying top-level filtering (e.g. ensuring that packets are not redistributed to their originators). Furthermore, the bridge has embedded in it's Process() method certain assumptions about PAN Profile roles and what it's role is likely to be in the event that it has no direct path to a unicast destination. -|In the implementation, CBnepBridge is a child of MPanDeviceOwner and a grandchild of MBnepConnectionManager, which suggests that there is a category error in the analysis; there exists too much ambiguity between the concept of a PAN Device Owner and a BNEP Connection Manager. -|In this implementation, CBnepBridge manages an array of MPanDevice references. The array length is constrained by the requirements of the BNEP specification which determines that any one device can connect to a maximum of 7 (seven) others. However, this implementation also reserves space for the local device as a special case of MPanDevice and, in fact, CBnepBridge cannot be constructed without a local device. Therefore the internal managed array of devices is actually 8 (eight) since it also includes the local device. -|It is important to note that the local device is stored at the element specified by KLocalDeviceArrayId. For the earliest implementation this was set to 0 (zero), but this was then assumed in later code. Maintainers should never assume that the device at index zero is guaranteed to be the local device for all time. Defective code that did assume this has been repaired and it is now legitimate to set KLocalDeviceArrayId to be equal to any value between 0 to (KMaxPanConnections-1) and there is a performance argument to suggest the later bound could be preferable under certain situations. -|External entities (e.g. PAN Agent) construct new connections in the bridge using NewBnepConnectionL(). If successful, the entity should obtain a handle to the channel controller for the newly created link. - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::CBnepBridge" @645 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1161, 807) - label (object ItemLabel - Parent_View @645 - location (1028, 757) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "CBnepBridge") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049600007" - width 284 - height 124 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Epoc32::CBase" @646 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (666, 126) - label (object ItemLabel - Parent_View @646 - location (585, 80) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "CBase") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C052FD00B0" - height 117 - autoResize TRUE) - (object InheritView "" @647 - stereotype TRUE - line_color 3342489 - quidu "40C05A890248" - client @645 - supplier @646 - line_style 0) - (object ClassView "Class" "Logical View::MPanDeviceOwner" @648 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1161, 126) - label (object ItemLabel - Parent_View @648 - location (970, 80) - fill_color 13434879 - nlines 1 - max_width 382 - justify 0 - label "MPanDeviceOwner") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0497600BD" - width 400 - height 117 - autoResize TRUE) - (object InheritView "" @649 - stereotype TRUE - line_color 3342489 - quidu "40C05A93018F" - client @645 - supplier @648 - line_style 0) - (object ClassView "InstantiatedClass" "Logical View::( TFixedArray < MPanDevice*, KMaxPanConnections > )" @650 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1161, 1833) - label (object ItemLabel - Parent_View @650 - location (631, 1787) - fill_color 13434879 - nlines 1 - max_width 1060 - justify 0 - label "( TFixedArray < MPanDevice*, KMaxPanConnections > )") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C440B501D8" - width 1078 - height 117 - autoResize TRUE) - (object HasView "Links" @651 - label (object ItemLabel - Parent_View @651 - location (1161, 1321) - anchor_loc 1 - nlines 1 - max_width 107 - justify 0 - label "Links") - stereotype TRUE - line_color 3342489 - quidu "40C44171025A" - client @645 - supplier @650 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTDevAddr" @652 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (348, 1548) - label (object ItemLabel - Parent_View @652 - location (220, 1502) - fill_color 13434879 - nlines 1 - max_width 256 - justify 0 - label "TBTDevAddr") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C05A14029A" - width 274 - height 117 - autoResize TRUE) - (object UsesView "" @653 - stereotype TRUE - line_color 3342489 - quidu "40C7194D022F" - client @645 - supplier @652 - line_style 0) - (object ClassView "Class" "Logical View::RBnepFrame" @654 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (240, 1320) - label (object ItemLabel - Parent_View @654 - location (107, 1274) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "RBnepFrame") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049510377" - width 284 - height 117 - autoResize TRUE) - (object UsesView "" @655 - stereotype TRUE - line_color 3342489 - quidu "40C7196D01B3" - client @645 - supplier @654 - line_style 0) - (object ClassView "Class" "Logical View::MBnepChannelControl" @656 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (330, 1836) - label (object ItemLabel - Parent_View @656 - location (109, 1790) - fill_color 13434879 - nlines 1 - max_width 442 - justify 0 - label "MBnepChannelControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0513D0066" - width 460 - height 117 - autoResize TRUE) - (object UsesView "" @657 - stereotype TRUE - line_color 3342489 - quidu "40C719C10290" - client @645 - supplier @656 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Comms-infras::RInternalSocket" @658 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (876, 1548) - label (object ItemLabel - Parent_View @658 - location (715, 1502) - fill_color 13434879 - nlines 1 - max_width 322 - justify 0 - label "RInternalSocket") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C46FE80331" - width 340 - height 117 - autoResize TRUE) - (object UsesView "" @659 - stereotype TRUE - line_color 3342489 - quidu "40C71A220376" - client @645 - supplier @658 - line_style 0) - (object ClassView "Class" "Logical View::MPanConnectionNotify" @660 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1467, 1551) - label (object ItemLabel - Parent_View @660 - location (1243, 1505) - fill_color 13434879 - nlines 1 - max_width 448 - justify 0 - label "MPanConnectionNotify") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0607803DD" - width 466 - height 117 - autoResize TRUE) - (object UsesView "" @661 - stereotype TRUE - line_color 3342489 - quidu "40C71A440072" - client @645 - supplier @660 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLog" @662 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1905, 267) - label (object ItemLabel - Parent_View @662 - location (1789, 221) - fill_color 13434879 - nlines 1 - max_width 232 - justify 0 - label "CBnepLog") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B5A9014D" - width 250 - height 117 - autoResize TRUE) - (object UsesView "" @663 - stereotype TRUE - line_color 3342489 - quidu "40C868330193" - client @645 - supplier @662 - line_style 0) - (object ClassView "Class" "Logical View::BnepUtils" @664 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2115, 1305) - label (object ItemLabel - Parent_View @664 - location (2011, 1259) - fill_color 13434879 - nlines 1 - max_width 208 - justify 0 - label "BnepUtils") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B2D3013F" - width 226 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CBnepChannelController" @665 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2028, 1830) - label (object ItemLabel - Parent_View @665 - location (1789, 1784) - fill_color 13434879 - nlines 1 - max_width 478 - justify 0 - label "CBnepChannelController") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0512A0181" - width 496 - height 117 - autoResize TRUE) - (object UsesView "" @666 - stereotype TRUE - line_color 3342489 - quidu "40C97A9A01D2" - client @645 - supplier @665 - line_style 0) - (object UsesView "" @667 - stereotype TRUE - line_color 3342489 - quidu "40C57A9A025B" - client @665 - supplier @645 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::inc::TIeee802Addr" @668 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (510, 267) - label (object ItemLabel - Parent_View @668 - location (366, 221) - fill_color 13434879 - nlines 1 - max_width 288 - justify 0 - label "TIeee802Addr") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5BC280234" - width 306 - height 117 - autoResize TRUE) - (object UsesView "" @669 - stereotype TRUE - line_color 3342489 - quidu "40F6403200A8" - client @645 - supplier @668 - line_style 0) - (object ClassView "Class" "Logical View::MPanDevice" @670 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2067, 1548) - label (object ItemLabel - Parent_View @670 - location (1938, 1502) - fill_color 13434879 - nlines 1 - max_width 258 - justify 0 - label "MPanDevice") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049CB02DC" - width 276 - height 117 - autoResize TRUE) - (object UsesView "" @671 - stereotype TRUE - line_color 3342489 - quidu "4108F9FD02A7" - client @645 - supplier @670 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLocalDevice" @672 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1674, 126) - label (object ItemLabel - Parent_View @672 - location (1490, 80) - fill_color 13434879 - nlines 1 - max_width 368 - justify 0 - label "CBnepLocalDevice") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049420180" - width 386 - height 117 - autoResize TRUE) - (object UsesView "" @673 - stereotype TRUE - line_color 3342489 - quidu "4108F40700A4" - client @672 - supplier @645 - line_style 0) - (object UsesView "" @674 - stereotype TRUE - line_color 3342489 - quidu "41766D9A03E1" - client @645 - supplier @664 - line_style 0))) - (object ClassDiagram "CBnepLink" - quid "414194C203E7" - title "CBnepLink" - documentation -|A CBnepLink exists for every connection that is made between BNEP and a remote device. The link serves as the driver, or engine, for processing packets in both directions. The link is responsible for the ownership of the socket it is passed during construction. As part of the construction process, the link will use the socket to create two active objects (CSocketReader and CSocketWriter) to seperately implement asynchronous input and output operations. It is responsible for initiating the parsing mechanisms in the RBnepFrame dedicated to input processing, the results of which are then executed through the link's associated channel controller such that BNEP controls can be honoured. The link is then responsible for initiating the marshalling activities of the output-dedicated RBnepFrame prior to transmission. -|All packet filtering is implemented in the link, which can respond to requests from remote devices to implement multicast address and/or network protocol type filtering such that Bluetooth bandwidth can be conserved. However, since this version of BNEP cannot emit filter requests because the higher-layer support mechanisms do not exist, a piconet can only make use of this facility on links where the far end is both something other than a Symbian device and capable of emitting filter requests. - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::CBnepLink" @675 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1080, 1098) - label (object ItemLabel - Parent_View @675 - location (107, 467) - fill_color 13434879 - nlines 1 - max_width 1946 - justify 0 - label "CBnepLink") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0510D0175" - width 1964 - height 1286 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Epoc32::CBase" @676 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (795, 126) - label (object ItemLabel - Parent_View @676 - location (714, 80) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "CBase") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C052FD00B0" - height 117 - autoResize TRUE) - (object InheritView "" @677 - stereotype TRUE - line_color 3342489 - quidu "40C6E1360040" - client @675 - supplier @676 - line_style 0) - (object ClassView "Class" "Logical View::MPanDevice" @678 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1080, 126) - label (object ItemLabel - Parent_View @678 - location (951, 80) - fill_color 13434879 - nlines 1 - max_width 258 - justify 0 - label "MPanDevice") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049CB02DC" - width 276 - height 117 - autoResize TRUE) - (object InheritView "" @679 - stereotype TRUE - line_color 3342489 - quidu "40C6E14801CD" - client @675 - supplier @678 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Comms-infras::RInternalSocket" @680 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1923, 2067) - label (object ItemLabel - Parent_View @680 - location (1762, 2021) - fill_color 13434879 - nlines 1 - max_width 322 - justify 0 - label "RInternalSocket") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C46FE80331" - width 340 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CSocketReader" @681 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (243, 2352) - label (object ItemLabel - Parent_View @681 - location (86, 2306) - fill_color 13434879 - nlines 1 - max_width 314 - justify 0 - label "CSocketReader") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0652B0094" - width 332 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CSocketWriter" @682 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (624, 2352) - label (object ItemLabel - Parent_View @682 - location (474, 2306) - fill_color 13434879 - nlines 1 - max_width 300 - justify 0 - label "CSocketWriter") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0651F0155" - width 318 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CMultiAddrFilterTable" @683 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1422, 2121) - label (object ItemLabel - Parent_View @683 - location (1215, 2075) - fill_color 13434879 - nlines 1 - max_width 414 - justify 0 - label "CMultiAddrFilterTable") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "412478830308" - width 432 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CNetTypeFilterTable" @684 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1779, 2256) - label (object ItemLabel - Parent_View @684 - location (1582, 2210) - fill_color 13434879 - nlines 1 - max_width 394 - justify 0 - label "CNetTypeFilterTable") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "412478A20031" - width 412 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepFrame" @685 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1080, 2352) - label (object ItemLabel - Parent_View @685 - location (947, 2306) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "RBnepFrame") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049510377" - width 284 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CBnepChannelController" @686 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (414, 126) - label (object ItemLabel - Parent_View @686 - location (175, 80) - fill_color 13434879 - nlines 1 - max_width 478 - justify 0 - label "CBnepChannelController") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0512A0181" - width 496 - height 117 - autoResize TRUE) - (object HasView "Link" @687 - label (object ItemLabel - Parent_View @687 - location (545, 318) - anchor_loc 1 - nlines 1 - max_width 79 - justify 0 - label "Link") - stereotype TRUE - line_color 3342489 - quidu "40C579450305" - client @686 - supplier @675 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTSockAddr" @688 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1671, 255) - label (object ItemLabel - Parent_View @688 - location (1527, 209) - fill_color 13434879 - nlines 1 - max_width 288 - justify 0 - label "TBTSockAddr") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F65CE8003D" - width 306 - height 117 - autoResize TRUE) - (object UsesView "" @689 - stereotype TRUE - line_color 3342489 - quidu "40F65CFF0068" - client @675 - supplier @688 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Epoc32::TInt64" @690 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1941, 252) - label (object ItemLabel - Parent_View @690 - location (1860, 206) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "TInt64") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "411769FE0042" - height 117 - autoResize TRUE) - (object UsesView "" @691 - stereotype TRUE - line_color 3342489 - quidu "41176E8A00AA" - client @675 - supplier @690 - line_style 0) - (object UsesView "" @692 - stereotype TRUE - line_color 3342489 - quidu "40C6E9F20077" - client @682 - supplier @675 - vertices (list Points - (630, 2293) - (661, 2046) - (794, 1741)) - line_style 0) - (object HasView "Socket" @693 - label (object ItemLabel - Parent_View @693 - location (1755, 1875) - anchor_loc 1 - nlines 1 - max_width 133 - justify 0 - label "Socket") - stereotype TRUE - line_color 3342489 - quidu "40C6E3B701A0" - client @675 - supplier @680 - line_style 0) - (object HasView "Reader" @694 - label (object ItemLabel - Parent_View @694 - location (464, 2017) - anchor_loc 1 - nlines 1 - max_width 138 - justify 0 - label "Reader") - stereotype TRUE - line_color 3342489 - quidu "40C6E3B9038E" - client @675 - supplier @681 - line_style 0) - (object HasView "Writer" @695 - label (object ItemLabel - Parent_View @695 - location (744, 2017) - anchor_loc 1 - nlines 1 - max_width 114 - justify 0 - label "Writer") - stereotype TRUE - line_color 3342489 - quidu "40C6E3BD0022" - client @675 - supplier @682 - line_style 0) - (object HasView "MultiAddrFilters" @696 - label (object ItemLabel - Parent_View @696 - location (1347, 1901) - anchor_loc 1 - nlines 1 - max_width 296 - justify 0 - label "MultiAddrFilters") - stereotype TRUE - line_color 3342489 - quidu "4124A191036E" - client @675 - supplier @683 - line_style 0) - (object HasView "NetTypeFilters" @697 - label (object ItemLabel - Parent_View @697 - location (1605, 1969) - anchor_loc 1 - nlines 1 - max_width 272 - justify 0 - label "NetTypeFilters") - stereotype TRUE - line_color 3342489 - quidu "4124A19800BC" - client @675 - supplier @684 - line_style 0) - (object HasView "OutGoing" @698 - label (object ItemLabel - Parent_View @698 - location (1080, 2017) - anchor_loc 1 - nlines 1 - max_width 188 - justify 0 - label "OutGoing") - stereotype TRUE - line_color 3342489 - quidu "413C294A01B6" - client @675 - supplier @685 - line_style 0) - (object HasView "InComing" @699 - label (object ItemLabel - Parent_View @699 - location (972, 2026) - anchor_loc 1 - nlines 1 - max_width 168 - justify 0 - label "InComing") - stereotype TRUE - line_color 3342489 - quidu "413C296E01CC" - client @675 - supplier @685 - vertices (list Points - (1004, 1741) - (964, 2102) - (1052, 2293)) - line_style 0) - (object UsesView "" @700 - stereotype TRUE - line_color 3342489 - quidu "40C6EBEB0363" - client @681 - supplier @675 - vertices (list Points - (304, 2293) - (528, 2085) - (719, 1741)) - line_style 0) - (object ClassView "Class" "Logical View::BnepUtils" @701 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (198, 1890) - label (object ItemLabel - Parent_View @701 - location (94, 1844) - fill_color 13434879 - nlines 1 - max_width 208 - justify 0 - label "BnepUtils") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B2D3013F" - width 226 - height 117 - autoResize TRUE) - (object UsesView "" @702 - stereotype TRUE - line_color 3342489 - quidu "417506FF0070" - client @675 - supplier @701 - line_style 0))) - (object ClassDiagram "CBnepLocalDevice" - quid "414198960260" - title "CBnepLocalDevice" - documentation -|CBnepLocalDevice is a specialisation of MPanDevice that represents the particular device upon which a BNEP instance resides. It is also derived from CPktDrvBase because it provides the interface and underlying implementation to sit beneath Ethint.NIF as a packet driver. Ethernet packets pushed down into the PAN network are delivered via CBnepLocalDevice. -|As a packet driver, it provides implementation for a wide range of interfaces that it does not, in fact, support; interfaces such as InterfacePowerDown(), GetRxMode(), etc. -|The interfaces of direct interest for BNEP are the static NewL() constructor (called by the packet driver factory to trigger the instantiation of the driver) and the two data delivery interfaces. -|The first, Send(), is the method called by the higher layer (Ethint.NIF) to push packets down into the PAN network. -|The second, Process(), is the method called by the bridge to push data up out of the PAN network and into Ethint.NIF. - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::CBnepLocalDevice" @703 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1500, 1140) - label (object ItemLabel - Parent_View @703 - location (1316, 1090) - fill_color 13434879 - nlines 1 - max_width 368 - justify 0 - label "CBnepLocalDevice") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049420180" - width 386 - height 124 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::inc::CPktDrvBase" @704 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (531, 132) - label (object ItemLabel - Parent_View @704 - location (395, 86) - fill_color 13434879 - nlines 1 - max_width 272 - justify 0 - label "CPktDrvBase") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5BB5D014C" - width 290 - height 117 - autoResize TRUE) - (object InheritView "" @705 - stereotype TRUE - line_color 3342489 - quidu "4107BDAB0145" - client @703 - supplier @704 - line_style 0) - (object ClassView "Class" "Logical View::MPanDevice" @706 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (969, 132) - label (object ItemLabel - Parent_View @706 - location (840, 86) - fill_color 13434879 - nlines 1 - max_width 258 - justify 0 - label "MPanDevice") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049CB02DC" - width 276 - height 117 - autoResize TRUE) - (object InheritView "" @707 - stereotype TRUE - line_color 3342489 - quidu "4107BDB201EF" - client @703 - supplier @706 - line_style 0) - (object ClassView "Class" "Logical View::CBTAddrSubscriber" @708 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1500, 2148) - label (object ItemLabel - Parent_View @708 - location (1306, 2102) - fill_color 13434879 - nlines 1 - max_width 388 - justify 0 - label "CBTAddrSubscriber") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B9A6014B" - width 406 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::inc::CLANLinkCommon" @709 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2052, 2148) - label (object ItemLabel - Parent_View @709 - location (1860, 2102) - fill_color 13434879 - nlines 1 - max_width 384 - justify 0 - label "CLANLinkCommon") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C47D840240" - width 402 - height 117 - autoResize TRUE) - (object UsesView "" @710 - stereotype TRUE - line_color 3342489 - quidu "40CEE2DF014D" - client @703 - supplier @709 - line_style 0) - (object ClassView "Class" "Logical View::CBnepBridge" @711 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2565, 2148) - label (object ItemLabel - Parent_View @711 - location (2432, 2102) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "CBnepBridge") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049600007" - width 284 - height 117 - autoResize TRUE) - (object UsesView "" @712 - stereotype TRUE - line_color 3342489 - quidu "4108F40700A4" - client @703 - supplier @711 - line_style 0) - (object ClassView "Class" "Logical View::CBnepPktDrvFactory" @713 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1500, 132) - label (object ItemLabel - Parent_View @713 - location (1290, 86) - fill_color 13434879 - nlines 1 - max_width 420 - justify 0 - label "CBnepPktDrvFactory") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C969BB025E" - width 438 - height 117 - autoResize TRUE) - (object UsesView "" @714 - stereotype TRUE - line_color 3342489 - quidu "40C9B35A036B" - client @713 - supplier @703 - line_style 0) - (object UsesView "" @715 - stereotype TRUE - line_color 3342489 - quidu "40CEC4DC0122" - client @708 - supplier @703 - line_style 0) - (object HasView "Subscriber" @716 - label (object ItemLabel - Parent_View @716 - location (1547, 1650) - anchor_loc 1 - nlines 1 - max_width 194 - justify 0 - label "Subscriber") - stereotype TRUE - line_color 3342489 - quidu "40C6DDA601ED" - client @703 - supplier @708 - vertices (list Points - (1504, 1202) - (1576, 1959) - (1522, 2089)) - line_style 0))) - (object ClassDiagram "CBnepLog" - quid "4141995802C3" - title "CBnepLog" - documentation -|CBnepLog is only instantiated and used in UDEB builds. It is usually accessed through the BNEPLOG or INSTRUMENT macros defined in CBnepLog.h. The static method CBnepLog::Printf() is also accessible for direct use, but has no meaning in a non-debug build. CBnepLog uses RFileLogger and requires its own piece of thread-local storage, hence the dependencies on TBnepTls and BnepUtils. -|Naturally every class whose implementation includes some debug logging has a dependency on CBnepLog. - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::CBnepLog" @717 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (741, 504) - label (object ItemLabel - Parent_View @717 - location (625, 454) - fill_color 13434879 - nlines 1 - max_width 232 - justify 0 - label "CBnepLog") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B5A9014D" - width 250 - height 124 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Epoc32::CBase" @718 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (747, 126) - label (object ItemLabel - Parent_View @718 - location (666, 80) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "CBase") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C052FD00B0" - height 117 - autoResize TRUE) - (object InheritView "" @719 - stereotype TRUE - line_color 3342489 - quidu "40D2CE9201C3" - client @717 - supplier @718 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Comms-infras::RFileLogger" @720 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (267, 1113) - label (object ItemLabel - Parent_View @720 - location (142, 1067) - fill_color 13434879 - nlines 1 - max_width 250 - justify 0 - label "RFileLogger") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40D2D0FC0149" - width 268 - height 117 - autoResize TRUE) - (object HasView "MainLog" @721 - label (object ItemLabel - Parent_View @721 - location (501, 811) - anchor_loc 1 - nlines 1 - max_width 156 - justify 0 - label "MainLog") - stereotype TRUE - line_color 3342489 - quidu "40D2D19302D7" - client @717 - supplier @720 - line_style 0) - (object ClassView "Class" "Logical View::TBnepTls" @722 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (741, 1113) - label (object ItemLabel - Parent_View @722 - location (640, 1067) - fill_color 13434879 - nlines 1 - max_width 202 - justify 0 - label "TBnepTls") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B5000031" - width 220 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::BnepUtils" @723 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1197, 1113) - label (object ItemLabel - Parent_View @723 - location (1093, 1067) - fill_color 13434879 - nlines 1 - max_width 208 - justify 0 - label "BnepUtils") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B2D3013F" - width 226 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepFrame" @724 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1158, 126) - label (object ItemLabel - Parent_View @724 - location (1025, 80) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "RBnepFrame") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049510377" - width 284 - height 117 - autoResize TRUE) - (object UsesView "" @725 - stereotype TRUE - line_color 3342489 - quidu "40C9BB240119" - client @724 - supplier @717 - line_style 0) - (object ClassView "Class" "Logical View::CBnepBridge" @726 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (390, 1662) - label (object ItemLabel - Parent_View @726 - location (257, 1616) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "CBnepBridge") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049600007" - width 284 - height 117 - autoResize TRUE) - (object UsesView "" @727 - stereotype TRUE - line_color 3342489 - quidu "40C868330193" - client @726 - supplier @717 - line_style 0) - (object ClassView "Class" "Logical View::RBnepSetupConnectionRequestControl" @728 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1104, 1995) - label (object ItemLabel - Parent_View @728 - location (734, 1949) - fill_color 13434879 - nlines 1 - max_width 740 - justify 0 - label "RBnepSetupConnectionRequestControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C04FE6035B" - width 758 - height 117 - autoResize TRUE) - (object UsesView "" @729 - stereotype TRUE - line_color 3342489 - quidu "40C9BB98036F" - client @728 - supplier @717 - line_style 0) - (object ClassView "Class" "Logical View::RBnepSetupConnectionResponseControl" @730 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1116, 2145) - label (object ItemLabel - Parent_View @730 - location (729, 2099) - fill_color 13434879 - nlines 1 - max_width 774 - justify 0 - label "RBnepSetupConnectionResponseControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C050B10245" - width 792 - height 117 - autoResize TRUE) - (object UsesView "" @731 - stereotype TRUE - line_color 3342489 - quidu "4104E7CF001D" - client @730 - supplier @717 - line_style 0) - (object ClassView "Class" "Logical View::MLinkManager" @732 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (177, 882) - label (object ItemLabel - Parent_View @732 - location (24, 836) - fill_color 13434879 - nlines 1 - max_width 306 - justify 0 - label "MLinkManager") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C050FF0107" - width 324 - height 117 - autoResize TRUE) - (object UsesView "" @733 - stereotype TRUE - line_color 3342489 - quidu "40E4193D038C" - client @732 - supplier @717 - line_style 0) - (object ClassView "Class" "Logical View::CBnepChannelController" @734 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1440, 927) - label (object ItemLabel - Parent_View @734 - location (1201, 881) - fill_color 13434879 - nlines 1 - max_width 478 - justify 0 - label "CBnepChannelController") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0512A0181" - width 496 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::TBnepConnectionManager" @735 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (318, 126) - label (object ItemLabel - Parent_View @735 - location (61, 80) - fill_color 13434879 - nlines 1 - max_width 514 - justify 0 - label "TBnepConnectionManager") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C47D9300BB" - width 532 - height 117 - autoResize TRUE) - (object UsesView "" @736 - stereotype TRUE - line_color 3342489 - quidu "40E3EB7B037E" - client @735 - supplier @717 - line_style 0) - (object ClassView "Class" "Logical View::CBnepPktDrvFactory" @737 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1557, 126) - label (object ItemLabel - Parent_View @737 - location (1347, 80) - fill_color 13434879 - nlines 1 - max_width 420 - justify 0 - label "CBnepPktDrvFactory") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C969BB025E" - width 438 - height 117 - autoResize TRUE) - (object UsesView "" @738 - stereotype TRUE - line_color 3342489 - quidu "40C9B1F7036A" - client @737 - supplier @717 - line_style 0) - (object ClassView "Class" "Logical View::RBnepFilterNetTypeSetRequestControl" @739 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1101, 1851) - label (object ItemLabel - Parent_View @739 - location (730, 1805) - fill_color 13434879 - nlines 1 - max_width 742 - justify 0 - label "RBnepFilterNetTypeSetRequestControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68AE302E2" - width 760 - height 117 - autoResize TRUE) - (object UsesView "" @740 - stereotype TRUE - line_color 3342489 - quidu "4104E7DB025F" - client @739 - supplier @717 - line_style 0) - (object ClassView "Class" "Logical View::RBnepFilterNetTypeResponseControl" @741 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1089, 1710) - label (object ItemLabel - Parent_View @741 - location (737, 1664) - fill_color 13434879 - nlines 1 - max_width 704 - justify 0 - label "RBnepFilterNetTypeResponseControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68B03028E" - width 722 - height 117 - autoResize TRUE) - (object UsesView "" @742 - stereotype TRUE - line_color 3342489 - quidu "4104E7A502E3" - client @741 - supplier @717 - line_style 0) - (object ClassView "Class" "Logical View::RBnepFilterMultiAddrSetRequestControl" @743 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1116, 1575) - label (object ItemLabel - Parent_View @743 - location (736, 1529) - fill_color 13434879 - nlines 1 - max_width 760 - justify 0 - label "RBnepFilterMultiAddrSetRequestControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68B20014F" - width 778 - height 117 - autoResize TRUE) - (object UsesView "" @744 - stereotype TRUE - line_color 3342489 - quidu "4104E7A20177" - client @743 - supplier @717 - line_style 0) - (object ClassView "Class" "Logical View::RBnepFilterMultiAddrResponseControl" @745 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1101, 1443) - label (object ItemLabel - Parent_View @745 - location (738, 1397) - fill_color 13434879 - nlines 1 - max_width 726 - justify 0 - label "RBnepFilterMultiAddrResponseControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68B66004C" - width 744 - height 117 - autoResize TRUE) - (object UsesView "" @746 - stereotype TRUE - line_color 3342489 - quidu "4104E79F010E" - client @745 - supplier @717 - line_style 0) - (object ClassView "Class" "Logical View::RBnepNotUnderstoodResponseControl" @747 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1110, 1308) - label (object ItemLabel - Parent_View @747 - location (744, 1262) - fill_color 13434879 - nlines 1 - max_width 732 - justify 0 - label "RBnepNotUnderstoodResponseControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "410509070129" - width 750 - height 117 - autoResize TRUE) - (object UsesView "" @748 - stereotype TRUE - line_color 3342489 - quidu "4105092F0159" - client @747 - supplier @717 - line_style 0) - (object ClassView "Class" "Logical View::CNetTypeFilterTable" @749 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (327, 1377) - label (object ItemLabel - Parent_View @749 - location (130, 1331) - fill_color 13434879 - nlines 1 - max_width 394 - justify 0 - label "CNetTypeFilterTable") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "412478A20031" - width 412 - height 117 - autoResize TRUE) - (object UsesView "" @750 - stereotype TRUE - line_color 3342489 - quidu "412483C301E6" - client @749 - supplier @717 - line_style 0) - (object ClassView "Class" "Logical View::TBnepBTDevAddr" @751 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (363, 1515) - label (object ItemLabel - Parent_View @751 - location (186, 1469) - fill_color 13434879 - nlines 1 - max_width 354 - justify 0 - label "TBnepBTDevAddr") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4125EEA90192" - width 372 - height 117 - autoResize TRUE) - (object UsesView "" @752 - stereotype TRUE - line_color 3342489 - quidu "4125F9C20183" - client @751 - supplier @717 - line_style 0) - (object UsesView "" @753 - stereotype TRUE - line_color 3342489 - quidu "40C867E90133" - client @734 - supplier @717 - line_style 0) - (object UsesView "" @754 - stereotype TRUE - line_color 3342489 - quidu "40DAE9A60366" - client @723 - supplier @717 - line_style 0) - (object HasView "Log" @755 - label (object ItemLabel - Parent_View @755 - location (741, 810) - anchor_loc 1 - nlines 1 - max_width 80 - justify 0 - label "Log") - stereotype TRUE - line_color 3342489 - quidu "40C5B68C0063" - client @722 - supplier @717 - line_style 0) - (object UsesView "" @756 - stereotype TRUE - line_color 3342489 - quidu "40D2D6080224" - client @717 - supplier @722 - line_style 0) - (object UsesView "" @757 - stereotype TRUE - line_color 3342489 - quidu "40DAEA8103BB" - client @717 - supplier @723 - vertices (list Points - (776, 566) - (977, 919) - (1130, 1054)) - line_style 0))) - (object ClassDiagram "CBnepPktDrvFactory" - quid "41419B7103BF" - title "CBnepPktDrvFactory" - documentation "CBnepPktDrvFactory is the main point of access for Ethint.NIF and is the BNEP specialisation of a general packet driver factory for this framework. The static method NewDriverL() should hand back a pointer to an object derived from CPktDrvBase, which in this case is CBnepLocalDevice." - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::CBnepPktDrvFactory" @758 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (840, 672) - label (object ItemLabel - Parent_View @758 - location (630, 622) - fill_color 13434879 - nlines 1 - max_width 420 - justify 0 - label "CBnepPktDrvFactory") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C969BB025E" - width 438 - height 124 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::inc::CPktDrvFactory" @759 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (840, 126) - label (object ItemLabel - Parent_View @759 - location (683, 80) - fill_color 13434879 - nlines 1 - max_width 314 - justify 0 - label "CPktDrvFactory") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5BC6B02A9" - width 332 - height 117 - autoResize TRUE) - (object InheritView "" @760 - stereotype TRUE - line_color 3342489 - quidu "40C96A88014B" - client @758 - supplier @759 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Comms-infras::CNifMan" @761 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (270, 1242) - label (object ItemLabel - Parent_View @761 - location (179, 1196) - fill_color 13434879 - nlines 1 - max_width 182 - justify 0 - label "CNifMan") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C96DB6023B" - width 200 - height 117 - autoResize TRUE) - (object UsesView "" @762 - stereotype TRUE - line_color 3342489 - quidu "40C96E0E004D" - client @758 - supplier @761 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Epoc32::TVersion" @763 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (189, 1116) - label (object ItemLabel - Parent_View @763 - location (95, 1075) - fill_color 13434879 - nlines 1 - max_width 188 - justify 0 - label "TVersion") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C96F9C015E" - width 206 - height 107 - autoResize TRUE) - (object UsesView "" @764 - stereotype TRUE - line_color 3342489 - quidu "40C96FD90115" - client @758 - supplier @763 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Epoc32::CObject" @765 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (687, 1242) - label (object ItemLabel - Parent_View @765 - location (594, 1196) - fill_color 13434879 - nlines 1 - max_width 186 - justify 0 - label "CObject") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C9705600BB" - width 204 - height 117 - autoResize TRUE) - (object UsesView "" @766 - stereotype TRUE - line_color 3342489 - quidu "40C970A901BF" - client @758 - supplier @765 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Comms-infras::RMBufChain" @767 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1419, 1389) - label (object ItemLabel - Parent_View @767 - location (1284, 1343) - fill_color 13434879 - nlines 1 - max_width 270 - justify 0 - label "RMBufChain") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0613602A0" - width 288 - height 117 - autoResize TRUE) - (object UsesView "" @768 - stereotype TRUE - line_color 3342489 - quidu "40C970E50247" - client @758 - supplier @767 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Epoc32::CObjectCon" @769 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1086, 1242) - label (object ItemLabel - Parent_View @769 - location (960, 1196) - fill_color 13434879 - nlines 1 - max_width 252 - justify 0 - label "CObjectCon") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C974440144" - width 270 - height 117 - autoResize TRUE) - (object UsesView "" @770 - stereotype TRUE - line_color 3342489 - quidu "40C97465012D" - client @758 - supplier @769 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Epoc32::RLibrary" @771 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1485, 1242) - label (object ItemLabel - Parent_View @771 - location (1396, 1196) - fill_color 13434879 - nlines 1 - max_width 178 - justify 0 - label "RLibrary") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C9740200C7" - width 196 - height 117 - autoResize TRUE) - (object UsesView "" @772 - stereotype TRUE - line_color 3342489 - quidu "40C974680019" - client @758 - supplier @771 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::inc::CLANLinkFactory" @773 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (840, 1380) - label (object ItemLabel - Parent_View @773 - location (667, 1334) - fill_color 13434879 - nlines 1 - max_width 346 - justify 0 - label "CLANLinkFactory") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C47D4F0399" - width 364 - height 117 - autoResize TRUE) - (object UsesView "" @774 - stereotype TRUE - line_color 3342489 - quidu "40C9750D0107" - client @758 - supplier @773 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLog" @775 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (174, 987) - label (object ItemLabel - Parent_View @775 - location (58, 941) - fill_color 13434879 - nlines 1 - max_width 232 - justify 0 - label "CBnepLog") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B5A9014D" - width 250 - height 117 - autoResize TRUE) - (object UsesView "" @776 - stereotype TRUE - line_color 3342489 - quidu "40C9B1F7036A" - client @758 - supplier @775 - line_style 0) - (object ClassView "Class" "Logical View::TBnepTls" @777 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1503, 1041) - label (object ItemLabel - Parent_View @777 - location (1402, 995) - fill_color 13434879 - nlines 1 - max_width 202 - justify 0 - label "TBnepTls") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B5000031" - width 220 - height 117 - autoResize TRUE) - (object UsesView "" @778 - stereotype TRUE - line_color 3342489 - quidu "40C9B22A0241" - client @758 - supplier @777 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLocalDevice" @779 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (387, 1383) - label (object ItemLabel - Parent_View @779 - location (203, 1337) - fill_color 13434879 - nlines 1 - max_width 368 - justify 0 - label "CBnepLocalDevice") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049420180" - width 386 - height 117 - autoResize TRUE) - (object UsesView "" @780 - stereotype TRUE - line_color 3342489 - quidu "40C9B35A036B" - client @758 - supplier @779 - line_style 0))) - (object ClassDiagram "CBTAddrSubscriber" - quid "41419C0601ED" - title "CBTAddrSubscriber" - documentation -|CBTAddrSubscriber is an active observer of the local Bluetooth device address property which is published by the Bluetooth stack. BNEP depends on the Bluetooth stack being in place for its underlying transport. However, BNEP has no knowledge or control over when the stack is instantiated; it may already be in place or it may not be up during BNEP initialisation. By subscribing to the local address proprty via the kernel Publish & Subscribe interfaces, CBTAddrSubscriber is notified if the subscribed property changes (i.e. the property has been assigned a new value on the instantiation of the Bluetooth stack). If this happens, it is the responsibility of the object to notify the CBnepLocalDevice. -|The notification is a one-shot; that is, the property is only expected to change once during the lifetime of the BNEP. It is not likely to change again during the lifetime of the packet driver, and even if it did, neither BNEP or the upper layers of the ethernet stack have the facilities to deal with a later change. This means that once the notification has been posted, this object will become inactive. - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::CBTAddrSubscriber" @781 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (969, 759) - label (object ItemLabel - Parent_View @781 - location (775, 709) - fill_color 13434879 - nlines 1 - max_width 388 - justify 0 - label "CBTAddrSubscriber") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B9A6014B" - width 406 - height 124 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Epoc32::CActive" @782 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (969, 132) - label (object ItemLabel - Parent_View @782 - location (884, 86) - fill_color 13434879 - nlines 1 - max_width 170 - justify 0 - label "CActive") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0653F024B" - width 188 - height 117 - autoResize TRUE) - (object InheritView "" @783 - stereotype TRUE - line_color 3342489 - quidu "40CEC1CF00ED" - client @781 - supplier @782 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLocalDevice" @784 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (972, 1374) - label (object ItemLabel - Parent_View @784 - location (788, 1328) - fill_color 13434879 - nlines 1 - max_width 368 - justify 0 - label "CBnepLocalDevice") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049420180" - width 386 - height 117 - autoResize TRUE) - (object UsesView "" @785 - stereotype TRUE - line_color 3342489 - quidu "40CEC4DC0122" - client @781 - supplier @784 - line_style 0) - (object HasView "Subscriber" @786 - label (object ItemLabel - Parent_View @786 - location (970, 1068) - anchor_loc 1 - nlines 1 - max_width 194 - justify 0 - label "Subscriber") - stereotype TRUE - line_color 3342489 - quidu "40C6DDA601ED" - client @784 - supplier @781 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Epoc32::RProperty" @787 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1296, 1371) - label (object ItemLabel - Parent_View @787 - location (1191, 1325) - fill_color 13434879 - nlines 1 - max_width 210 - justify 0 - label "RProperty") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40CEC37300A1" - width 228 - height 117 - autoResize TRUE) - (object UsesView "" @788 - stereotype TRUE - line_color 3342489 - quidu "40CEC4FF000A" - client @781 - supplier @787 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTDevAddr" @789 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1566, 1371) - label (object ItemLabel - Parent_View @789 - location (1438, 1325) - fill_color 13434879 - nlines 1 - max_width 256 - justify 0 - label "TBTDevAddr") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C05A14029A" - width 274 - height 117 - autoResize TRUE) - (object UsesView "" @790 - stereotype TRUE - line_color 3342489 - quidu "40CEC50F036B" - client @781 - supplier @789 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Bluetooth::KPropertyUidBluetoothCategory" @791 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (450, 1374) - label (object ItemLabel - Parent_View @791 - location (140, 1328) - fill_color 13434879 - nlines 1 - max_width 620 - justify 0 - label "KPropertyUidBluetoothCategory") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40CEDA4800E2" - width 638 - height 117 - autoResize TRUE) - (object UsesView "" @792 - stereotype TRUE - line_color 3342489 - quidu "40CEDA7C008D" - client @781 - supplier @791 - line_style 0))) - (object ClassDiagram "CMultiAddrFilterTable" - quid "414E989902DE" - title "CMultiAddrFilterTable" - documentation -|CMultiAddrFilterTable is a representation of a list of filter specification ranges that permit the transmission of multicast packets through a particular link. The table is implemented as a fixed-length array of addresses, representing the start- and end-points of a limited set of ranges. -|The practical limit of the filter specifications permitted on any one link is determined by the constant KMaxMultiAddrFilters, which is currently set to an arbitrary value of 10. Theoretically the BNEP specification supports the allocation of up to 140 filter ranges for multicast address filtering. However, any link burdened with the task of checking every multicast packet against a set of 140 potentially non-overlapping address ranges to see if it can pass is likely to suffer from extreme performance degradation. -|Filter specifications are stored in ascending order of start value, using an insertion sort as they are put into the table. The advantage of using this inefficient insertion algorithm is that it speeds up the searching mechanism when FilteredOut() is called. If the start value of the next range to be tested is higher than the address under test, the rest of the table can automatically be discounted and the search terminated immediately. -|Both FilteredOut() and InsertL() are overloaded for TBTDevAddr and TBnepBTDevAddr. The latter is an internal representation that compresses the TBTDevAddr mulit-byte implementation of a 48-bit address down into TInt64 values. This speeds up the direct numeric comparisons that have to be made during searches and sorts. The TBTDevAddr versions of the aforementioned methods are merely conversion wrappers that call the TBnepBTDevAddr versions after conversion. - - zoom 95 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::CMultiAddrFilterTable" @793 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (750, 708) - label (object ItemLabel - Parent_View @793 - location (536, 659) - fill_color 13434879 - nlines 1 - max_width 428 - justify 0 - label "CMultiAddrFilterTable") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "412478830308" - width 446 - height 122 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Epoc32::CBase" @794 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (750, 126) - label (object ItemLabel - Parent_View @794 - location (669, 80) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "CBase") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C052FD00B0" - height 117 - autoResize TRUE) - (object InheritView "" @795 - stereotype TRUE - line_color 3342489 - quidu "4124A37B0355" - client @793 - supplier @794 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Epoc32::TUint" @796 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (174, 1182) - label (object ItemLabel - Parent_View @796 - location (93, 1136) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "TUint") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C6DAE70369" - height 117 - autoResize TRUE) - (object HasView "Ctr" @797 - label (object ItemLabel - Parent_View @797 - location (458, 946) - anchor_loc 1 - nlines 1 - max_width 60 - justify 0 - label "Ctr") - stereotype TRUE - line_color 3342489 - quidu "41247CF80218" - client @793 - supplier @796 - line_style 0) - (object ClassView "InstantiatedClass" "Logical View::( TFixedArray )" @798 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (750, 1785) - label (object ItemLabel - Parent_View @798 - location (118, 1739) - fill_color 13434879 - nlines 1 - max_width 1264 - justify 0 - label "( TFixedArray )") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "41247E2602D1" - width 1282 - height 117 - autoResize TRUE) - (object HasView "Table" @799 - label (object ItemLabel - Parent_View @799 - location (750, 1248) - anchor_loc 1 - nlines 1 - max_width 112 - justify 0 - label "Table") - stereotype TRUE - line_color 3342489 - quidu "41247E970070" - client @793 - supplier @798 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLink" @800 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (294, 126) - label (object ItemLabel - Parent_View @800 - location (176, 80) - fill_color 13434879 - nlines 1 - max_width 236 - justify 0 - label "CBnepLink") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0510D0175" - width 254 - height 117 - autoResize TRUE) - (object HasView "MultiAddrFilters" @801 - label (object ItemLabel - Parent_View @801 - location (520, 415) - anchor_loc 1 - nlines 1 - max_width 296 - justify 0 - label "MultiAddrFilters") - stereotype TRUE - line_color 3342489 - quidu "4124A191036E" - client @800 - supplier @793 - line_style 0) - (object ClassView "Class" "Logical View::TFilterMultiAddrResponse" @802 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1077, 1623) - label (object ItemLabel - Parent_View @802 - location (823, 1577) - fill_color 13434879 - nlines 1 - max_width 508 - justify 0 - label "TFilterMultiAddrResponse") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40FB8FD103B2" - width 526 - height 117 - autoResize TRUE) - (object UsesView "" @803 - stereotype TRUE - line_color 3342489 - quidu "41247F6F01D9" - client @793 - supplier @802 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTDevAddr" @804 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (174, 1362) - label (object ItemLabel - Parent_View @804 - location (41, 1316) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "TBTDevAddr") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C05A14029A" - width 284 - height 117 - autoResize TRUE) - (object UsesView "" @805 - stereotype TRUE - line_color 3342489 - quidu "412481050089" - client @793 - supplier @804 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLog" @806 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (315, 1608) - label (object ItemLabel - Parent_View @806 - location (201, 1562) - fill_color 13434879 - nlines 1 - max_width 228 - justify 0 - label "CBnepLog") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B5A9014D" - width 246 - height 117 - autoResize TRUE) - (object UsesView "" @807 - stereotype TRUE - line_color 3342489 - quidu "412483C6038F" - client @793 - supplier @806 - line_style 0) - (object ClassView "Class" "Logical View::TBnepBTDevAddr" @808 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1311, 1098) - label (object ItemLabel - Parent_View @808 - location (1130, 1052) - fill_color 13434879 - nlines 1 - max_width 362 - justify 0 - label "TBnepBTDevAddr") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4125EEA90192" - width 380 - height 117 - autoResize TRUE) - (object UsesView "" @809 - stereotype TRUE - line_color 3342489 - quidu "4125EFC2038A" - client @793 - supplier @808 - line_style 0) - (object ClassView "Class" "Logical View::CBnepChannelController" @810 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1242, 126) - label (object ItemLabel - Parent_View @810 - location (1000, 80) - fill_color 13434879 - nlines 1 - max_width 484 - justify 0 - label "CBnepChannelController") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0512A0181" - width 502 - height 117 - autoResize TRUE) - (object UsesView "" @811 - stereotype TRUE - line_color 3342489 - quidu "4124B5250357" - client @810 - supplier @793 - line_style 0))) - (object ClassDiagram "CNetTypeFilterTable" - quid "414EAD34029D" - title "CNetTypeFilterTable" - documentation -|CNetTypeFilterTable is a representation of a set of filter specifications relating to the network protocol types that are of interest to a particular link. The table is implemented as a fixed-length array of protocol types, representing the start- and end-points of a limited set of ranges. InsertL() allows the user to insert a range specification. Range specifications can be added up to the specified KMaxNetTypeFilters (currently set to 10). The method uses an insertion sort in a similar fashion to that used by CMultiAddrFilterTable::InsertL() so that similar search optimisations can be exploited. -|FilteredOut() will test the supplied protocol number to establish whether it should be filtered out or not. - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::CNetTypeFilterTable" @812 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (870, 702) - label (object ItemLabel - Parent_View @812 - location (279, 521) - fill_color 13434879 - nlines 1 - max_width 1182 - justify 0 - label "CNetTypeFilterTable") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "412478A20031" - width 1200 - height 386 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Epoc32::CBase" @813 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (723, 126) - label (object ItemLabel - Parent_View @813 - location (642, 80) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "CBase") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C052FD00B0" - height 117 - autoResize TRUE) - (object InheritView "" @814 - stereotype TRUE - line_color 3342489 - quidu "4124A37F0238" - client @812 - supplier @813 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Epoc32::TUint" @815 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1671, 1311) - label (object ItemLabel - Parent_View @815 - location (1590, 1265) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "TUint") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C6DAE70369" - height 117 - autoResize TRUE) - (object HasView "Ctr" @816 - label (object ItemLabel - Parent_View @816 - location (1359, 1073) - anchor_loc 1 - nlines 1 - max_width 60 - justify 0 - label "Ctr") - stereotype TRUE - line_color 3342489 - quidu "41247CF402BC" - client @812 - supplier @815 - line_style 0) - (object ClassView "InstantiatedClass" "Logical View::( TFixedArray )" @817 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (723, 1311) - label (object ItemLabel - Parent_View @817 - location (147, 1265) - fill_color 13434879 - nlines 1 - max_width 1152 - justify 0 - label "( TFixedArray )") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "41247DA900FA" - width 1170 - height 117 - autoResize TRUE) - (object HasView "Table" @818 - label (object ItemLabel - Parent_View @818 - location (779, 1073) - anchor_loc 1 - nlines 1 - max_width 112 - justify 0 - label "Table") - stereotype TRUE - line_color 3342489 - quidu "41247E9003E1" - client @812 - supplier @817 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLink" @819 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (228, 126) - label (object ItemLabel - Parent_View @819 - location (109, 80) - fill_color 13434879 - nlines 1 - max_width 238 - justify 0 - label "CBnepLink") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0510D0175" - width 256 - height 117 - autoResize TRUE) - (object HasView "NetTypeFilters" @820 - label (object ItemLabel - Parent_View @820 - location (473, 346) - anchor_loc 1 - nlines 1 - max_width 272 - justify 0 - label "NetTypeFilters") - stereotype TRUE - line_color 3342489 - quidu "4124A19800BC" - client @819 - supplier @812 - line_style 0) - (object ClassView "Class" "Logical View::TFilterNetTypeResponse" @821 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1956, 894) - label (object ItemLabel - Parent_View @821 - location (1718, 848) - fill_color 13434879 - nlines 1 - max_width 476 - justify 0 - label "TFilterNetTypeResponse") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40FB8EB8008D" - width 494 - height 117 - autoResize TRUE) - (object UsesView "" @822 - stereotype TRUE - line_color 3342489 - quidu "41247F6D0032" - client @812 - supplier @821 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLog" @823 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1863, 702) - label (object ItemLabel - Parent_View @823 - location (1747, 656) - fill_color 13434879 - nlines 1 - max_width 232 - justify 0 - label "CBnepLog") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B5A9014D" - width 250 - height 117 - autoResize TRUE) - (object UsesView "" @824 - stereotype TRUE - line_color 3342489 - quidu "412483C301E6" - client @812 - supplier @823 - line_style 0) - (object ClassView "Class" "Logical View::CBnepChannelController" @825 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1236, 126) - label (object ItemLabel - Parent_View @825 - location (997, 80) - fill_color 13434879 - nlines 1 - max_width 478 - justify 0 - label "CBnepChannelController") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0512A0181" - width 496 - height 117 - autoResize TRUE) - (object UsesView "" @826 - stereotype TRUE - line_color 3342489 - quidu "4124B5290227" - client @825 - supplier @812 - line_style 0))) - (object ClassDiagram "CSocketReader" - quid "414EAE7902D6" - title "CSocketReader" - documentation "CSocketReader is an active object tasked with monitoring the input side of the link socket. On receipt of some input from the Bluetooth stack, the RunL() is triggered, driving the logic associated with the link for parsing and acting on the messages it receives. For a Bluetooth-transported BNEP frame, this is where everything begins. Once a message has been ingested, the Read() method is called which triggers an asynchronous read request on the socket and activates the object ready for the next delivery. This sequence runs endlessly until the link is deleted." - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::CSocketReader" @827 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (837, 837) - label (object ItemLabel - Parent_View @827 - location (680, 787) - fill_color 13434879 - nlines 1 - max_width 314 - justify 0 - label "CSocketReader") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0652B0094" - width 332 - height 124 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Epoc32::CActive" @828 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (837, 126) - label (object ItemLabel - Parent_View @828 - location (752, 80) - fill_color 13434879 - nlines 1 - max_width 170 - justify 0 - label "CActive") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0653F024B" - width 188 - height 117 - autoResize TRUE) - (object InheritView "" @829 - stereotype TRUE - line_color 3342489 - quidu "40C6EBF101F9" - client @827 - supplier @828 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Comms-infras::RMBufChain" @830 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (837, 1578) - label (object ItemLabel - Parent_View @830 - location (702, 1532) - fill_color 13434879 - nlines 1 - max_width 270 - justify 0 - label "RMBufChain") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0613602A0" - width 288 - height 117 - autoResize TRUE) - (object HasView "RecvMsg" @831 - label (object ItemLabel - Parent_View @831 - location (837, 1209) - anchor_loc 1 - nlines 1 - max_width 175 - justify 0 - label "RecvMsg") - stereotype TRUE - line_color 3342489 - quidu "40F681F30061" - client @827 - supplier @830 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLink" @832 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (174, 126) - label (object ItemLabel - Parent_View @832 - location (55, 80) - fill_color 13434879 - nlines 1 - max_width 238 - justify 0 - label "CBnepLink") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0510D0175" - width 256 - height 117 - autoResize TRUE) - (object UsesView "" @833 - stereotype TRUE - line_color 3342489 - quidu "40C6EBEB0363" - client @827 - supplier @832 - line_style 0) - (object HasView "Reader" @834 - label (object ItemLabel - Parent_View @834 - location (503, 480) - anchor_loc 1 - nlines 1 - max_width 138 - justify 0 - label "Reader") - stereotype TRUE - line_color 3342489 - quidu "40C6E3B9038E" - client @832 - supplier @827 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Comms-infras::RInternalSocket" @835 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2052, 837) - label (object ItemLabel - Parent_View @835 - location (1891, 791) - fill_color 13434879 - nlines 1 - max_width 322 - justify 0 - label "RInternalSocket") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C46FE80331" - width 340 - height 117 - autoResize TRUE) - (object UsesView "" @836 - stereotype TRUE - line_color 3342489 - quidu "40C6EBE80065" - client @827 - supplier @835 - line_style 0))) - (object ClassDiagram "CSocketWriter" - quid "414EAF1103D9" - title "CSocketWriter" - documentation "CSocketWriter is the active object mirroring the output side of the link socket. All messages destined for Bluetooth transportation are passed through this object. This is much simpler than the reader in that the frame is just passed down to the socket and an asynchronous send is queued. Once the send is complete, the work is over until the next write is requested; the RunL() of this active object essentially does nothing in this implementation." - zoom 100 - max_height 28350 - max_width 21600 - origin_x 363 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::CSocketWriter" @837 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (999, 780) - label (object ItemLabel - Parent_View @837 - location (849, 730) - fill_color 13434879 - nlines 1 - max_width 300 - justify 0 - label "CSocketWriter") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0651F0155" - width 318 - height 124 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Epoc32::CActive" @838 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (798, 132) - label (object ItemLabel - Parent_View @838 - location (713, 86) - fill_color 13434879 - nlines 1 - max_width 170 - justify 0 - label "CActive") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0653F024B" - width 188 - height 117 - autoResize TRUE) - (object InheritView "" @839 - stereotype TRUE - line_color 3342489 - quidu "40C6E7280139" - client @837 - supplier @838 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLink" @840 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (324, 132) - label (object ItemLabel - Parent_View @840 - location (205, 86) - fill_color 13434879 - nlines 1 - max_width 238 - justify 0 - label "CBnepLink") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0510D0175" - width 256 - height 117 - autoResize TRUE) - (object UsesView "" @841 - stereotype TRUE - line_color 3342489 - quidu "40C6E9F20077" - client @837 - supplier @840 - line_style 0) - (object HasView "Writer" @842 - label (object ItemLabel - Parent_View @842 - location (659, 453) - anchor_loc 1 - nlines 1 - max_width 114 - justify 0 - label "Writer") - stereotype TRUE - line_color 3342489 - quidu "40C6E3BD0022" - client @840 - supplier @837 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Comms-infras::RInternalSocket" @843 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2283, 741) - label (object ItemLabel - Parent_View @843 - location (2122, 695) - fill_color 13434879 - nlines 1 - max_width 322 - justify 0 - label "RInternalSocket") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C46FE80331" - width 340 - height 117 - autoResize TRUE) - (object UsesView "" @844 - stereotype TRUE - line_color 3342489 - quidu "40C6E9A000CA" - client @837 - supplier @843 - line_style 0) - (object ClassView "ParameterizedClass" "Logical View::Undocument::Epoc32::TSglQue" @845 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (555, 1401) - label (object ItemLabel - Parent_View @845 - location (457, 1374) - fill_color 13434879 - nlines 1 - max_width 196 - justify 0 - label "TSglQue") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5935D0224" - width 214 - height 155 - autoResize TRUE) - (object ClassView "InstantiatedClass" "Logical View::( TSglQue < RBnepLinkChain > )" @846 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1332, 1626) - label (object ItemLabel - Parent_View @846 - location (1021, 1580) - fill_color 13434879 - nlines 1 - max_width 622 - justify 0 - label "( TSglQue < RBnepLinkChain > )") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "416CE2AE0279" - width 640 - height 117 - autoResize TRUE) - (object UsesView "" @847 - stereotype TRUE - line_color 3342489 - quidu "416CE406025F" - client @837 - supplier @845 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Comms-infras::RMBufPktQ" @848 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (777, 1692) - label (object ItemLabel - Parent_View @848 - location (654, 1646) - fill_color 13434879 - nlines 1 - max_width 246 - justify 0 - label "RMBufPktQ") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "416D41B40278" - width 264 - height 117 - autoResize TRUE) - (object HasView "Queue" @849 - label (object ItemLabel - Parent_View @849 - location (887, 1237) - anchor_loc 1 - nlines 1 - max_width 116 - justify 0 - label "Queue") - stereotype TRUE - line_color 3342489 - quidu "416CE34C03B6" - client @837 - supplier @848 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Epoc32::TUint8" @850 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1320, 1347) - label (object ItemLabel - Parent_View @850 - location (1239, 1301) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "TUint8") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C060DE031C" - height 117 - autoResize TRUE) - (object HasView "QueueSize" @851 - label (object ItemLabel - Parent_View @851 - location (1160, 1065) - anchor_loc 1 - nlines 1 - max_width 198 - justify 0 - label "QueueSize") - stereotype TRUE - line_color 3342489 - quidu "417016E103C8" - client @837 - supplier @850 - line_style 0) - (object ClassView "Class" "Logical View::BnepUtils" @852 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1647, 1413) - label (object ItemLabel - Parent_View @852 - location (1543, 1367) - fill_color 13434879 - nlines 1 - max_width 208 - justify 0 - label "BnepUtils") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B2D3013F" - width 226 - height 117 - autoResize TRUE) - (object UsesView "" @853 - stereotype TRUE - line_color 3342489 - quidu "417019B40396" - client @837 - supplier @852 - line_style 0))) - (object ClassDiagram "MBnepChannelControl" - quid "414EB09E039E" - title "MBnepChannelControl" - documentation "MBnepChannelControl provides the interface specification for part of the API used by the PAN Agent for driving CBnepChannelControllers when handling local and remote role requests for PAN Profile." - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::MBnepChannelControl" @854 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1386, 666) - label (object ItemLabel - Parent_View @854 - location (1165, 616) - fill_color 13434879 - nlines 1 - max_width 442 - justify 0 - label "MBnepChannelControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0513D0066" - width 460 - height 124 - autoResize TRUE) - (object ClassView "Class" "Logical View::CBnepChannelController" @855 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1386, 1311) - label (object ItemLabel - Parent_View @855 - location (1147, 1265) - fill_color 13434879 - nlines 1 - max_width 478 - justify 0 - label "CBnepChannelController") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0512A0181" - width 496 - height 117 - autoResize TRUE) - (object InheritView "" @856 - stereotype TRUE - line_color 3342489 - quidu "410DFECB0027" - client @855 - supplier @854 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Networking::TBluetoothPanRole" @857 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1938, 1500) - label (object ItemLabel - Parent_View @857 - location (1744, 1454) - fill_color 13434879 - nlines 1 - max_width 388 - justify 0 - label "TBluetoothPanRole") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C06019037D" - width 406 - height 117 - autoResize TRUE) - (object UsesView "" @858 - stereotype TRUE - line_color 3342489 - quidu "40C82B8E0350" - client @854 - supplier @857 - line_style 0) - (object ClassView "Class" "Logical View::TBnepSetupConnectionResponseMessage" @859 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2319, 1197) - label (object ItemLabel - Parent_View @859 - location (1919, 1151) - fill_color 13434879 - nlines 1 - max_width 800 - justify 0 - label "TBnepSetupConnectionResponseMessage") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C4789702BF" - width 818 - height 117 - autoResize TRUE) - (object UsesView "" @860 - stereotype TRUE - line_color 3342489 - quidu "40C82BCC01FB" - client @854 - supplier @859 - line_style 0) - (object ClassView "Class" "Logical View::MPanConnectionNotify" @861 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (609, 1311) - label (object ItemLabel - Parent_View @861 - location (385, 1265) - fill_color 13434879 - nlines 1 - max_width 448 - justify 0 - label "MPanConnectionNotify") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0607803DD" - width 466 - height 117 - autoResize TRUE) - (object UsesView "" @862 - stereotype TRUE - line_color 3342489 - quidu "40E3EC3002F2" - client @854 - supplier @861 - line_style 0) - (object ClassView "Class" "Logical View::CBnepBridge" @863 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (798, 132) - label (object ItemLabel - Parent_View @863 - location (665, 86) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "CBnepBridge") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049600007" - width 284 - height 117 - autoResize TRUE) - (object UsesView "" @864 - stereotype TRUE - line_color 3342489 - quidu "40C719C10290" - client @863 - supplier @854 - line_style 0) - (object ClassView "Class" "Logical View::MBnepConnectionManager" @865 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1386, 132) - label (object ItemLabel - Parent_View @865 - location (1124, 86) - fill_color 13434879 - nlines 1 - max_width 524 - justify 0 - label "MBnepConnectionManager") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049870017" - width 542 - height 117 - autoResize TRUE) - (object UsesView "" @866 - stereotype TRUE - line_color 3342489 - quidu "40C82B100010" - client @865 - supplier @854 - line_style 0))) - (object ClassDiagram "MBnepConnectionManager" - quid "414EB8C100E6" - title "MBnepConnectionManager" - documentation -|MBnepConnectionManager is a mixin that provides the interface specification for PAN Agent to request the establishment of a new BNEP connection. There is no direct implementation class that represents a BNEP connection manager, since there is also the concept of a PAN Device Owner, codified in the mixin MPanDeviceOwner. MPanDeviceOwner derives from MBnepConnectionManager which suggests that between them, the two classes represent the responsibilities associated with the "bridge", which ultimately descends from both. - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::MBnepConnectionManager" @867 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1293, 609) - label (object ItemLabel - Parent_View @867 - location (1031, 559) - fill_color 13434879 - nlines 1 - max_width 524 - justify 0 - label "MBnepConnectionManager") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049870017" - width 542 - height 124 - annotation 8 - autoResize TRUE) - (object ClassView "Class" "Logical View::MPanDeviceOwner" @868 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1500, 1083) - label (object ItemLabel - Parent_View @868 - location (1309, 1037) - fill_color 13434879 - nlines 1 - max_width 382 - justify 0 - label "MPanDeviceOwner") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0497600BD" - width 400 - height 117 - annotation 8 - autoResize TRUE) - (object InheritView "" @869 - stereotype TRUE - line_color 3342489 - quidu "4108F88201BC" - client @868 - supplier @867 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Comms-infras::RInternalSocket" @870 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2034, 1083) - label (object ItemLabel - Parent_View @870 - location (1873, 1037) - fill_color 13434879 - nlines 1 - max_width 322 - justify 0 - label "RInternalSocket") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C46FE80331" - width 340 - height 117 - annotation 8 - autoResize TRUE) - (object UsesView "" @871 - stereotype TRUE - line_color 3342489 - quidu "40C82B010159" - client @867 - supplier @870 - line_style 0) - (object ClassView "Class" "Logical View::MBnepChannelControl" @872 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (303, 1083) - label (object ItemLabel - Parent_View @872 - location (82, 1037) - fill_color 13434879 - nlines 1 - max_width 442 - justify 0 - label "MBnepChannelControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0513D0066" - width 460 - height 117 - annotation 8 - autoResize TRUE) - (object UsesView "" @873 - stereotype TRUE - line_color 3342489 - quidu "40C82B100010" - client @867 - supplier @872 - line_style 0) - (object ClassView "Class" "Logical View::MPanConnectionNotify" @874 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (912, 1083) - label (object ItemLabel - Parent_View @874 - location (688, 1037) - fill_color 13434879 - nlines 1 - max_width 448 - justify 0 - label "MPanConnectionNotify") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0607803DD" - width 466 - height 117 - annotation 8 - autoResize TRUE) - (object UsesView "" @875 - stereotype TRUE - line_color 3342489 - quidu "40C82CDF02BF" - client @867 - supplier @874 - line_style 0) - (object ClassView "Class" "Logical View::TBnepConnectionManager" @876 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1293, 132) - label (object ItemLabel - Parent_View @876 - location (1036, 86) - fill_color 13434879 - nlines 1 - max_width 514 - justify 0 - label "TBnepConnectionManager") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C47D9300BB" - width 532 - height 117 - annotation 8 - autoResize TRUE) - (object UsesView "" @877 - stereotype TRUE - line_color 3342489 - quidu "40C82E1002DB" - client @876 - supplier @867 - line_style 0))) - (object ClassDiagram "MLinkManager" - quid "414EB91D03E1" - title "MLinkManager" - documentation "MLinkManager is a mixin that establishes the interface used by a BNEP Link to call into its Channel Controller. " - zoom 100 - max_height 28350 - max_width 21600 - origin_x 338 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::MLinkManager" @878 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (609, 609) - label (object ItemLabel - Parent_View @878 - location (456, 559) - fill_color 13434879 - nlines 1 - max_width 306 - justify 0 - label "MLinkManager") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C050FF0107" - width 324 - height 124 - autoResize TRUE) - (object ClassView "Class" "Logical View::CBnepChannelController" @879 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (609, 1140) - label (object ItemLabel - Parent_View @879 - location (370, 1094) - fill_color 13434879 - nlines 1 - max_width 478 - justify 0 - label "CBnepChannelController") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0512A0181" - width 496 - height 117 - autoResize TRUE) - (object InheritView "" @880 - stereotype TRUE - line_color 3342489 - quidu "410DFECE01D0" - client @879 - supplier @878 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Epoc32::TBool" @881 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (174, 1140) - label (object ItemLabel - Parent_View @881 - location (93, 1094) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "TBool") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C060B001DF" - height 117 - autoResize TRUE) - (object HasView "AwaitingResponse" @882 - label (object ItemLabel - Parent_View @882 - location (389, 875) - anchor_loc 1 - nlines 1 - max_width 332 - justify 0 - label "AwaitingResponse") - stereotype TRUE - line_color 3342489 - quidu "413C39C80397" - client @878 - supplier @881 - line_style 0) - (object ClassView "Class" "Logical View::RBnepControl" @883 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1521, 780) - label (object ItemLabel - Parent_View @883 - location (1377, 734) - fill_color 13434879 - nlines 1 - max_width 288 - justify 0 - label "RBnepControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C04FCB02D0" - width 306 - height 117 - autoResize TRUE) - (object UsesView "" @884 - stereotype TRUE - line_color 3342489 - quidu "40C8339A0212" - client @878 - supplier @883 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Epoc32::TInt" @885 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1482, 495) - label (object ItemLabel - Parent_View @885 - location (1401, 449) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "TInt") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C059E301D2" - height 117 - autoResize TRUE) - (object UsesView "" @886 - stereotype TRUE - line_color 3342489 - quidu "40C833A4013A" - client @878 - supplier @885 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLog" @887 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1521, 627) - label (object ItemLabel - Parent_View @887 - location (1405, 581) - fill_color 13434879 - nlines 1 - max_width 232 - justify 0 - label "CBnepLog") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B5A9014D" - width 250 - height 117 - autoResize TRUE) - (object UsesView "" @888 - stereotype TRUE - line_color 3342489 - quidu "40E4193D038C" - client @878 - supplier @887 - line_style 0) - (object ClassView "Class" "Logical View::RBnepFrame" @889 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (381, 126) - label (object ItemLabel - Parent_View @889 - location (248, 80) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "RBnepFrame") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049510377" - width 284 - height 117 - autoResize TRUE) - (object UsesView "" @890 - stereotype TRUE - line_color 3342489 - quidu "40C716FE010D" - client @889 - supplier @878 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLink" @891 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (837, 126) - label (object ItemLabel - Parent_View @891 - location (718, 80) - fill_color 13434879 - nlines 1 - max_width 238 - justify 0 - label "CBnepLink") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0510D0175" - width 256 - height 117 - autoResize TRUE) - (object UsesView "" @892 - stereotype TRUE - line_color 3342489 - quidu "40C83346022F" - client @891 - supplier @878 - line_style 0))) - (object ClassDiagram "MPanConnectionNotify" - quid "414EB9C40265" - title "MPanConnectionNotify" - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::MPanConnectionNotify" @893 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1215, 666) - label (object ItemLabel - Parent_View @893 - location (991, 616) - fill_color 13434879 - nlines 1 - max_width 448 - justify 0 - label "MPanConnectionNotify") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0607803DD" - width 466 - height 124 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Bluetooth::TUUID" @894 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (210, 1197) - label (object ItemLabel - Parent_View @894 - location (129, 1151) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "TUUID") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C05FB10297" - height 117 - autoResize TRUE) - (object UsesView "" @895 - stereotype TRUE - line_color 3342489 - quidu "40C82C530340" - client @893 - supplier @894 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Epoc32::TBool" @896 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (588, 1197) - label (object ItemLabel - Parent_View @896 - location (507, 1151) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "TBool") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C060B001DF" - height 117 - autoResize TRUE) - (object UsesView "" @897 - stereotype TRUE - line_color 3342489 - quidu "40C82C560055" - client @893 - supplier @896 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Epoc32::TInt" @898 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (969, 1197) - label (object ItemLabel - Parent_View @898 - location (888, 1151) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "TInt") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C059E301D2" - height 117 - autoResize TRUE) - (object UsesView "" @899 - stereotype TRUE - line_color 3342489 - quidu "40C82C58027E" - client @893 - supplier @898 - line_style 0) - (object ClassView "Class" "Logical View::TBnepSetupConnectionResponseMessage" @900 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1653, 1197) - label (object ItemLabel - Parent_View @900 - location (1253, 1151) - fill_color 13434879 - nlines 1 - max_width 800 - justify 0 - label "TBnepSetupConnectionResponseMessage") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C4789702BF" - width 818 - height 117 - autoResize TRUE) - (object UsesView "" @901 - stereotype TRUE - line_color 3342489 - quidu "40C82C5B00A2" - client @893 - supplier @900 - line_style 0) - (object ClassView "Class" "Logical View::CBnepBridge" @902 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (228, 132) - label (object ItemLabel - Parent_View @902 - location (95, 86) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "CBnepBridge") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049600007" - width 284 - height 117 - autoResize TRUE) - (object UsesView "" @903 - stereotype TRUE - line_color 3342489 - quidu "40C71A440072" - client @902 - supplier @893 - line_style 0) - (object ClassView "Class" "Logical View::MBnepConnectionManager" @904 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (798, 132) - label (object ItemLabel - Parent_View @904 - location (536, 86) - fill_color 13434879 - nlines 1 - max_width 524 - justify 0 - label "MBnepConnectionManager") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049870017" - width 542 - height 117 - autoResize TRUE) - (object UsesView "" @905 - stereotype TRUE - line_color 3342489 - quidu "40C82CDF02BF" - client @904 - supplier @893 - line_style 0) - (object ClassView "Class" "Logical View::CBnepChannelController" @906 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1464, 132) - label (object ItemLabel - Parent_View @906 - location (1225, 86) - fill_color 13434879 - nlines 1 - max_width 478 - justify 0 - label "CBnepChannelController") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0512A0181" - width 496 - height 117 - autoResize TRUE) - (object UsesView "" @907 - stereotype TRUE - line_color 3342489 - quidu "40C57A5D03B2" - client @906 - supplier @893 - line_style 0) - (object ClassView "Class" "Logical View::MBnepChannelControl" @908 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2091, 132) - label (object ItemLabel - Parent_View @908 - location (1870, 86) - fill_color 13434879 - nlines 1 - max_width 442 - justify 0 - label "MBnepChannelControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0513D0066" - width 460 - height 117 - autoResize TRUE) - (object UsesView "" @909 - stereotype TRUE - line_color 3342489 - quidu "40E3EC3002F2" - client @908 - supplier @893 - line_style 0))) - (object ClassDiagram "MPanDevice" - quid "414EBA240303" - title "MPanDevice" - documentation -|MPanDevice represents the abstraction of a device that can process BNEP frames as output and be "owned" by any object derived from MPanDeviceOwner. There is a potential analysis error in MPanDevice in that it seems to contain a reference to an object of type MPanDeviceOwner. This logically curious, since objects that are owned do not usually hold references to the objects that own (or contain) them. This has implementation consequences when CBnepLocalDevice is destroyed such that allowance has to be made for the pointer offset. But then, CBnepLocalDevice is attempting to delet the object in which it is contained, which is a piece of logic that probably needs to be re-examined. - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::MPanDevice" @910 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (723, 723) - label (object ItemLabel - Parent_View @910 - location (594, 673) - fill_color 13434879 - nlines 1 - max_width 258 - justify 0 - label "MPanDevice") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049CB02DC" - width 276 - height 124 - autoResize TRUE) - (object ClassView "Class" "Logical View::CBnepLocalDevice" @911 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (723, 1425) - label (object ItemLabel - Parent_View @911 - location (539, 1379) - fill_color 13434879 - nlines 1 - max_width 368 - justify 0 - label "CBnepLocalDevice") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049420180" - width 386 - height 117 - autoResize TRUE) - (object InheritView "" @912 - stereotype TRUE - line_color 3342489 - quidu "4107BDB201EF" - client @911 - supplier @910 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLink" @913 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (342, 1425) - label (object ItemLabel - Parent_View @913 - location (223, 1379) - fill_color 13434879 - nlines 1 - max_width 238 - justify 0 - label "CBnepLink") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0510D0175" - width 256 - height 117 - autoResize TRUE) - (object InheritView "" @914 - stereotype TRUE - line_color 3342489 - quidu "40C6E14801CD" - client @913 - supplier @910 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTDevAddr" @915 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1482, 1311) - label (object ItemLabel - Parent_View @915 - location (1354, 1265) - fill_color 13434879 - nlines 1 - max_width 256 - justify 0 - label "TBTDevAddr") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C05A14029A" - width 274 - height 117 - autoResize TRUE) - (object HasView "Addr" @916 - label (object ItemLabel - Parent_View @916 - location (1105, 1018) - anchor_loc 1 - nlines 1 - max_width 85 - justify 0 - label "Addr") - stereotype TRUE - line_color 3342489 - quidu "40C97975027B" - client @910 - supplier @915 - line_style 0) - (object ClassView "Class" "Logical View::MPanDeviceOwner" @917 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1728, 1044) - label (object ItemLabel - Parent_View @917 - location (1537, 998) - fill_color 13434879 - nlines 1 - max_width 382 - justify 0 - label "MPanDeviceOwner") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0497600BD" - width 400 - height 117 - autoResize TRUE) - (object HasView "Owner" @918 - label (object ItemLabel - Parent_View @918 - location (1205, 876) - anchor_loc 1 - nlines 1 - max_width 118 - justify 0 - label "Owner") - stereotype TRUE - line_color 3342489 - quidu "40C979BC001B" - client @910 - supplier @917 - line_style 0) - (object ClassView "Class" "Logical View::RBnepFrame" @919 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1710, 723) - label (object ItemLabel - Parent_View @919 - location (1577, 677) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "RBnepFrame") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049510377" - width 284 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CBnepBridge" @920 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (723, 126) - label (object ItemLabel - Parent_View @920 - location (590, 80) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "CBnepBridge") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049600007" - width 284 - height 117 - autoResize TRUE) - (object UsesView "" @921 - stereotype TRUE - line_color 3342489 - quidu "4108F9FD02A7" - client @920 - supplier @910 - line_style 0) - (object UsesView "" @922 - stereotype TRUE - line_color 3342489 - quidu "40C717DD02DA" - client @910 - supplier @919 - line_style 0) - (object UsesView "" @923 - stereotype TRUE - line_color 3342489 - quidu "40FD30130135" - client @910 - supplier @919 - line_style 0) - (object UsesView "" @924 - stereotype TRUE - line_color 3342489 - quidu "40C7173D00DC" - client @917 - supplier @910 - line_style 0))) - (object ClassDiagram "MPanDeviceOwner" - quid "414EBB28023F" - title "MPanDeviceOwner" - documentation -|MPanDeviceOwner is an interface wrapper for objects which appear to "own" MPanDevice objects. However, in the implementation, it is found that MPanDevices hold a reference to their "owner", which is sometimes used to delete upwards. Similarly, it is also found that CBnepBridge, the MPanDeviceOwner, does not "own" the CBnepLinks (MPanDevices) that it contains, such that it can never delete them. - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Logical View::MPanDeviceOwner" @925 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (855, 684) - label (object ItemLabel - Parent_View @925 - location (664, 634) - fill_color 13434879 - nlines 1 - max_width 382 - justify 0 - label "MPanDeviceOwner") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0497600BD" - width 400 - height 124 - autoResize TRUE) - (object ClassView "Class" "Logical View::MBnepConnectionManager" @926 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (855, 132) - label (object ItemLabel - Parent_View @926 - location (593, 86) - fill_color 13434879 - nlines 1 - max_width 524 - justify 0 - label "MBnepConnectionManager") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049870017" - width 542 - height 117 - autoResize TRUE) - (object InheritView "" @927 - stereotype TRUE - line_color 3342489 - quidu "4108F88201BC" - client @925 - supplier @926 - line_style 0) - (object ClassView "Class" "Logical View::CBnepBridge" @928 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (228, 1236) - label (object ItemLabel - Parent_View @928 - location (95, 1190) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "CBnepBridge") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049600007" - width 284 - height 117 - autoResize TRUE) - (object InheritView "" @929 - stereotype TRUE - line_color 3342489 - quidu "40C05A93018F" - client @928 - supplier @925 - line_style 0) - (object ClassView "Class" "Logical View::MPanDevice" @930 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (684, 1236) - label (object ItemLabel - Parent_View @930 - location (555, 1190) - fill_color 13434879 - nlines 1 - max_width 258 - justify 0 - label "MPanDevice") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049CB02DC" - width 276 - height 117 - autoResize TRUE) - (object UsesView "" @931 - stereotype TRUE - line_color 3342489 - quidu "40C7173D00DC" - client @925 - supplier @930 - line_style 0) - (object ClassView "Class" "Logical View::RBnepFrame" @932 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1140, 1236) - label (object ItemLabel - Parent_View @932 - location (1007, 1190) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "RBnepFrame") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049510377" - width 284 - height 117 - autoResize TRUE) - (object UsesView "" @933 - stereotype TRUE - line_color 3342489 - quidu "40C715E5023F" - client @925 - supplier @932 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTDevAddr" @934 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1578, 1236) - label (object ItemLabel - Parent_View @934 - location (1450, 1190) - fill_color 13434879 - nlines 1 - max_width 256 - justify 0 - label "TBTDevAddr") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C05A14029A" - width 274 - height 117 - autoResize TRUE) - (object UsesView "" @935 - stereotype TRUE - line_color 3342489 - quidu "40C717650061" - client @925 - supplier @934 - line_style 0) - (object HasView "Owner" @936 - label (object ItemLabel - Parent_View @936 - location (767, 962) - anchor_loc 1 - nlines 1 - max_width 118 - justify 0 - label "Owner") - stereotype TRUE - line_color 3342489 - quidu "40C979BC001B" - client @930 - supplier @925 - line_style 0))) - (object ClassDiagram "RBnepControl and derivations" - quid "414EBBAD0326" - title "RBnepControl and derivations" - documentation -|RBnepControl is the parent of a set of derived classes representing either BNEP control messages or their responses. Each of these controls is the physical implementation of the message it purports to represent. This means the user must be very careful to make sure that each of these controls have RMBufChain::Free() called at the appropriate times to ensure that MBufManager memory leaks don't occur. -|Note also that RBnepControl has a TSglQueLink member, which allows these objects to be held in TSglQues, as they are routinely in RBnepFrame. -| -|Whenever BNEP receives a control that it cannot interpret, a RBnepNotUnderstoodResponseControl is generated. This contains the faulty control code that caused the response to be generated. BNEP currently has no logic to deal with the arrival of this control response from another BNEP. -| -|RBnepSetConnectionRequestControl can be instantiated in two places. The first is on the input side, on receipt of such a request across a Bluetooth connection, and the other is on the output side when BNEP has been instructed to request a connection from the remote end. -| -|RBnepSetupConnectionResponseControls are instantiated on the input side if the BNEP has previously requested a connection be set up on a remote device, or on the output side when responding to a remote request to set up a connection. -| -|RBnepFilterNetTypeSetRequestControl and RBnepFilterMultiAddrSetRequestControl objects should only appear on the input side, as part of the parsing mechanism, when received from a remote link. This version of BNEP does not emit filter requests, as the mechanisms do not exist in the upper layers of the comms stack to enable this functionality to be used. Therefore the current version of BNEP cannot specify filtering on any link. However, it can honour and respond to filtering requests from other BNEP implementations. Currently, therefore, the setting methods on both of these types of objects are not implemented, since they are not required yet. -| -|RBnepFilterNetTypeResponseControl and RBnepFilterMultiAddrResponseControl objects only appear on the output side, as responses to remote filter requests. Again, the limitations on filter requesting, in this version of BNEP, mean that this BNEP should not expect to receive responses to control requests it cannot emit. The accessor methods on these controls are implemented but not used or tested. - - zoom 95 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 1711 - items (list diagram_item_list - (object ClassView "Class" "Logical View::RBnepControl" @937 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2622, 1017) - label (object ItemLabel - Parent_View @937 - location (2316, 914) - fill_color 13434879 - nlines 1 - max_width 612 - justify 0 - label "RBnepControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C04FCB02D0" - width 630 - height 230 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Comms-infras::RMBufChain" @938 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2622, 144) - label (object ItemLabel - Parent_View @938 - location (2489, 99) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "RMBufChain") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0613602A0" - width 284 - height 114 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepSetupConnectionRequestControl" @939 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (840, 492) - label (object ItemLabel - Parent_View @939 - location (262, 315) - fill_color 13434879 - nlines 1 - max_width 1156 - justify 0 - label "RBnepSetupConnectionRequestControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C04FE6035B" - width 1174 - height 378 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepSetupConnectionResponseControl" @940 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1269, 1443) - label (object ItemLabel - Parent_View @940 - location (395, 1315) - fill_color 13434879 - nlines 1 - max_width 1748 - justify 0 - label "RBnepSetupConnectionResponseControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C050B10245" - width 1766 - height 280 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepFilterNetTypeSetRequestControl" @941 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1389, 1776) - label (object ItemLabel - Parent_View @941 - location (431, 1623) - fill_color 13434879 - nlines 1 - max_width 1916 - justify 0 - label "RBnepFilterNetTypeSetRequestControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68AE302E2" - width 1934 - height 330 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepFilterNetTypeResponseControl" @942 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (903, 834) - label (object ItemLabel - Parent_View @942 - location (280, 731) - fill_color 13434879 - nlines 1 - max_width 1246 - justify 0 - label "RBnepFilterNetTypeResponseControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68B03028E" - width 1264 - height 230 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepFilterMultiAddrSetRequestControl" @943 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1548, 2133) - label (object ItemLabel - Parent_View @943 - location (482, 1981) - fill_color 13434879 - nlines 1 - max_width 2132 - justify 0 - label "RBnepFilterMultiAddrSetRequestControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68B20014F" - width 2150 - height 328 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepFilterMultiAddrResponseControl" @944 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (927, 1131) - label (object ItemLabel - Parent_View @944 - location (288, 1028) - fill_color 13434879 - nlines 1 - max_width 1278 - justify 0 - label "RBnepFilterMultiAddrResponseControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68B66004C" - width 1296 - height 230 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepNotUnderstoodResponseControl" @945 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (840, 150) - label (object ItemLabel - Parent_View @945 - location (260, 47) - fill_color 13434879 - nlines 1 - max_width 1160 - justify 0 - label "RBnepNotUnderstoodResponseControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "410509070129" - width 1178 - height 230 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Epoc32::TSglQueLink" @946 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2625, 1806) - label (object ItemLabel - Parent_View @946 - location (2493, 1761) - fill_color 13434879 - nlines 1 - max_width 264 - justify 0 - label "TSglQueLink") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C583FB031C" - width 282 - height 114 - autoResize TRUE) - (object ClassView "Class" "Logical View::TBnepControlType" @947 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2148, 1296) - label (object ItemLabel - Parent_View @947 - location (1960, 1251) - fill_color 13434879 - nlines 1 - max_width 376 - justify 0 - label "TBnepControlType") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C06127015E" - width 394 - height 114 - autoResize TRUE) - (object UsesView "" @948 - stereotype TRUE - line_color 3342489 - quidu "40C716640256" - client @937 - supplier @947 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLog" @949 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2811, 1446) - label (object ItemLabel - Parent_View @949 - location (2702, 1401) - fill_color 13434879 - nlines 1 - max_width 218 - justify 0 - label "CBnepLog") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B5A9014D" - width 236 - height 114 - autoResize TRUE) - (object UsesView "" @950 - stereotype TRUE - line_color 3342489 - quidu "40C867860361" - client @937 - supplier @949 - line_style 0) - (object ClassView "Class" "Logical View::RBnepFrame" @951 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1713, 204) - label (object ItemLabel - Parent_View @951 - location (1576, 159) - fill_color 13434879 - nlines 1 - max_width 274 - justify 0 - label "RBnepFrame") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049510377" - width 292 - height 114 - autoResize TRUE) - (object UsesView "" @952 - stereotype TRUE - line_color 3342489 - quidu "40C7163303D2" - client @951 - supplier @937 - line_style 0) - (object ClassView "Class" "Logical View::MLinkManager" @953 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2052, 201) - label (object ItemLabel - Parent_View @953 - location (1901, 156) - fill_color 13434879 - nlines 1 - max_width 302 - justify 0 - label "MLinkManager") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C050FF0107" - width 320 - height 114 - autoResize TRUE) - (object UsesView "" @954 - stereotype TRUE - line_color 3342489 - quidu "40C8339A0212" - client @953 - supplier @937 - line_style 0) - (object InheritView "" @955 - stereotype TRUE - line_color 3342489 - quidu "41701E87003E" - client @937 - supplier @938 - line_style 0) - (object HasView "Link" @956 - label (object ItemLabel - Parent_View @956 - location (2623, 1440) - anchor_loc 1 - nlines 1 - max_width 79 - justify 0 - label "Link") - stereotype TRUE - line_color 3342489 - quidu "40C584E10254" - client @937 - supplier @946 - line_style 0) - (object InheritView "" @957 - stereotype TRUE - line_color 3342489 - quidu "414EBD1702D7" - client @940 - supplier @937 - line_style 0) - (object InheritView "" @958 - stereotype TRUE - line_color 3342489 - quidu "40F68D5900AD" - client @943 - supplier @937 - line_style 0) - (object InheritView "" @959 - stereotype TRUE - line_color 3342489 - quidu "40F68D690273" - client @941 - supplier @937 - line_style 0) - (object InheritView "" @960 - stereotype TRUE - line_color 3342489 - quidu "4105092401DF" - client @945 - supplier @937 - line_style 0) - (object InheritView "" @961 - stereotype TRUE - line_color 3342489 - quidu "40C4440D0034" - client @939 - supplier @937 - line_style 0) - (object InheritView "" @962 - stereotype TRUE - line_color 3342489 - quidu "40F68D560243" - client @942 - supplier @937 - line_style 0) - (object InheritView "" @963 - stereotype TRUE - line_color 3342489 - quidu "40F68D6601E2" - client @944 - supplier @937 - line_style 0))) - (object ClassDiagram "RBnepFrame" - quid "414EBDA00139" - title "RBnepFrame" - documentation -|RBnepFrame is probably misnamed as it acts more as a BNEP interpretive factory or message processing engine. The nature of RBnepFrame's piecemeal evolution means that it has encapsulated more responsibilities than is usually healthy for any particular object. It is a prime candidate for refactoring, since it's role is too broadly defined and it sits at the centre of BNEP directing the flow of both input and output. -|Each CBnepLink contains 2 RBnepFrames - iComing and iGoing. As their names suggest, each has specific role responsibilities with regards to the direction in which information is flowing. -|At the heart of RBnepFrame is the command queue; a TSglQue of RBnepControl objects. The parse and extract methods on RBnepFrame will populate the command queue with whatever they find in the BNEP frame in terms of controls and extensions. The results of executing these controls in teh channel controller are likely to be response controls which are similarly collected in the command queue (of a different RBnepFrame instance, in practice). These are then used, in conjunction with any payload, to construct packets for output via the RBnepFrame's build methods. -|When BNEP evolves to emit the full set of controls and handle the responses, the command queue mechanism will still be able to serve, in both directions. -|It is important to note that all instances of RBnepFrame must be routinely reset when appropriate. Failure to reset at the correct times will cause memory leaks because of the ubiquitous use of RMBufChain as both a parent to RBnepControl and as the specific storage medium for the data payload. It is important to ensure, particularly during leaving methods, that any unused portions of RMBufChains are freed before the leave takes place. - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 1694 - items (list diagram_item_list - (object ClassView "Class" "Logical View::RBnepFrame" @964 - ShowCompartmentStereotypes TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1629, 1254) - label (object ItemLabel - Parent_View @964 - location (1491, 565) - fill_color 13434879 - nlines 1 - max_width 276 - justify 0 - label "RBnepFrame") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049510377" - width 294 - height 1402 - autoResize TRUE) - (object ClassView "InstantiatedClass" "Logical View::( TSglQue < RBnepControl > )" @965 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (318, 2409) - label (object ItemLabel - Parent_View @965 - location (18, 2363) - fill_color 13434879 - nlines 1 - max_width 600 - justify 0 - label "( TSglQue < RBnepControl > )") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C594270261" - width 618 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTDevAddr" @966 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2094, 2415) - label (object ItemLabel - Parent_View @966 - location (1966, 2369) - fill_color 13434879 - nlines 1 - max_width 256 - justify 0 - label "TBTDevAddr") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C05A14029A" - width 274 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Epoc32::TUint16" @967 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (822, 2430) - label (object ItemLabel - Parent_View @967 - location (730, 2384) - fill_color 13434879 - nlines 1 - max_width 184 - justify 0 - label "TUint16") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C060EE00D0" - width 202 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Epoc32::TUint8" @968 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1197, 2430) - label (object ItemLabel - Parent_View @968 - location (1116, 2384) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "TUint8") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C060DE031C" - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::Undocument::Comms-infras::RMBufChain" @969 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1617, 2430) - label (object ItemLabel - Parent_View @969 - location (1482, 2384) - fill_color 13434879 - nlines 1 - max_width 270 - justify 0 - label "RMBufChain") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0613602A0" - width 288 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::CBnepLink" @970 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (1626, 126) - label (object ItemLabel - Parent_View @970 - location (1507, 80) - fill_color 13434879 - nlines 1 - max_width 238 - justify 0 - label "CBnepLink") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0510D0175" - width 256 - height 117 - autoResize TRUE) - (object ClassView "Class" "Logical View::RBnepControl" @971 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (3444, 1881) - label (object ItemLabel - Parent_View @971 - location (3300, 1835) - fill_color 13434879 - nlines 1 - max_width 288 - justify 0 - label "RBnepControl") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C04FCB02D0" - width 306 - height 117 - autoResize TRUE) - (object UsesView "" @972 - stereotype TRUE - line_color 3342489 - quidu "40C7163303D2" - client @964 - supplier @971 - line_style 0) - (object ClassView "Class" "Logical View::MLinkManager" @973 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (3450, 1719) - label (object ItemLabel - Parent_View @973 - location (3297, 1673) - fill_color 13434879 - nlines 1 - max_width 306 - justify 0 - label "MLinkManager") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C050FF0107" - width 324 - height 117 - autoResize TRUE) - (object UsesView "" @974 - stereotype TRUE - line_color 3342489 - quidu "40C716FE010D" - client @964 - supplier @973 - line_style 0) - (object ClassView "Class" "Logical View::CBnepLog" @975 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (3450, 1566) - label (object ItemLabel - Parent_View @975 - location (3334, 1520) - fill_color 13434879 - nlines 1 - max_width 232 - justify 0 - label "CBnepLog") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B5A9014D" - width 250 - height 117 - autoResize TRUE) - (object UsesView "" @976 - stereotype TRUE - line_color 3342489 - quidu "40C9BB240119" - client @964 - supplier @975 - line_style 0) - (object ClassView "ParameterizedClass" "Logical View::Undocument::Epoc32::TBuf8" @977 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (3420, 1092) - label (object ItemLabel - Parent_View @977 - location (3339, 1065) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "TBuf8") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C9BBF2029C" - height 155 - autoResize TRUE) - (object UsesView "" @978 - stereotype TRUE - line_color 3342489 - quidu "40C9BCB10391" - client @964 - supplier @977 - line_style 0) - (object ClassView "Class" "Logical View::BnepUtils" @979 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (3453, 1410) - label (object ItemLabel - Parent_View @979 - location (3349, 1364) - fill_color 13434879 - nlines 1 - max_width 208 - justify 0 - label "BnepUtils") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B2D3013F" - width 226 - height 117 - autoResize TRUE) - (object UsesView "" @980 - stereotype TRUE - line_color 3342489 - quidu "40CD9C1D014E" - client @964 - supplier @979 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Comms-infras::RMBufPacket" @981 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (3462, 1257) - label (object ItemLabel - Parent_View @981 - location (3319, 1211) - fill_color 13434879 - nlines 1 - max_width 286 - justify 0 - label "RMBufPacket") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0641D006E" - width 304 - height 117 - autoResize TRUE) - (object UsesView "" @982 - stereotype TRUE - line_color 3342489 - quidu "40CD9DBC02E3" - client @964 - supplier @981 - line_style 0) - (object ClassView "Class" "Logical View::CBnepBridge" @983 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (729, 126) - label (object ItemLabel - Parent_View @983 - location (596, 80) - fill_color 13434879 - nlines 1 - max_width 266 - justify 0 - label "CBnepBridge") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049600007" - width 284 - height 117 - autoResize TRUE) - (object UsesView "" @984 - stereotype TRUE - line_color 3342489 - quidu "40C7196D01B3" - client @983 - supplier @964 - line_style 0) - (object ClassView "Class" "Logical View::MPanDeviceOwner" @985 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2196, 126) - label (object ItemLabel - Parent_View @985 - location (2005, 80) - fill_color 13434879 - nlines 1 - max_width 382 - justify 0 - label "MPanDeviceOwner") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C0497600BD" - width 400 - height 117 - autoResize TRUE) - (object UsesView "" @986 - stereotype TRUE - line_color 3342489 - quidu "40C715E5023F" - client @985 - supplier @964 - line_style 0) - (object ClassView "Class" "Logical View::MPanDevice" @987 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (2568, 126) - label (object ItemLabel - Parent_View @987 - location (2439, 80) - fill_color 13434879 - nlines 1 - max_width 258 - justify 0 - label "MPanDevice") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C049CB02DC" - width 276 - height 117 - autoResize TRUE) - (object UsesView "" @988 - stereotype TRUE - line_color 3342489 - quidu "40C717DD02DA" - client @987 - supplier @964 - line_style 0) - (object UsesView "" @989 - stereotype TRUE - line_color 3342489 - quidu "40FD30130135" - client @987 - supplier @964 - line_style 0) - (object HasView "OutGoing" @990 - label (object ItemLabel - Parent_View @990 - location (1626, 368) - anchor_loc 1 - nlines 1 - max_width 188 - justify 0 - label "OutGoing") - stereotype TRUE - line_color 3342489 - quidu "413C294A01B6" - client @970 - supplier @964 - line_style 0) - (object HasView "InComing" @991 - label (object ItemLabel - Parent_View @991 - location (1626, 368) - anchor_loc 1 - nlines 1 - max_width 168 - justify 0 - label "InComing") - stereotype TRUE - line_color 3342489 - quidu "413C296E01CC" - client @970 - supplier @964 - line_style 0) - (object ClassView "Class" "Logical View::Undocument::Comms-infras::RMBufPktQ" @992 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (174, 2193) - label (object ItemLabel - Parent_View @992 - location (51, 2147) - fill_color 13434879 - nlines 1 - max_width 246 - justify 0 - label "RMBufPktQ") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "416D41B40278" - width 264 - height 117 - autoResize TRUE) - (object HasView "CommandQueue" @993 - label (object ItemLabel - Parent_View @993 - location (931, 1866) - anchor_loc 1 - nlines 1 - max_width 304 - justify 0 - label "CommandQueue") - stereotype TRUE - line_color 3342489 - quidu "40C594A10162" - client @964 - supplier @965 - line_style 0) - (object HasView "DestAddr" @994 - label (object ItemLabel - Parent_View @994 - location (1922, 1989) - anchor_loc 1 - nlines 1 - max_width 175 - justify 0 - label "DestAddr") - stereotype TRUE - line_color 3342489 - quidu "40C5952C0175" - client @964 - supplier @966 - line_style 0) - (object HasView "SrcAddr" @995 - label (object ItemLabel - Parent_View @995 - location (2008, 1923) - anchor_loc 1 - nlines 1 - max_width 146 - justify 0 - label "SrcAddr") - stereotype TRUE - line_color 3342489 - quidu "40C5954001A6" - client @964 - supplier @966 - vertices (list Points - (1776, 1514) - (2138, 2152) - (2103, 2356)) - line_style 0) - (object HasView "Protocol" @996 - label (object ItemLabel - Parent_View @996 - location (1211, 1955) - anchor_loc 1 - nlines 1 - max_width 154 - justify 0 - label "Protocol") - stereotype TRUE - line_color 3342489 - quidu "40C5958700D6" - client @964 - supplier @967 - vertices (list Points - (1481, 1499) - (1023, 2271) - (894, 2371)) - line_style 0) - (object HasView "QTagHeader" @997 - label (object ItemLabel - Parent_View @997 - location (1090, 1872) - anchor_loc 1 - nlines 1 - max_width 233 - justify 0 - label "QTagHeader") - stereotype TRUE - line_color 3342489 - quidu "40C59597006B" - client @964 - supplier @967 - vertices (list Points - (1481, 1422) - (829, 2171) - (822, 2371)) - line_style 0) - (object HasView "PacketContents" @998 - label (object ItemLabel - Parent_View @998 - location (1349, 2012) - anchor_loc 1 - nlines 1 - max_width 307 - justify 0 - label "PacketContents") - stereotype TRUE - line_color 3342489 - quidu "40C595C20117" - client @964 - supplier @968 - line_style 0) - (object HasView "EthernetPayload" @999 - label (object ItemLabel - Parent_View @999 - location (1619, 2163) - anchor_loc 1 - nlines 1 - max_width 315 - justify 0 - label "EthernetPayload") - stereotype TRUE - line_color 3342489 - quidu "40C595E30309" - client @964 - supplier @969 - line_style 0)))))) - logical_presentations (list unit_reference_list - (object ClassDiagram "BNEP - Architectural Context" - quid "40C049150264" - title "BNEP - Architectural Context" - documentation -|As the diagram shows, the BNEP packet driver sits beneath Ethint.NIF and above the Bluetooth L2CAP stack component. The basic purpose of BNEP is both to unwrap Bluetooth-transported Ethernet packets and push them up through the Ethernet stack, and also to wrap Ethernet packets into Bluetooth-compatible frames and push them out via the Bluetooth stack. -|All service discovery and link construction is handled by the PAN Agent, which delivers links, as sockets, to BNEP as they are required. BNEP is implemented as a packet driver, bnep.drv, loaded into the ESOCK thread within the c32 process. This means that RInternalSocket handles have to be used instead of RSockets. PAN Agent is ultimately responsible for allocating and controlling the roles within the PAN Profile, therefore BNEP is almost completely unaware of PAN roles. -|BNEP is also required to recognise and handle a set of BNEP control messages. When control messages are delivered to BNEP, it is BNEP's responsibility to handle them appropriately by either implementing the request, delegating the request to PAN Agent or declining the request. In all cases, BNEP is required to respond to the requesting device. -|The full set of BNEP control messages are defined in [1]. -|BNEP-specific panic codes are only generated from within UDEB builds. In UREL builds, BNEP is implemented to fall over gracefully without taking any other components with it as it goes. - - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ClassView "Class" "Use Case View::BNEP" @1000 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (231, 522) - label (object ItemLabel - Parent_View @1000 - location (150, 476) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "BNEP") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "41500F210074" - height 117 - autoResize TRUE) - (object ClassView "Class" "Use Case View::PAN Agent" @1001 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (870, 519) - label (object ItemLabel - Parent_View @1001 - location (754, 473) - fill_color 13434879 - nlines 1 - max_width 232 - justify 0 - label "PAN Agent") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "41500F2A038E" - width 250 - height 117 - autoResize TRUE) - (object ClassView "Class" "Use Case View::Ethint.NIF" @1002 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (228, 126) - label (object ItemLabel - Parent_View @1002 - location (116, 80) - fill_color 13434879 - nlines 1 - max_width 224 - justify 0 - label "Ethint.NIF") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "41500F360395" - width 242 - height 117 - autoResize TRUE) - (object ClassView "Class" "Use Case View::L2CAP" @1003 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (225, 930) - label (object ItemLabel - Parent_View @1003 - location (143, 884) - fill_color 13434879 - nlines 1 - max_width 164 - justify 0 - label "L2CAP") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "41500F430394" - width 182 - height 117 - autoResize TRUE) - (object ClassView "Class" "Use Case View::SDP" @1004 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (873, 933) - label (object ItemLabel - Parent_View @1004 - location (792, 887) - fill_color 13434879 - nlines 1 - max_width 162 - justify 0 - label "SDP") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "41500F540172" - height 117 - autoResize TRUE) - (object UsesView "" @1005 - stereotype TRUE - line_color 3342489 - quidu "41500F8B0058" - client @1001 - supplier @1000 - line_style 0) - (object UsesView "" @1006 - stereotype TRUE - line_color 3342489 - quidu "41500F9202BB" - client @1001 - supplier @1004 - line_style 0) - (object UsesView "" @1007 - stereotype TRUE - line_color 3342489 - quidu "41500F810343" - client @1002 - supplier @1000 - line_style 0) - (object UsesView "" @1008 - stereotype TRUE - line_color 3342489 - quidu "41500F84038E" - client @1000 - supplier @1002 - line_style 0) - (object UsesView "" @1009 - stereotype TRUE - line_color 3342489 - quidu "41500F870298" - client @1000 - supplier @1001 - vertices (list Points - (321, 498) - (491, 456) - (744, 497)) - line_style 0) - (object UsesView "" @1010 - stereotype TRUE - line_color 3342489 - quidu "41500F960181" - client @1000 - supplier @1003 - line_style 0) - (object UsesView "" @1011 - stereotype TRUE - line_color 3342489 - quidu "41500F990077" - client @1003 - supplier @1000 - line_style 0) - (object ClassView "Class" "Use Case View::Eintsock" @1012 - ShowCompartmentStereotypes TRUE - SuppressAttribute TRUE - SuppressOperation TRUE - IncludeAttribute TRUE - IncludeOperation TRUE - ShowOperationSignature TRUE - location (561, 753) - label (object ItemLabel - Parent_View @1012 - location (466, 707) - fill_color 13434879 - nlines 1 - max_width 190 - justify 0 - label "Eintsock") - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "416BE8EC0324" - width 208 - height 117 - autoResize TRUE) - (object UsesView "" @1013 - stereotype TRUE - line_color 3342489 - quidu "416BE90D02AA" - client @1000 - supplier @1012 - line_style 0) - (object UsesView "" @1014 - stereotype TRUE - line_color 3342489 - quidu "416BE910033A" - client @1001 - supplier @1012 - line_style 0))))) - root_subsystem (object SubSystem "Component View" - quid "40C049140277" - physical_models (list unit_reference_list - (object SubSystem "epoc32" - quid "40C057C70199" - physical_models (list unit_reference_list - (object module "e32base" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include <$file> -| - ))) - quid "40C0580902B6" - stereotype "" - language "C++") - (object module "e32std" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include <$file> -| - ))) - quid "40C0581B02E4" - stereotype "" - language "C++") - (object module "bt_sock" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE)) - quid "40C059C102A5" - stereotype "" - language "C++") - (object module "e32def" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include <$file> -| - ))) - quid "40C42E8101C4" - stereotype "" - language "C++") - (object module "bttypes" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include <$file> -| - ))) - quid "40C42EF40256" - stereotype "" - language "C++") - (object module "es_mbuf" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include <$file> -| - ))) - quid "40C43076020B" - stereotype "" - language "C++") - (object module "nifmbuf" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include <$file> -| - ))) - quid "40C430B20121" - stereotype "" - language "C++") - (object module "intsock" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include <$file> -| - ))) - quid "40C4312300AB" - stereotype "" - language "C++") - (object module "eintsock" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\epoc32\\eintsock.h") - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include -| - ))) - quid "40C470050383" - stereotype "" - language "C++") - (object module "nifprvar" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include -| - )) - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\epoc32\\nifprvar.h") - (object Attribute - tool "cg" - name "Generate" - value FALSE)) - quid "40C5BABF0394" - stereotype "" - language "C++") - (object module "completelyunknown" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include <$file> -| - ))) - quid "40C70C3B01E8" - stereotype "" - language "C++") - (object module "nifif" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include -| - ))) - quid "40C96DCA0154" - stereotype "" - language "C++") - (object module "e32cmn" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include <$file> -| - ))) - quid "40C96FA90243" - stereotype "" - language "C++") - (object module "e32property" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include <$file> -| - ))) - quid "40CEC3840074" - stereotype "" - language "C++") - (object module "bt_subscribe" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include <$file> -| - ))) - quid "40CEDA1803BE" - stereotype "" - language "C++") - (object module "commsdebugutility" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include -| - ))) - quid "40D2D12300CD" - stereotype "" - language "C++") - (object module "e32const" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include <$file> -| - ))) - quid "41178B71014A" - stereotype "" - language "C++")) - physical_presentations (list unit_reference_list)) - (object SubSystem "BNEP" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Directory" - value (value Text ""))) - quid "40C44BF003DB" - physical_models (list unit_reference_list - (object module "RBnepControl" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepControl.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__RBNEPCONTROL_H"))) - quid "40C44C240209" - stereotype "Package Specification" - language "C++") - (object module "CBnepBridge" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CBnepBridge.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__CBNEPBRIDGE_H"))) - quid "40C44D8B0291" - stereotype "Package Specification" - language "C++") - (object module "CBnepBridge" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CBnepBridge.cpp")) - quid "40C44D940280" - stereotype "Package Body" - language "C++") - (object module "CBnepChannelController" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CBnepChannelController.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__CBNEPCHANNELCONTROLLER_H"))) - quid "40C44DA3005B" - stereotype "Package Specification" - language "C++") - (object module "CBnepChannelController" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CBnepChannelController.cpp")) - quid "40C44DAE022D" - stereotype "Package Body" - language "C++") - (object module "CBnepLink" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CBnepLink.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__CBNEPLINK_H"))) - quid "40C44DBD03A1" - stereotype "Package Specification" - language "C++") - (object module "CBnepLink" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CBnepLink.cpp")) - quid "40C44DC50014" - stereotype "Package Body" - language "C++") - (object module "CBnepLocalDevice" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CBnepLocalDevice.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__CBNEPLOCALDEVICE_H"))) - quid "40C44DD101D4" - stereotype "Package Specification" - language "C++") - (object module "CBnepLocalDevice" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CBnepLocalDevice.cpp")) - quid "40C44DDB0282" - stereotype "Package Body" - language "C++") - (object module "CSocketReader" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CSocketReader.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__CSOCKETREADER_H"))) - quid "40C466A30054" - stereotype "Package Specification" - language "C++") - (object module "CSocketReader" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CSocketReader.cpp")) - quid "40C466AA0343" - stereotype "Package Body" - language "C++") - (object module "CSocketWriter" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CSocketWriter.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__CSOCKETWRITER_H"))) - quid "40C466CE01BE" - stereotype "Package Specification" - language "C++") - (object module "CSocketWriter" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CSocketWriter.cpp")) - quid "40C466E5012B" - stereotype "Package Body" - language "C++") - (object module "MBnepConnectionManager" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\MBnepConnectionManager.cpp")) - quid "40C469090129" - stereotype "Package Body" - language "C++") - (object module "MLinkManager" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\MLinkManager.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__MLINKMANAGER_H"))) - quid "40C469230361" - stereotype "Package Specification" - language "C++") - (object module "MPanConnectionNotify" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\MPanConnectionNotify.cpp")) - quid "40C46980001C" - stereotype "Package Body" - language "C++") - (object module "MPanDevice" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\MPanDevice.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__MPANDEVICE_H"))) - quid "40C4699C00A8" - stereotype "Package Specification" - language "C++") - (object module "MPanDeviceOwner" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\MPanDeviceOwner.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__MPANDEVICEOWNER_H"))) - quid "40C469DD012E" - stereotype "Package Specification" - language "C++") - (object module "RBnepFrame" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepFrame.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__RBNEPFRAME_H"))) - quid "40C46B70026E" - stereotype "Package Specification" - language "C++") - (object module "RBnepFrame" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepFrame.cpp")) - quid "40C46B840294" - stereotype "Package Body" - language "C++") - (object module "RBnepSetupConnectionRequestControl" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepSetupConnectionRequestControl.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__RBNEPSETUPCONNECTIONREQUESTCONTROL_H"))) - quid "40C46B9602D6" - stereotype "Package Specification" - language "C++") - (object module "RBnepSetupConnectionRequestControl" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepSetupConnectionRequestControl.cpp")) - quid "40C46BB4030C" - stereotype "Package Body" - language "C++") - (object module "RBnepSetupConnectionResponseControl" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepSetupConnectionResponseControl.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__RBNEPSETUPCONNECTIONRESPONSECONTROL_H"))) - quid "40C46BD30053" - stereotype "Package Specification" - language "C++") - (object module "RBnepSetupConnectionResponseControl" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepSetupConnectionResponseControl.cpp")) - quid "40C46BF2006C" - stereotype "Package Body" - language "C++") - (object module "BnepTypes" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\BnepTypes.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__BNEPTYPES_H"))) - quid "40C46C7D03C9" - stereotype "Package Specification" - language "C++") - (object module "BnepUtils" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\BnepUtils.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__BNEPUTILS_H"))) - quid "40C5B41101BE" - stereotype "Package Specification" - language "C++") - (object module "BnepUtils" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\BnepUtils.cpp")) - quid "40C5B43101F6" - stereotype "Package Body" - language "C++") - (object module "CBnepLog" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CBnepLog.h") - (object Attribute - tool "cg" - name "InliningStyle" - value ("InliningStyleSet" 208)) - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__CBNEPLOG_H"))) - quid "40C5B93B0237" - stereotype "Package Specification" - language "C++") - (object module "CBnepLog" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CBnepLog.cpp") - (object Attribute - tool "cg" - name "InliningStyle" - value ("InliningStyleSet" 208))) - quid "40C5B9440050" - stereotype "Package Body" - language "C++") - (object module "CBTAddrSubscriber" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CBTAddrSubscriber.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__CBTADDRSUBSCRIBER_H"))) - quid "40C5B9BC0391" - stereotype "Package Specification" - language "C++") - (object module "CBTAddrSubscriber" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CBTAddrSubscriber.cpp")) - quid "40C5B9D300E1" - stereotype "Package Body" - language "C++") - (object module "CBnepPktDrvFactory" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CBnepPktDrvFactory.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__CBNEPPKTDRVFACTORY_H"))) - quid "40C969D40322" - stereotype "Package Specification" - language "C++") - (object module "CBnepPktDrvFactory" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CBnepPktDrvFactory.cpp")) - quid "40C969F1002B" - stereotype "Package Body" - language "C++") - (object module "RBnepFilterNetTypeSetRequestControl" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepFilterNetTypeSetRequestControl.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__RBNEPFILTERNETTYPESETREQUESTCONTROL_H"))) - quid "40F68B980383" - stereotype "Package Specification" - language "C++") - (object module "RBnepFilterNetTypeSetRequestControl" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepFilterNetTypeSetRequestControl.cpp")) - quid "40F68BC300F0" - stereotype "Package Body" - language "C++") - (object module "RBnepFilterNetTypeResponseControl" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepFilterNetTypeResponseControl.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__RBNEPFILTERNETTYPERESPONSECONTROL_H"))) - quid "40F68BF800CE" - stereotype "Package Specification" - language "C++") - (object module "RBnepFilterNetTypeResponseControl" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepFilterNetTypeResponseControl.cpp")) - quid "40F68C22029B" - stereotype "Package Body" - language "C++") - (object module "RBnepFilterMultiAddrSetRequestControl" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepFilterMultiAddrSetRequestControl.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__RBNEPFILTERMULTIADDRSETREQUESTCONTROL_H"))) - quid "40F68C510035" - stereotype "Package Specification" - language "C++") - (object module "RBnepFilterMultiAddrSetRequestControl" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepFilterMultiAddrSetRequestControl.cpp")) - quid "40F68C750308" - stereotype "Package Body" - language "C++") - (object module "RBnepFilterMultiAddrResponseControl" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepFilterMultiAddrResponseControl.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__RBNEPFILTERMULTIADDRRESPONSECONTROL_H"))) - quid "40F68C9900ED" - stereotype "Package Specification" - language "C++") - (object module "RBnepFilterMultiAddrResponseControl" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepFilterMultiAddrResponseControl.cpp")) - quid "40F68CBB01C8" - stereotype "Package Body" - language "C++") - (object module "RBnepNotUnderstoodResponseControl" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepNotUnderstoodResponseControl.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__RBNEPNOTUNDERSTOODRESPONSECONTROL_H"))) - quid "41050960014F" - stereotype "Package Specification" - language "C++") - (object module "RBnepNotUnderstoodResponseControl" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\RBnepNotUnderstoodResponseControl.cpp")) - quid "4105098103BA" - stereotype "Package Body" - language "C++") - (object module "CMultiAddrFilterTable" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CMultiAddrFilterTable.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__CMULTIADDRFILTERTABLE_H"))) - quid "41247B920123" - stereotype "Package Specification" - language "C++") - (object module "CMultiAddrFilterTable" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CMultiAddrFilterTable.cpp")) - quid "41247B9E03D3" - stereotype "Package Body" - language "C++") - (object module "CNetTypeFilterTable" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CNetTypeFilterTable.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__CNETTYPEFILTERTABLE_H"))) - quid "41247BA90252" - stereotype "Package Specification" - language "C++") - (object module "CNetTypeFilterTable" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\CNetTypeFilterTable.cpp")) - quid "41247BB302F7" - stereotype "Package Body" - language "C++") - (object module "TBnepBTDevAddr" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\TBnepBTDevAddr.h") - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value (value Text "__TBNEPBTDEVADDR_H"))) - quid "4125EEED010D" - stereotype "Package Specification" - language "C++") - (object module "TBnepBTDevAddr" "PackageType" "Body" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "$BNEP\\TBnepBTDevAddr.cpp")) - quid "4125EF0001A1" - stereotype "Package Body" - language "C++")) - physical_presentations (list unit_reference_list - (object Module_Diagram "BNEP Components" - quid "40C44C120393" - title "BNEP Components" - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list - (object ModView "Component View::BNEP::RBnepControl" "PackageType" "Specification" @1015 - location (228, 304) - label (object ItemLabel - Parent_View @1015 - location (166, 108) - anchor_loc 3 - nlines 1 - max_width 543 - label "RBnepControl") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C44C240209" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CBnepBridge" "PackageType" "Specification" @1016 - location (1215, 303) - label (object ItemLabel - Parent_View @1016 - location (1153, 107) - anchor_loc 3 - nlines 1 - max_width 543 - label "CBnepBridge") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C44D8B0291" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CBnepBridge" "PackageType" "Body" @1017 - location (1710, 304) - label (object ItemLabel - Parent_View @1017 - location (1648, 108) - anchor_loc 3 - nlines 1 - max_width 543 - label "CBnepBridge") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C44D940280" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CBnepChannelController" "PackageType" "Specification" @1018 - location (2205, 303) - label (object ItemLabel - Parent_View @1018 - location (2143, 107) - anchor_loc 3 - nlines 1 - max_width 543 - label "CBnepChannelController") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C44DA3005B" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CBnepChannelController" "PackageType" "Body" @1019 - location (2888, 304) - label (object ItemLabel - Parent_View @1019 - location (2826, 108) - anchor_loc 3 - nlines 1 - max_width 543 - label "CBnepChannelController") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C44DAE022D" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CBnepLink" "PackageType" "Specification" @1020 - location (3344, 304) - label (object ItemLabel - Parent_View @1020 - location (3282, 108) - anchor_loc 3 - nlines 1 - max_width 543 - label "CBnepLink") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C44DBD03A1" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CBnepLink" "PackageType" "Body" @1021 - location (228, 816) - label (object ItemLabel - Parent_View @1021 - location (166, 620) - anchor_loc 3 - nlines 1 - max_width 543 - label "CBnepLink") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C44DC50014" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CBnepLocalDevice" "PackageType" "Specification" @1022 - location (666, 816) - label (object ItemLabel - Parent_View @1022 - location (604, 620) - anchor_loc 3 - nlines 1 - max_width 543 - label "CBnepLocalDevice") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C44DD101D4" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CBnepLocalDevice" "PackageType" "Body" @1023 - location (1254, 817) - label (object ItemLabel - Parent_View @1023 - location (1192, 621) - anchor_loc 3 - nlines 1 - max_width 543 - label "CBnepLocalDevice") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C44DDB0282" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CSocketReader" "PackageType" "Specification" @1024 - location (1843, 817) - label (object ItemLabel - Parent_View @1024 - location (1781, 621) - anchor_loc 3 - nlines 1 - max_width 543 - label "CSocketReader") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C466A30054" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CSocketReader" "PackageType" "Body" @1025 - location (2299, 817) - label (object ItemLabel - Parent_View @1025 - location (2237, 621) - anchor_loc 3 - nlines 1 - max_width 543 - label "CSocketReader") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C466AA0343" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CSocketWriter" "PackageType" "Specification" @1026 - location (2736, 817) - label (object ItemLabel - Parent_View @1026 - location (2674, 621) - anchor_loc 3 - nlines 1 - max_width 543 - label "CSocketWriter") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C466CE01BE" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CSocketWriter" "PackageType" "Body" @1027 - location (3249, 817) - label (object ItemLabel - Parent_View @1027 - location (3187, 621) - anchor_loc 3 - nlines 1 - max_width 543 - label "CSocketWriter") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C466E5012B" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::MBnepConnectionManager" "PackageType" "Body" @1028 - location (874, 1311) - label (object ItemLabel - Parent_View @1028 - location (812, 1115) - anchor_loc 3 - nlines 1 - max_width 543 - label "MBnepConnectionManager") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C469090129" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::MLinkManager" "PackageType" "Specification" @1029 - location (1615, 1311) - label (object ItemLabel - Parent_View @1029 - location (1553, 1115) - anchor_loc 3 - nlines 1 - max_width 543 - label "MLinkManager") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C469230361" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::MPanConnectionNotify" "PackageType" "Body" @1030 - location (2071, 1311) - label (object ItemLabel - Parent_View @1030 - location (2009, 1115) - anchor_loc 3 - nlines 1 - max_width 543 - label "MPanConnectionNotify") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C46980001C" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::MPanDevice" "PackageType" "Specification" @1031 - location (2508, 1311) - label (object ItemLabel - Parent_View @1031 - location (2446, 1115) - anchor_loc 3 - nlines 1 - max_width 543 - label "MPanDevice") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C4699C00A8" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::MPanDeviceOwner" "PackageType" "Specification" @1032 - location (2946, 1311) - label (object ItemLabel - Parent_View @1032 - location (2884, 1115) - anchor_loc 3 - nlines 1 - max_width 543 - label "MPanDeviceOwner") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C469DD012E" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::RBnepFrame" "PackageType" "Specification" @1033 - location (3553, 1311) - label (object ItemLabel - Parent_View @1033 - location (3491, 1115) - anchor_loc 3 - nlines 1 - max_width 543 - label "RBnepFrame") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C46B70026E" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::RBnepFrame" "PackageType" "Body" @1034 - location (228, 1824) - label (object ItemLabel - Parent_View @1034 - location (166, 1628) - anchor_loc 3 - nlines 1 - max_width 543 - label "RBnepFrame") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C46B840294" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::RBnepSetupConnectionRequestControl" "PackageType" "Specification" @1035 - location (702, 1824) - label (object ItemLabel - Parent_View @1035 - location (640, 1628) - anchor_loc 3 - nlines 1 - max_width 723 - label "RBnepSetupConnectionRequestControl") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C46B9602D6" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::RBnepSetupConnectionRequestControl" "PackageType" "Body" @1036 - location (1672, 1824) - label (object ItemLabel - Parent_View @1036 - location (1610, 1628) - anchor_loc 3 - nlines 1 - max_width 723 - label "RBnepSetupConnectionRequestControl") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C46BB4030C" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::RBnepSetupConnectionResponseControl" "PackageType" "Specification" @1037 - location (2641, 1824) - label (object ItemLabel - Parent_View @1037 - location (2579, 1628) - anchor_loc 3 - nlines 1 - max_width 749 - label "RBnepSetupConnectionResponseControl") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C46BD30053" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::RBnepSetupConnectionResponseControl" "PackageType" "Body" @1038 - location (3648, 1824) - label (object ItemLabel - Parent_View @1038 - location (3586, 1628) - anchor_loc 3 - nlines 1 - max_width 749 - label "RBnepSetupConnectionResponseControl") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C46BF2006C" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::BnepTypes" "PackageType" "Specification" @1039 - location (4656, 1824) - label (object ItemLabel - Parent_View @1039 - location (4594, 1628) - anchor_loc 3 - nlines 1 - max_width 543 - label "BnepTypes") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C46C7D03C9" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::BnepUtils" "PackageType" "Specification" @1040 - location (5091, 1824) - label (object ItemLabel - Parent_View @1040 - location (5029, 1628) - anchor_loc 3 - nlines 1 - max_width 543 - label "BnepUtils") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B41101BE" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::BnepUtils" "PackageType" "Body" @1041 - location (228, 2337) - label (object ItemLabel - Parent_View @1041 - location (166, 2141) - anchor_loc 3 - nlines 1 - max_width 543 - label "BnepUtils") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B43101F6" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CBnepLog" "PackageType" "Specification" @1042 - location (666, 2337) - label (object ItemLabel - Parent_View @1042 - location (604, 2141) - anchor_loc 3 - nlines 1 - max_width 543 - label "CBnepLog") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B93B0237" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CBnepLog" "PackageType" "Body" @1043 - location (1121, 2337) - label (object ItemLabel - Parent_View @1043 - location (1059, 2141) - anchor_loc 3 - nlines 1 - max_width 543 - label "CBnepLog") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B9440050" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CBTAddrSubscriber" "PackageType" "Specification" @1044 - location (1558, 2337) - label (object ItemLabel - Parent_View @1044 - location (1496, 2141) - anchor_loc 3 - nlines 1 - max_width 543 - label "CBTAddrSubscriber") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B9BC0391" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CBTAddrSubscriber" "PackageType" "Body" @1045 - location (2014, 2337) - label (object ItemLabel - Parent_View @1045 - location (1952, 2141) - anchor_loc 3 - nlines 1 - max_width 543 - label "CBTAddrSubscriber") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C5B9D300E1" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::inc::pancommon" "PackageType" "Specification" @1046 - location (2907, 2337) - label (object ItemLabel - Parent_View @1046 - location (2845, 2141) - anchor_loc 3 - nlines 1 - max_width 543 - label "pancommon") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C8232C00AC" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CBnepPktDrvFactory" "PackageType" "Specification" @1047 - location (228, 2831) - label (object ItemLabel - Parent_View @1047 - location (166, 2635) - anchor_loc 3 - nlines 1 - max_width 543 - label "CBnepPktDrvFactory") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C969D40322" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CBnepPktDrvFactory" "PackageType" "Body" @1048 - location (665, 2831) - label (object ItemLabel - Parent_View @1048 - location (603, 2635) - anchor_loc 3 - nlines 1 - max_width 543 - label "CBnepPktDrvFactory") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40C969F1002B" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::RBnepFilterNetTypeSetRequestControl" "PackageType" "Specification" @1049 - location (1121, 2831) - label (object ItemLabel - Parent_View @1049 - location (1059, 2635) - anchor_loc 3 - nlines 1 - max_width 715 - label "RBnepFilterNetTypeSetRequestControl") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68B980383" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::RBnepFilterNetTypeSetRequestControl" "PackageType" "Body" @1050 - location (2090, 2831) - label (object ItemLabel - Parent_View @1050 - location (2028, 2635) - anchor_loc 3 - nlines 1 - max_width 715 - label "RBnepFilterNetTypeSetRequestControl") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68BC300F0" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::RBnepFilterNetTypeResponseControl" "PackageType" "Specification" @1051 - location (3040, 2831) - label (object ItemLabel - Parent_View @1051 - location (2978, 2635) - anchor_loc 3 - nlines 1 - max_width 675 - label "RBnepFilterNetTypeResponseControl") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68BF800CE" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::RBnepFilterNetTypeResponseControl" "PackageType" "Body" @1052 - location (3971, 2831) - label (object ItemLabel - Parent_View @1052 - location (3909, 2635) - anchor_loc 3 - nlines 1 - max_width 675 - label "RBnepFilterNetTypeResponseControl") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68C22029B" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::RBnepFilterMultiAddrSetRequestControl" "PackageType" "Specification" @1053 - location (4902, 2831) - label (object ItemLabel - Parent_View @1053 - location (4840, 2635) - anchor_loc 3 - nlines 1 - max_width 736 - label "RBnepFilterMultiAddrSetRequestControl") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68C510035" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::RBnepFilterMultiAddrSetRequestControl" "PackageType" "Body" @1054 - location (228, 3344) - label (object ItemLabel - Parent_View @1054 - location (166, 3148) - anchor_loc 3 - nlines 1 - max_width 736 - label "RBnepFilterMultiAddrSetRequestControl") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68C750308" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::RBnepFilterMultiAddrResponseControl" "PackageType" "Specification" @1055 - location (1216, 3344) - label (object ItemLabel - Parent_View @1055 - location (1154, 3148) - anchor_loc 3 - nlines 1 - max_width 704 - label "RBnepFilterMultiAddrResponseControl") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68C9900ED" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::RBnepFilterMultiAddrResponseControl" "PackageType" "Body" @1056 - location (2166, 3344) - label (object ItemLabel - Parent_View @1056 - location (2104, 3148) - anchor_loc 3 - nlines 1 - max_width 704 - label "RBnepFilterMultiAddrResponseControl") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "40F68CBB01C8" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::RBnepNotUnderstoodResponseControl" "PackageType" "Specification" @1057 - location (3116, 3344) - label (object ItemLabel - Parent_View @1057 - location (3054, 3148) - anchor_loc 3 - nlines 1 - max_width 712 - label "RBnepNotUnderstoodResponseControl") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "41050960014F" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::RBnepNotUnderstoodResponseControl" "PackageType" "Body" @1058 - location (4085, 3344) - label (object ItemLabel - Parent_View @1058 - location (4023, 3148) - anchor_loc 3 - nlines 1 - max_width 712 - label "RBnepNotUnderstoodResponseControl") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4105098103BA" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CMultiAddrFilterTable" "PackageType" "Specification" @1059 - location (5054, 3344) - label (object ItemLabel - Parent_View @1059 - location (4992, 3148) - anchor_loc 3 - nlines 1 - max_width 543 - label "CMultiAddrFilterTable") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "41247B920123" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CMultiAddrFilterTable" "PackageType" "Body" @1060 - location (5681, 3344) - label (object ItemLabel - Parent_View @1060 - location (5619, 3148) - anchor_loc 3 - nlines 1 - max_width 543 - label "CMultiAddrFilterTable") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "41247B9E03D3" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CNetTypeFilterTable" "PackageType" "Specification" @1061 - location (228, 3857) - label (object ItemLabel - Parent_View @1061 - location (166, 3661) - anchor_loc 3 - nlines 1 - max_width 543 - label "CNetTypeFilterTable") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "41247BA90252" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::CNetTypeFilterTable" "PackageType" "Body" @1062 - location (836, 3857) - label (object ItemLabel - Parent_View @1062 - location (774, 3661) - anchor_loc 3 - nlines 1 - max_width 543 - label "CNetTypeFilterTable") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "41247BB302F7" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::TBnepBTDevAddr" "PackageType" "Specification" @1063 - location (1463, 3857) - label (object ItemLabel - Parent_View @1063 - location (1401, 3661) - anchor_loc 3 - nlines 1 - max_width 543 - label "TBnepBTDevAddr") - icon "Package Specification" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4125EEED010D" - autoResize TRUE - width 282 - height 312) - (object ModView "Component View::BNEP::TBnepBTDevAddr" "PackageType" "Body" @1064 - location (2033, 3857) - label (object ItemLabel - Parent_View @1064 - location (1971, 3661) - anchor_loc 3 - nlines 1 - max_width 543 - label "TBnepBTDevAddr") - icon "Package Body" - icon_style "Icon" - line_color 3342489 - fill_color 13434879 - quidu "4125EF0001A1" - autoResize TRUE - width 282 - height 312))))) - (object SubSystem "inc" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Directory" - value (value Text "$BNEP\\..\\inc "))) - quid "40C47AF1008A" - physical_models (list unit_reference_list - (object module "bnepdrv" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|//#include "$file" -| - ))) - quid "40C47B0F0105" - stereotype "" - language "C++") - (object module "carddrv" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE)) - quid "40C47B1D02B4" - stereotype "" - language "C++") - (object module "clanip4bearer" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE)) - quid "40C47B29017B" - stereotype "" - language "C++") - (object module "clanip6bearer" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE)) - quid "40C47B360129" - stereotype "" - language "C++") - (object module "clanxbearer" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|//#include "$file" -| - ))) - quid "40C47B4600A0" - stereotype "" - language "C++") - (object module "eth_log" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE)) - quid "40C47B5201B6" - stereotype "" - language "C++") - (object module "ethinter" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include "$file" -| - ))) - quid "40C47B5F0088" - stereotype "" - language "C++") - (object module "netdefs" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE)) - quid "40C47B70019B" - stereotype "" - language "C++") - (object module "panprog" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE)) - quid "40C47B7F00C0" - stereotype "" - language "C++") - (object module "panroles" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE)) - quid "40C47B8803D0" - stereotype "" - language "C++") - (object module "pktdrv" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include -| - ))) - quid "40C47B910207" - stereotype "" - language "C++") - (object module "protocolheaders" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE)) - quid "40C47B9E007F" - stereotype "" - language "C++") - (object module "tlog" "NotAModuleType" "NotAModulePart" - attributes (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value FALSE)) - quid "40C47BAA016C" - stereotype "" - language "C++") - (object module "pancommon" "PackageType" "Specification" - attributes (list Attribute_Set - (object Attribute - tool "Traversal" - name "CodeFile" - value "F:\\Projects\\bits\\networking\\ether802\\inc\\pancommon.h") - (object Attribute - tool "cg" - name "Generate" - value FALSE)) - quid "40C8232C00AC" - stereotype "Package Specification" - language "C++")) - physical_presentations (list unit_reference_list))) - physical_presentations (list unit_reference_list - (object Module_Diagram "Main" - quid "40C049150262" - title "Main" - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list)))) - process_structure (object Processes - quid "40C049140278" - ProcsNDevs (list - (object Process_Diagram "Deployment View" - quid "40C04914027A" - title "Deployment View" - zoom 100 - max_height 28350 - max_width 21600 - origin_x 0 - origin_y 0 - items (list diagram_item_list)))) - properties (object Properties - attributes (list Attribute_Set - (object Attribute - tool "CORBA" - name "propertyId" - value "809135966") - (object Attribute - tool "CORBA" - name "default__Project" - value (list Attribute_Set - (object Attribute - tool "CORBA" - name "CreateMissingDirectories" - value TRUE) - (object Attribute - tool "CORBA" - name "Editor" - value ("EditorType" 100)) - (object Attribute - tool "CORBA" - name "IncludePath" - value "") - (object Attribute - tool "CORBA" - name "StopOnError" - value TRUE) - (object Attribute - tool "CORBA" - name "EditorType" - value (list Attribute_Set - (object Attribute - tool "CORBA" - name "BuiltIn" - value 100) - (object Attribute - tool "CORBA" - name "WindowsShell" - value 101))))) - (object Attribute - tool "CORBA" - name "default__Class" - value (list Attribute_Set - (object Attribute - tool "CORBA" - name "ArrayDimensions" - value "") - (object Attribute - tool "CORBA" - name "ConstValue" - value "") - (object Attribute - tool "CORBA" - name "ImplementationType" - value ""))) - (object Attribute - tool "CORBA" - name "default__Module-Spec" - value (list Attribute_Set - (object Attribute - tool "CORBA" - name "AdditionalIncludes" - value (value Text "")) - (object Attribute - tool "CORBA" - name "CmIdentification" - value (value Text " %X% %Q% %Z% %W%")) - (object Attribute - tool "CORBA" - name "CopyrightNotice" - value (value Text "")) - (object Attribute - tool "CORBA" - name "InclusionProtectionSymbol" - value "AUTO GENERATE"))) - (object Attribute - tool "CORBA" - name "default__Module-Body" - value (list Attribute_Set - (object Attribute - tool "CORBA" - name "AdditionalIncludes" - value (value Text "")) - (object Attribute - tool "CORBA" - name "CmIdentification" - value (value Text " %X% %Q% %Z% %W%")) - (object Attribute - tool "CORBA" - name "CopyrightNotice" - value (value Text "")) - (object Attribute - tool "CORBA" - name "InclusionProtectionSymbol" - value "AUTO GENERATE"))) - (object Attribute - tool "CORBA" - name "default__Operation" - value (list Attribute_Set - (object Attribute - tool "CORBA" - name "Context" - value "") - (object Attribute - tool "CORBA" - name "OperationIsOneWay" - value FALSE))) - (object Attribute - tool "CORBA" - name "default__Attribute" - value (list Attribute_Set - (object Attribute - tool "CORBA" - name "ArrayDimensions" - value "") - (object Attribute - tool "CORBA" - name "CaseSpecifier" - value "") - (object Attribute - tool "CORBA" - name "IsReadOnly" - value FALSE) - (object Attribute - tool "CORBA" - name "Order" - value ""))) - (object Attribute - tool "CORBA" - name "default__Role" - value (list Attribute_Set - (object Attribute - tool "CORBA" - name "ArrayDimensions" - value "") - (object Attribute - tool "CORBA" - name "CaseSpecifier" - value "") - (object Attribute - tool "CORBA" - name "GenerateForwardReference" - value FALSE) - (object Attribute - tool "CORBA" - name "IsReadOnly" - value FALSE) - (object Attribute - tool "CORBA" - name "Order" - value "") - (object Attribute - tool "CORBA" - name "BoundedRoleType" - value ("AssocTypeSet" 47)) - (object Attribute - tool "CORBA" - name "AssocTypeSet" - value (list Attribute_Set - (object Attribute - tool "CORBA" - name "Array" - value 24) - (object Attribute - tool "CORBA" - name "Sequence" - value 47))))) - (object Attribute - tool "CORBA" - name "default__Uses" - value (list Attribute_Set - (object Attribute - tool "CORBA" - name "GenerateForwardReference" - value FALSE))) - (object Attribute - tool "CORBA" - name "HiddenTool" - value FALSE) - (object Attribute - tool "Data Modeler" - name "propertyId" - value "809135966") - (object Attribute - tool "Data Modeler" - name "default__Project" - value (list Attribute_Set - (object Attribute - tool "Data Modeler" - name "project" - value "") - (object Attribute - tool "Data Modeler" - name "TableCounter" - value 0) - (object Attribute - tool "Data Modeler" - name "TriggerCounter" - value 0) - (object Attribute - tool "Data Modeler" - name "IndexCounter" - value 0) - (object Attribute - tool "Data Modeler" - name "ConstraintCounter" - value 0) - (object Attribute - tool "Data Modeler" - name "PrimaryKeyCounter" - value 0) - (object Attribute - tool "Data Modeler" - name "ForeignKeyCounter" - value 0) - (object Attribute - tool "Data Modeler" - name "TablePrefix" - value "") - (object Attribute - tool "Data Modeler" - name "TriggerPrefix" - value "") - (object Attribute - tool "Data Modeler" - name "IndexPrefix" - value "") - (object Attribute - tool "Data Modeler" - name "ConstraintPrefix" - value "") - (object Attribute - tool "Data Modeler" - name "PrimaryKeyPrefix" - value "") - (object Attribute - tool "Data Modeler" - name "ForeignKeyPrefix" - value ""))) - (object Attribute - tool "Data Modeler" - name "default__Module-Spec" - value (list Attribute_Set - (object Attribute - tool "Data Modeler" - name "dmItem" - value FALSE) - (object Attribute - tool "Data Modeler" - name "DMName" - value "") - (object Attribute - tool "Data Modeler" - name "IsDatabase" - value FALSE) - (object Attribute - tool "Data Modeler" - name "TargetDatabase" - value "") - (object Attribute - tool "Data Modeler" - name "Location" - value ""))) - (object Attribute - tool "Data Modeler" - name "default__Category" - value (list Attribute_Set - (object Attribute - tool "Data Modeler" - name "dmItem" - value FALSE) - (object Attribute - tool "Data Modeler" - name "DMName" - value "") - (object Attribute - tool "Data Modeler" - name "dmSchema" - value "") - (object Attribute - tool "Data Modeler" - name "IsSchema" - value FALSE) - (object Attribute - tool "Data Modeler" - name "IsRootSchema" - value FALSE) - (object Attribute - tool "Data Modeler" - name "IsSchemaPackage" - value FALSE) - (object Attribute - tool "Data Modeler" - name "DatabaseID" - value ""))) - (object Attribute - tool "Data Modeler" - name "default__Class" - value (list Attribute_Set - (object Attribute - tool "Data Modeler" - name "dmItem" - value FALSE) - (object Attribute - tool "Data Modeler" - name "DMName" - value "") - (object Attribute - tool "Data Modeler" - name "IsTable" - value FALSE) - (object Attribute - tool "Data Modeler" - name "IsView" - value FALSE) - (object Attribute - tool "Data Modeler" - name "Synonymns" - value "") - (object Attribute - tool "Data Modeler" - name "TableSpace" - value "") - (object Attribute - tool "Data Modeler" - name "SourceId" - value "") - (object Attribute - tool "Data Modeler" - name "SourceType" - value "") - (object Attribute - tool "Data Modeler" - name "SelectClause" - value "") - (object Attribute - tool "Data Modeler" - name "IsUpdatable" - value FALSE) - (object Attribute - tool "Data Modeler" - name "CheckOption" - value 0))) - (object Attribute - tool "Data Modeler" - name "default__Attribute" - value (list Attribute_Set - (object Attribute - tool "Data Modeler" - name "dmItem" - value FALSE) - (object Attribute - tool "Data Modeler" - name "DMName" - value "") - (object Attribute - tool "Data Modeler" - name "Ordinal" - value 0) - (object Attribute - tool "Data Modeler" - name "IsIdentity" - value FALSE) - (object Attribute - tool "Data Modeler" - name "NullsAllowed" - value FALSE) - (object Attribute - tool "Data Modeler" - name "Length" - value 0) - (object Attribute - tool "Data Modeler" - name "Scale" - value 0) - (object Attribute - tool "Data Modeler" - name "ColumnType" - value "") - (object Attribute - tool "Data Modeler" - name "ForBitData" - value FALSE) - (object Attribute - tool "Data Modeler" - name "DefaultValueType" - value "") - (object Attribute - tool "Data Modeler" - name "DefaultValue" - value "") - (object Attribute - tool "Data Modeler" - name "SourceId" - value "") - (object Attribute - tool "Data Modeler" - name "SourceType" - value ""))) - (object Attribute - tool "Data Modeler" - name "default__Association" - value (list Attribute_Set - (object Attribute - tool "Data Modeler" - name "dmItem" - value FALSE) - (object Attribute - tool "Data Modeler" - name "DMName" - value "") - (object Attribute - tool "Data Modeler" - name "IsRelationship" - value FALSE) - (object Attribute - tool "Data Modeler" - name "SourceId" - value "") - (object Attribute - tool "Data Modeler" - name "SourceType" - value "") - (object Attribute - tool "Data Modeler" - name "RIMethod" - value "") - (object Attribute - tool "Data Modeler" - name "ParentUpdateRule" - value "") - (object Attribute - tool "Data Modeler" - name "ParentUpdateRuleName" - value "") - (object Attribute - tool "Data Modeler" - name "ParentDeleteRule" - value "") - (object Attribute - tool "Data Modeler" - name "ParentDeleteRuleName" - value "") - (object Attribute - tool "Data Modeler" - name "ChildInsertRestrict" - value FALSE) - (object Attribute - tool "Data Modeler" - name "ChildInsertRestrictName" - value "") - (object Attribute - tool "Data Modeler" - name "ChildMultiplicity" - value FALSE) - (object Attribute - tool "Data Modeler" - name "ChildMultiplicityName" - value ""))) - (object Attribute - tool "Data Modeler" - name "default__Role" - value (list Attribute_Set - (object Attribute - tool "Data Modeler" - name "dmItem" - value FALSE) - (object Attribute - tool "Data Modeler" - name "DMName" - value "") - (object Attribute - tool "Data Modeler" - name "ConstraintName" - value ""))) - (object Attribute - tool "Data Modeler" - name "default__Operation" - value (list Attribute_Set - (object Attribute - tool "Data Modeler" - name "dmItem" - value FALSE) - (object Attribute - tool "Data Modeler" - name "DMName" - value "") - (object Attribute - tool "Data Modeler" - name "IsConstraint" - value FALSE) - (object Attribute - tool "Data Modeler" - name "ConstraintType" - value "") - (object Attribute - tool "Data Modeler" - name "IsIndex" - value FALSE) - (object Attribute - tool "Data Modeler" - name "IsTrigger" - value FALSE) - (object Attribute - tool "Data Modeler" - name "IsCluster" - value FALSE) - (object Attribute - tool "Data Modeler" - name "TableSpace" - value "") - (object Attribute - tool "Data Modeler" - name "FillFactor" - value 0) - (object Attribute - tool "Data Modeler" - name "KeyList" - value "") - (object Attribute - tool "Data Modeler" - name "CheckPredicate" - value "") - (object Attribute - tool "Data Modeler" - name "IsUnique" - value FALSE) - (object Attribute - tool "Data Modeler" - name "DeferalMode" - value "") - (object Attribute - tool "Data Modeler" - name "InitialCheckTime" - value "") - (object Attribute - tool "Data Modeler" - name "TriggerType" - value "") - (object Attribute - tool "Data Modeler" - name "TriggerReferencePart" - value "") - (object Attribute - tool "Data Modeler" - name "IsInsertEvent" - value FALSE) - (object Attribute - tool "Data Modeler" - name "IsUpdateEvent" - value FALSE) - (object Attribute - tool "Data Modeler" - name "IsDeleteEvent" - value FALSE))) - (object Attribute - tool "Data Modeler" - name "HiddenTool" - value FALSE) - (object Attribute - tool "Data Modeler Communicator" - name "HiddenTool" - value FALSE) - (object Attribute - tool "framework" - name "HiddenTool" - value FALSE) - (object Attribute - tool "Java" - name "propertyId" - value "809135966") - (object Attribute - tool "Java" - name "default__Project" - value (list Attribute_Set - (object Attribute - tool "Java" - name "RootDir" - value "") - (object Attribute - tool "Java" - name "CreateMissingDirectories" - value TRUE) - (object Attribute - tool "Java" - name "StopOnError" - value FALSE) - (object Attribute - tool "Java" - name "UsePrefixes" - value FALSE) - (object Attribute - tool "Java" - name "AutoSync" - value FALSE) - (object Attribute - tool "Java" - name "Editor" - value ("EditorType" 100)) - (object Attribute - tool "Java" - name "VM" - value ("VMType" 200)) - (object Attribute - tool "Java" - name "ClassPath" - value "") - (object Attribute - tool "Java" - name "EditorType" - value (list Attribute_Set - (object Attribute - tool "Java" - name "BuiltIn" - value 100) - (object Attribute - tool "Java" - name "WindowsShell" - value 101))) - (object Attribute - tool "Java" - name "VMType" - value (list Attribute_Set - (object Attribute - tool "Java" - name "Sun" - value 200) - (object Attribute - tool "Java" - name "Microsoft" - value 201) - (object Attribute - tool "Java" - name "IBM" - value 202))) - (object Attribute - tool "Java" - name "InstanceVariablePrefix" - value "m_") - (object Attribute - tool "Java" - name "ClassVariablePrefix" - value "s_") - (object Attribute - tool "Java" - name "DefaultAttributeDataType" - value "int") - (object Attribute - tool "Java" - name "DefaultOperationReturnType" - value "void") - (object Attribute - tool "Java" - name "NoClassCustomDlg" - value FALSE) - (object Attribute - tool "Java" - name "GlobalImports" - value (value Text "")) - (object Attribute - tool "Java" - name "OpenBraceClassStyle" - value TRUE) - (object Attribute - tool "Java" - name "OpenBraceMethodStyle" - value TRUE) - (object Attribute - tool "Java" - name "UseTabs" - value FALSE) - (object Attribute - tool "Java" - name "UseSpaces" - value TRUE) - (object Attribute - tool "Java" - name "SpacingItems" - value 3) - (object Attribute - tool "Java" - name "RoseDefaultCommentStyle" - value TRUE) - (object Attribute - tool "Java" - name "AsteriskCommentStyle" - value FALSE) - (object Attribute - tool "Java" - name "JavaCommentStyle" - value FALSE) - (object Attribute - tool "Java" - name "JavadocAuthor" - value TRUE) - (object Attribute - tool "Java" - name "JavadocDeprecated" - value FALSE) - (object Attribute - tool "Java" - name "JavadocException" - value TRUE) - (object Attribute - tool "Java" - name "JavadocParam" - value TRUE) - (object Attribute - tool "Java" - name "JavadocReturn" - value TRUE) - (object Attribute - tool "Java" - name "JavadocSee" - value FALSE) - (object Attribute - tool "Java" - name "JavadocSerial" - value FALSE) - (object Attribute - tool "Java" - name "JavadocSerialdata" - value FALSE) - (object Attribute - tool "Java" - name "JavadocSerialfield" - value FALSE) - (object Attribute - tool "Java" - name "JavadocSince" - value FALSE) - (object Attribute - tool "Java" - name "JavadocVersion" - value FALSE) - (object Attribute - tool "Java" - name "JavadocLink" - value FALSE))) - (object Attribute - tool "Java" - name "default__Class" - value (list Attribute_Set - (object Attribute - tool "Java" - name "Final" - value FALSE) - (object Attribute - tool "Java" - name "Static" - value FALSE) - (object Attribute - tool "Java" - name "GenerateDefaultConstructor" - value TRUE) - (object Attribute - tool "Java" - name "ConstructorIs" - value ("Ctor_Set" 62)) - (object Attribute - tool "Java" - name "Ctor_Set" - value (list Attribute_Set - (object Attribute - tool "Java" - name "public" - value 62) - (object Attribute - tool "Java" - name "protected" - value 63) - (object Attribute - tool "Java" - name "private" - value 64) - (object Attribute - tool "Java" - name "package" - value 65))) - (object Attribute - tool "Java" - name "GenerateFinalizer" - value FALSE) - (object Attribute - tool "Java" - name "GenerateStaticInitializer" - value FALSE) - (object Attribute - tool "Java" - name "GenerateInstanceInitializer" - value FALSE) - (object Attribute - tool "Java" - name "GenerateCode" - value TRUE) - (object Attribute - tool "Java" - name "DisableAutoSync" - value FALSE))) - (object Attribute - tool "Java" - name "default__Module-Spec" - value (list Attribute_Set - (object Attribute - tool "Java" - name "CmIdentification" - value (value Text "")) - (object Attribute - tool "Java" - name "CopyrightNotice" - value (value Text "")))) - (object Attribute - tool "Java" - name "default__Module-Body" - value (list Attribute_Set - (object Attribute - tool "Java" - name "CmIdentification" - value (value Text "")) - (object Attribute - tool "Java" - name "CopyrightNotice" - value (value Text "")))) - (object Attribute - tool "Java" - name "default__Operation" - value (list Attribute_Set - (object Attribute - tool "Java" - name "Abstract" - value FALSE) - (object Attribute - tool "Java" - name "Static" - value FALSE) - (object Attribute - tool "Java" - name "Final" - value FALSE) - (object Attribute - tool "Java" - name "Native" - value FALSE) - (object Attribute - tool "Java" - name "Synchronized" - value FALSE))) - (object Attribute - tool "Java" - name "default__Attribute" - value (list Attribute_Set - (object Attribute - tool "Java" - name "Final" - value FALSE) - (object Attribute - tool "Java" - name "Transient" - value FALSE) - (object Attribute - tool "Java" - name "Volatile" - value FALSE) - (object Attribute - tool "Java" - name "PropertyType" - value ("BeanProperty_Set" 71)) - (object Attribute - tool "Java" - name "BeanProperty_Set" - value (list Attribute_Set - (object Attribute - tool "Java" - name "Not A Property" - value 71) - (object Attribute - tool "Java" - name "Simple" - value 72) - (object Attribute - tool "Java" - name "Bound" - value 73) - (object Attribute - tool "Java" - name "Constrained" - value 74))) - (object Attribute - tool "Java" - name "IndividualChangeMgt" - value FALSE) - (object Attribute - tool "Java" - name "Read/Write" - value ("Read/Write_Set" 81)) - (object Attribute - tool "Java" - name "Read/Write_Set" - value (list Attribute_Set - (object Attribute - tool "Java" - name "Read & Write" - value 81) - (object Attribute - tool "Java" - name "Read Only" - value 82) - (object Attribute - tool "Java" - name "Write Only" - value 83))) - (object Attribute - tool "Java" - name "GenerateFullyQualifiedTypes" - value FALSE))) - (object Attribute - tool "Java" - name "default__Role" - value (list Attribute_Set - (object Attribute - tool "Java" - name "ContainerClass" - value "") - (object Attribute - tool "Java" - name "InitialValue" - value "") - (object Attribute - tool "Java" - name "Final" - value FALSE) - (object Attribute - tool "Java" - name "Transient" - value FALSE) - (object Attribute - tool "Java" - name "Volatile" - value FALSE) - (object Attribute - tool "Java" - name "PropertyType" - value ("BeanProperty_Set" 71)) - (object Attribute - tool "Java" - name "BeanProperty_Set" - value (list Attribute_Set - (object Attribute - tool "Java" - name "Not A Property" - value 71) - (object Attribute - tool "Java" - name "Simple" - value 72) - (object Attribute - tool "Java" - name "Bound" - value 73) - (object Attribute - tool "Java" - name "Constrained" - value 74))) - (object Attribute - tool "Java" - name "IndividualChangeMgt" - value FALSE) - (object Attribute - tool "Java" - name "Read/Write" - value ("Read/Write_Set" 81)) - (object Attribute - tool "Java" - name "Read/Write_Set" - value (list Attribute_Set - (object Attribute - tool "Java" - name "Read & Write" - value 81) - (object Attribute - tool "Java" - name "Read Only" - value 82) - (object Attribute - tool "Java" - name "Write Only" - value 83))) - (object Attribute - tool "Java" - name "GenerateFullyQualifiedTypes" - value FALSE) - (object Attribute - tool "Java" - name "IsNavigable" - value TRUE))) - (object Attribute - tool "Java" - name "HiddenTool" - value FALSE) - (object Attribute - tool "cg" - name "propertyId" - value "809135966") - (object Attribute - tool "cg" - name "default__Project" - value (list Attribute_Set - (object Attribute - tool "cg" - name "AllowGenerateOverNewerAnnotations" - value FALSE) - (object Attribute - tool "cg" - name "AllowGenerateOverNewerVersion" - value TRUE) - (object Attribute - tool "cg" - name "UseMSVC" - value FALSE) - (object Attribute - tool "cg" - name "HeaderFileExtension" - value "h") - (object Attribute - tool "cg" - name "HeaderFileBackupExtension" - value "h~") - (object Attribute - tool "cg" - name "HeaderFileTemporaryExtension" - value "h#") - (object Attribute - tool "cg" - name "CodeFileExtension" - value "cpp") - (object Attribute - tool "cg" - name "CodeFileBackupExtension" - value "cp~") - (object Attribute - tool "cg" - name "CodeFileTemporaryExtension" - value "cp#") - (object Attribute - tool "cg" - name "CreateMissingDirectories" - value TRUE) - (object Attribute - tool "cg" - name "StopOnError" - value FALSE) - (object Attribute - tool "cg" - name "ErrorLimit" - value 30) - (object Attribute - tool "cg" - name "Directory" - value (value Text "$BNEP")) - (object Attribute - tool "cg" - name "PathSeparator" - value "") - (object Attribute - tool "cg" - name "FileNameFormat" - value "128vx_b") - (object Attribute - tool "cg" - name "BooleanType" - value (value Text "TBool")) - (object Attribute - tool "cg" - name "AllowTemplates" - value TRUE) - (object Attribute - tool "cg" - name "AllowExplicitInstantiations" - value FALSE) - (object Attribute - tool "cg" - name "AllowProtectedInheritance" - value TRUE) - (object Attribute - tool "cg" - name "CommentWidth" - value 60) - (object Attribute - tool "cg" - name "OneByValueContainer" - value "$targetClass") - (object Attribute - tool "cg" - name "OneByReferenceContainer" - value "$targetClass *") - (object Attribute - tool "cg" - name "OptionalByValueContainer" - value "OptionalByValue<$targetClass>") - (object Attribute - tool "cg" - name "OptionalByReferenceContainer" - value "$targetClass *") - (object Attribute - tool "cg" - name "FixedByValueContainer" - value "$targetClass[$limit]") - (object Attribute - tool "cg" - name "UnorderedFixedByValueContainer" - value "$targetClass[$limit]") - (object Attribute - tool "cg" - name "FixedByReferenceContainer" - value "$targetClass *[$limit]") - (object Attribute - tool "cg" - name "UnorderedFixedByReferenceContainer" - value "$targetClass *[$limit]") - (object Attribute - tool "cg" - name "BoundedByValueContainer" - value "BoundedListByValue<$targetClass,$limit>") - (object Attribute - tool "cg" - name "UnorderedBoundedByValueContainer" - value "BoundedSetByValue<$targetClass,$limit>") - (object Attribute - tool "cg" - name "BoundedByReferenceContainer" - value "BoundedListByReference<$targetClass,$limit>") - (object Attribute - tool "cg" - name "UnorderedBoundedByReferenceContainer" - value "BoundedSetByReference<$targetClass,$limit>") - (object Attribute - tool "cg" - name "UnboundedByValueContainer" - value "UnboundedListByValue<$targetClass>") - (object Attribute - tool "cg" - name "UnorderedUnboundedByValueContainer" - value "UnboundedSetByValue<$targetClass>") - (object Attribute - tool "cg" - name "UnboundedByReferenceContainer" - value "UnboundedListByReference<$targetClass>") - (object Attribute - tool "cg" - name "UnorderedUnboundedByReferenceContainer" - value "UnboundedSetByReference<$targetClass>") - (object Attribute - tool "cg" - name "QualifiedByValueContainer" - value "AssociationByValue<$qualtype, $qualcont>") - (object Attribute - tool "cg" - name "UnorderedQualifiedByValueContainer" - value "DictionaryByValue<$qualtype, $qualcont>") - (object Attribute - tool "cg" - name "QualifiedByReferenceContainer" - value "AssociationByReference<$qualtype, $qualcont>") - (object Attribute - tool "cg" - name "UnorderedQualifiedByReferenceContainer" - value "DictionaryByReference<$qualtype, $qualcont>") - (object Attribute - tool "cg" - name "AlwaysKeepOrphanedCode" - value TRUE))) - (object Attribute - tool "cg" - name "compiler2.1__Project" - value (list Attribute_Set - (object Attribute - tool "cg" - name "AllowGenerateOverNewerAnnotations" - value FALSE) - (object Attribute - tool "cg" - name "AllowGenerateOverNewerVersion" - value FALSE) - (object Attribute - tool "cg" - name "HeaderFileExtension" - value "h") - (object Attribute - tool "cg" - name "HeaderFileBackupExtension" - value "h~") - (object Attribute - tool "cg" - name "HeaderFileTemporaryExtension" - value "h#") - (object Attribute - tool "cg" - name "CodeFileExtension" - value "cpp") - (object Attribute - tool "cg" - name "CodeFileBackupExtension" - value "cp~") - (object Attribute - tool "cg" - name "CodeFileTemporaryExtension" - value "cp#") - (object Attribute - tool "cg" - name "CreateMissingDirectories" - value TRUE) - (object Attribute - tool "cg" - name "StopOnError" - value FALSE) - (object Attribute - tool "cg" - name "ErrorLimit" - value 30) - (object Attribute - tool "cg" - name "Directory" - value "$ROSECPP_SOURCE") - (object Attribute - tool "cg" - name "BooleanType" - value "int") - (object Attribute - tool "cg" - name "AllowTemplates" - value FALSE) - (object Attribute - tool "cg" - name "AllowExplicitInstantiations" - value FALSE) - (object Attribute - tool "cg" - name "AllowProtectedInheritance" - value FALSE) - (object Attribute - tool "cg" - name "OneByValueContainer" - value "$targetClass") - (object Attribute - tool "cg" - name "OneByReferenceContainer" - value "$targetClass *") - (object Attribute - tool "cg" - name "OptionalByValueContainer" - value "OptionalByValue(sizeof($targetClass))") - (object Attribute - tool "cg" - name "OptionalByReferenceContainer" - value "$targetClass *") - (object Attribute - tool "cg" - name "FixedByValueContainer" - value "$targetClass[$limit]") - (object Attribute - tool "cg" - name "UnorderedFixedByValueContainer" - value "$targetClass[$limit]") - (object Attribute - tool "cg" - name "FixedByReferenceContainer" - value "$targetClass *[$limit]") - (object Attribute - tool "cg" - name "UnorderedFixedByReferenceContainer" - value "$targetClass *[$limit]") - (object Attribute - tool "cg" - name "BoundedByValueContainer" - value "BoundedListByValue(sizeof($targetClass),$limit)") - (object Attribute - tool "cg" - name "UnorderedBoundedByValueContainer" - value "BoundedSetByValue(sizeof($targetClass),$limit)") - (object Attribute - tool "cg" - name "BoundedByReferenceContainer" - value "BoundedListByReference($limit)") - (object Attribute - tool "cg" - name "UnorderedBoundedByReferenceContainer" - value "BoundedSetByReference($limit)") - (object Attribute - tool "cg" - name "UnboundedByValueContainer" - value "UnboundedListByValue(sizeof($targetClass))") - (object Attribute - tool "cg" - name "UnorderedUnboundedByValueContainer" - value "UnboundedSetByValue(sizeof($targetClass))") - (object Attribute - tool "cg" - name "UnboundedByReferenceContainer" - value "UnboundedListByReference") - (object Attribute - tool "cg" - name "UnorderedUnboundedByReferenceContainer" - value "UnboundedSetByReference") - (object Attribute - tool "cg" - name "QualifiedByValueContainer" - value "AssociationByValue(sizeof($qualtype), sizeof($qualcont))") - (object Attribute - tool "cg" - name "UnorderedQualifiedByValueContainer" - value "DictionaryByValue(sizeof($qualtype), sizeof($qualcont))") - (object Attribute - tool "cg" - name "QualifiedByReferenceContainer" - value "AssociationByReference(sizeof($qualtype), sizeof($qualcont))") - (object Attribute - tool "cg" - name "UnorderedQualifiedByReferenceContainer" - value "DictionaryByReference(sizeof($qualtype), sizeof($qualcont))") - (object Attribute - tool "cg" - name "PathSeparator" - value "") - (object Attribute - tool "cg" - name "FileNameFormat" - value "128vx_b") - (object Attribute - tool "cg" - name "AlwaysKeepOrphanedCode" - value FALSE) - (object Attribute - tool "cg" - name "UseMSVC" - value FALSE) - (object Attribute - tool "cg" - name "CommentWidth" - value 60))) - (object Attribute - tool "cg" - name "compiler3.0__Project" - value (list Attribute_Set - (object Attribute - tool "cg" - name "AllowGenerateOverNewerAnnotations" - value FALSE) - (object Attribute - tool "cg" - name "AllowGenerateOverNewerVersion" - value FALSE) - (object Attribute - tool "cg" - name "HeaderFileExtension" - value "h") - (object Attribute - tool "cg" - name "HeaderFileBackupExtension" - value "h~") - (object Attribute - tool "cg" - name "HeaderFileTemporaryExtension" - value "h#") - (object Attribute - tool "cg" - name "CodeFileExtension" - value "cpp") - (object Attribute - tool "cg" - name "CodeFileBackupExtension" - value "cp~") - (object Attribute - tool "cg" - name "CodeFileTemporaryExtension" - value "cp#") - (object Attribute - tool "cg" - name "CreateMissingDirectories" - value TRUE) - (object Attribute - tool "cg" - name "StopOnError" - value FALSE) - (object Attribute - tool "cg" - name "ErrorLimit" - value 30) - (object Attribute - tool "cg" - name "Directory" - value "$ROSECPP_SOURCE") - (object Attribute - tool "cg" - name "BooleanType" - value "int") - (object Attribute - tool "cg" - name "AllowTemplates" - value TRUE) - (object Attribute - tool "cg" - name "AllowExplicitInstantiations" - value FALSE) - (object Attribute - tool "cg" - name "AllowProtectedInheritance" - value TRUE) - (object Attribute - tool "cg" - name "OneByValueContainer" - value "$targetClass") - (object Attribute - tool "cg" - name "OneByReferenceContainer" - value "$targetClass *") - (object Attribute - tool "cg" - name "OptionalByValueContainer" - value "OptionalByValue<$targetClass>") - (object Attribute - tool "cg" - name "OptionalByReferenceContainer" - value "$targetClass *") - (object Attribute - tool "cg" - name "FixedByValueContainer" - value "$targetClass[$limit]") - (object Attribute - tool "cg" - name "UnorderedFixedByValueContainer" - value "$targetClass[$limit]") - (object Attribute - tool "cg" - name "FixedByReferenceContainer" - value "$targetClass *[$limit]") - (object Attribute - tool "cg" - name "UnorderedFixedByReferenceContainer" - value "$targetClass *[$limit]") - (object Attribute - tool "cg" - name "BoundedByValueContainer" - value "BoundedListByValue<$targetClass,$limit>") - (object Attribute - tool "cg" - name "UnorderedBoundedByValueContainer" - value "BoundedSetByValue<$targetClass,$limit>") - (object Attribute - tool "cg" - name "BoundedByReferenceContainer" - value "BoundedListByReference<$targetClass,$limit>") - (object Attribute - tool "cg" - name "UnorderedBoundedByReferenceContainer" - value "BoundedSetByReference<$targetClass,$limit>") - (object Attribute - tool "cg" - name "UnboundedByValueContainer" - value "UnboundedListByValue<$targetClass>") - (object Attribute - tool "cg" - name "UnorderedUnboundedByValueContainer" - value "UnboundedSetByValue<$targetClass>") - (object Attribute - tool "cg" - name "UnboundedByReferenceContainer" - value "UnboundedListByReference<$targetClass>") - (object Attribute - tool "cg" - name "UnorderedUnboundedByReferenceContainer" - value "UnboundedSetByReference<$targetClass>") - (object Attribute - tool "cg" - name "QualifiedByValueContainer" - value "AssociationByValue<$qualtype, $qualcont>") - (object Attribute - tool "cg" - name "UnorderedQualifiedByValueContainer" - value "DictionaryByValue<$qualtype, $qualcont>") - (object Attribute - tool "cg" - name "QualifiedByReferenceContainer" - value "AssociationByReference<$qualtype, $qualcont>") - (object Attribute - tool "cg" - name "UnorderedQualifiedByReferenceContainer" - value "DictionaryByReference<$qualtype, $qualcont>") - (object Attribute - tool "cg" - name "PathSeparator" - value "") - (object Attribute - tool "cg" - name "FileNameFormat" - value "128vx_b") - (object Attribute - tool "cg" - name "AlwaysKeepOrphanedCode" - value FALSE) - (object Attribute - tool "cg" - name "UseMSVC" - value FALSE) - (object Attribute - tool "cg" - name "CommentWidth" - value 60))) - (object Attribute - tool "cg" - name "default__Class" - value (list Attribute_Set - (object Attribute - tool "cg" - name "CodeName" - value "") - (object Attribute - tool "cg" - name "ImplementationType" - value "") - (object Attribute - tool "cg" - name "ClassKey" - value "class") - (object Attribute - tool "cg" - name "GenerateEmptyRegions" - value ("GenerateEmptyRegionSet" 3)) - (object Attribute - tool "cg" - name "GenerateEmptyRegionSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "None" - value 0) - (object Attribute - tool "cg" - name "Preserved" - value 1) - (object Attribute - tool "cg" - name "Unpreserved" - value 2) - (object Attribute - tool "cg" - name "All" - value 3))) - (object Attribute - tool "cg" - name "PutBodiesInSpec" - value FALSE) - (object Attribute - tool "cg" - name "GenerateDefaultConstructor" - value ("GenerateSet" 206)) - (object Attribute - tool "cg" - name "DefaultConstructorVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "InlineDefaultConstructor" - value FALSE) - (object Attribute - tool "cg" - name "ExplicitDefaultConstructor" - value FALSE) - (object Attribute - tool "cg" - name "GenerateCopyConstructor" - value ("GenerateSet" 206)) - (object Attribute - tool "cg" - name "CopyConstructorVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "InlineCopyConstructor" - value FALSE) - (object Attribute - tool "cg" - name "ExplicitCopyConstructor" - value FALSE) - (object Attribute - tool "cg" - name "GenerateDestructor" - value TRUE) - (object Attribute - tool "cg" - name "DestructorVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "DestructorKind" - value ("ThreeKindSet" 200)) - (object Attribute - tool "cg" - name "InlineDestructor" - value FALSE) - (object Attribute - tool "cg" - name "GenerateAssignmentOperation" - value ("GenerateSet" 206)) - (object Attribute - tool "cg" - name "AssignmentVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "AssignmentKind" - value ("ThreeKindSet" 200)) - (object Attribute - tool "cg" - name "InlineAssignmentOperation" - value FALSE) - (object Attribute - tool "cg" - name "GenerateEqualityOperations" - value ("GenerateSet" 206)) - (object Attribute - tool "cg" - name "EqualityVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "EqualityKind" - value ("FriendKindSet" 200)) - (object Attribute - tool "cg" - name "InlineEqualityOperations" - value FALSE) - (object Attribute - tool "cg" - name "GenerateRelationalOperations" - value FALSE) - (object Attribute - tool "cg" - name "RelationalVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "RelationalKind" - value ("FriendKindSet" 200)) - (object Attribute - tool "cg" - name "InlineRelationalOperations" - value FALSE) - (object Attribute - tool "cg" - name "GenerateStorageMgmtOperations" - value FALSE) - (object Attribute - tool "cg" - name "StorageMgmtVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "InlineStorageMgmtOperations" - value FALSE) - (object Attribute - tool "cg" - name "GenerateSubscriptOperation" - value FALSE) - (object Attribute - tool "cg" - name "SubscriptVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "SubscriptKind" - value ("ThreeKindSet" 200)) - (object Attribute - tool "cg" - name "SubscriptResultType" - value "") - (object Attribute - tool "cg" - name "InlineSubscriptOperation" - value FALSE) - (object Attribute - tool "cg" - name "GenerateDereferenceOperation" - value FALSE) - (object Attribute - tool "cg" - name "DereferenceVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "DereferenceKind" - value ("ThreeKindSet" 200)) - (object Attribute - tool "cg" - name "DereferenceResultType" - value "") - (object Attribute - tool "cg" - name "InlineDereferenceOperation" - value FALSE) - (object Attribute - tool "cg" - name "GenerateIndirectionOperation" - value FALSE) - (object Attribute - tool "cg" - name "IndirectionVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "IndirectionKind" - value ("ThreeKindSet" 200)) - (object Attribute - tool "cg" - name "IndirectionResultType" - value "") - (object Attribute - tool "cg" - name "InlineIndirectionOperation" - value FALSE) - (object Attribute - tool "cg" - name "GenerateStreamOperations" - value FALSE) - (object Attribute - tool "cg" - name "StreamVisibility" - value ("VisibilitySet" 45)) - (object Attribute - tool "cg" - name "InlineStreamOperations" - value FALSE) - (object Attribute - tool "cg" - name "ThreeKindSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Common" - value 200) - (object Attribute - tool "cg" - name "Virtual" - value 201) - (object Attribute - tool "cg" - name "Abstract" - value 202))) - (object Attribute - tool "cg" - name "KindSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Common" - value 200) - (object Attribute - tool "cg" - name "Virtual" - value 201) - (object Attribute - tool "cg" - name "Abstract" - value 202) - (object Attribute - tool "cg" - name "Static" - value 203))) - (object Attribute - tool "cg" - name "FriendKindSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Common" - value 200) - (object Attribute - tool "cg" - name "Virtual" - value 201) - (object Attribute - tool "cg" - name "Abstract" - value 202) - (object Attribute - tool "cg" - name "Friend" - value 204))) - (object Attribute - tool "cg" - name "GenerateSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "DeclareAndDefine" - value 199) - (object Attribute - tool "cg" - name "DeclareOnly" - value 205) - (object Attribute - tool "cg" - name "DoNotDeclare" - value 206))) - (object Attribute - tool "cg" - name "VisibilitySet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Public" - value 45) - (object Attribute - tool "cg" - name "Protected" - value 44) - (object Attribute - tool "cg" - name "Private" - value 43) - (object Attribute - tool "cg" - name "Implementation" - value 14))))) - (object Attribute - tool "cg" - name "default__Module-Spec" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value TRUE) - (object Attribute - tool "cg" - name "GenerateEmptyRegions" - value ("GenerateEmptyRegionSet" 3)) - (object Attribute - tool "cg" - name "GenerateEmptyRegionSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "None" - value 0) - (object Attribute - tool "cg" - name "Preserved" - value 1) - (object Attribute - tool "cg" - name "Unpreserved" - value 2) - (object Attribute - tool "cg" - name "All" - value 3))) - (object Attribute - tool "cg" - name "CmIdentification" - value (value Text " $module last regenerated $date")) - (object Attribute - tool "cg" - name "CopyrightNotice" - value (value Text "Copyright (c) Symbian Software Ltd 2004. All Rights Reserved")) - (object Attribute - tool "cg" - name "FileName" - value "AUTO GENERATE") - (object Attribute - tool "cg" - name "AllowExtensionlessFileName" - value FALSE) - (object Attribute - tool "cg" - name "InclusionProtectionSymbol" - value "AUTO GENERATE") - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include "$file" -| - )) - (object Attribute - tool "cg" - name "IncludeBySimpleName" - value TRUE) - (object Attribute - tool "cg" - name "IncludePrecompiledHeader" - value FALSE) - (object Attribute - tool "cg" - name "IncludeOrder" - value "AMIR") - (object Attribute - tool "cg" - name "AdditionalIncludes" - value (value Text "")) - (object Attribute - tool "cg" - name "InliningStyle" - value ("InliningStyleSet" 207)) - (object Attribute - tool "cg" - name "InliningStyleSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "InClassDeclaration" - value 208) - (object Attribute - tool "cg" - name "FollowingClassDeclaration" - value 207))) - (object Attribute - tool "cg" - name "TypesDefined" - value (value Text "")) - (object Attribute - tool "cg" - name "IncludeClosure" - value (value Text "")))) - (object Attribute - tool "cg" - name "default__Module-Body" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Generate" - value TRUE) - (object Attribute - tool "cg" - name "GenerateEmptyRegions" - value ("GenerateEmptyRegionSet" 3)) - (object Attribute - tool "cg" - name "GenerateEmptyRegionSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "None" - value 0) - (object Attribute - tool "cg" - name "Preserved" - value 1) - (object Attribute - tool "cg" - name "Unpreserved" - value 2) - (object Attribute - tool "cg" - name "All" - value 3))) - (object Attribute - tool "cg" - name "CmIdentification" - value (value Text " $module last regenerated $date")) - (object Attribute - tool "cg" - name "CopyrightNotice" - value (value Text "Copyright (c) Symbian Software Ltd 2004. All Rights Reserved")) - (object Attribute - tool "cg" - name "FileName" - value "AUTO GENERATE") - (object Attribute - tool "cg" - name "AllowExtensionlessFileName" - value FALSE) - (object Attribute - tool "cg" - name "IncludeFormat" - value (value Text -|// $package -|#include "$file" -| - )) - (object Attribute - tool "cg" - name "IncludeBySimpleName" - value TRUE) - (object Attribute - tool "cg" - name "IncludePrecompiledHeader" - value TRUE) - (object Attribute - tool "cg" - name "IncludeOrder" - value "AMIR") - (object Attribute - tool "cg" - name "AdditionalIncludes" - value (value Text "")) - (object Attribute - tool "cg" - name "InliningStyle" - value ("InliningStyleSet" 207)) - (object Attribute - tool "cg" - name "InliningStyleSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "InClassDeclaration" - value 208) - (object Attribute - tool "cg" - name "FollowingClassDeclaration" - value 207))) - (object Attribute - tool "cg" - name "TypesDefined" - value (value Text "")) - (object Attribute - tool "cg" - name "IncludeClosure" - value (value Text "")))) - (object Attribute - tool "cg" - name "default__Operation" - value (list Attribute_Set - (object Attribute - tool "cg" - name "CodeName" - value "") - (object Attribute - tool "cg" - name "OperationKind" - value ("OperationKindSet" 200)) - (object Attribute - tool "cg" - name "OperationKindSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Common" - value 200) - (object Attribute - tool "cg" - name "Virtual" - value 201) - (object Attribute - tool "cg" - name "Abstract" - value 202) - (object Attribute - tool "cg" - name "Static" - value 203) - (object Attribute - tool "cg" - name "Friend" - value 204))) - (object Attribute - tool "cg" - name "GenerateAbstractBody" - value FALSE) - (object Attribute - tool "cg" - name "SpecialDeclReturnType" - value "") - (object Attribute - tool "cg" - name "OperationIsConst" - value FALSE) - (object Attribute - tool "cg" - name "OperationIsExplicit" - value FALSE) - (object Attribute - tool "cg" - name "Inline" - value FALSE) - (object Attribute - tool "cg" - name "EntryCode" - value (value Text "")) - (object Attribute - tool "cg" - name "ExitCode" - value (value Text "")) - (object Attribute - tool "cg" - name "CCRegion" - value "") - (object Attribute - tool "cg" - name "GenerateEmptyRegions" - value ("GenerateEmptyRegionSet" 3)) - (object Attribute - tool "cg" - name "GenerateEmptyRegionSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "None" - value 0) - (object Attribute - tool "cg" - name "Preserved" - value 1) - (object Attribute - tool "cg" - name "Unpreserved" - value 2) - (object Attribute - tool "cg" - name "All" - value 3))) - (object Attribute - tool "cg" - name "BodyAnnotations" - value ""))) - (object Attribute - tool "cg" - name "default__Has" - value (list Attribute_Set - (object Attribute - tool "cg" - name "CodeName" - value "") - (object Attribute - tool "cg" - name "Ordered" - value TRUE) - (object Attribute - tool "cg" - name "NameIfUnlabeled" - value "the_$supplier") - (object Attribute - tool "cg" - name "GenerateDataMember" - value TRUE) - (object Attribute - tool "cg" - name "DataMemberName" - value (value Text "i$relationship")) - (object Attribute - tool "cg" - name "DataMemberVisibility" - value ("DataMemberVisibilitySet" 14)) - (object Attribute - tool "cg" - name "DataMemberVisibilitySet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Public" - value 45) - (object Attribute - tool "cg" - name "Protected" - value 44) - (object Attribute - tool "cg" - name "Private" - value 43) - (object Attribute - tool "cg" - name "Implementation" - value 14) - (object Attribute - tool "cg" - name "AtRelationshipVisibility" - value 210))) - (object Attribute - tool "cg" - name "DataMemberMutability" - value ("DataMemberMutabilitySet" 0)) - (object Attribute - tool "cg" - name "DataMemberMutabilitySet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Unrestricted" - value 0) - (object Attribute - tool "cg" - name "Mutable" - value 1) - (object Attribute - tool "cg" - name "Const" - value 2))) - (object Attribute - tool "cg" - name "DataMemberIsVolatile" - value FALSE) - (object Attribute - tool "cg" - name "DataMemberFieldSize" - value "") - (object Attribute - tool "cg" - name "InitialValue" - value (value Text "")) - (object Attribute - tool "cg" - name "GenerateGetOperation" - value FALSE) - (object Attribute - tool "cg" - name "GenerateSetOperation" - value FALSE) - (object Attribute - tool "cg" - name "GetName" - value "get_$relationship") - (object Attribute - tool "cg" - name "SetName" - value "set_$relationship") - (object Attribute - tool "cg" - name "GetSetKinds" - value ("GetSetKindsSet" 200)) - (object Attribute - tool "cg" - name "GetSetKindsSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Common" - value 200) - (object Attribute - tool "cg" - name "Virtual" - value 201) - (object Attribute - tool "cg" - name "Abstract" - value 202) - (object Attribute - tool "cg" - name "Static" - value 203) - (object Attribute - tool "cg" - name "Friend" - value 204))) - (object Attribute - tool "cg" - name "ContainerClass" - value "") - (object Attribute - tool "cg" - name "SelectorName" - value "") - (object Attribute - tool "cg" - name "SelectorType" - value "") - (object Attribute - tool "cg" - name "GetIsConst" - value TRUE) - (object Attribute - tool "cg" - name "GetResultIsConst" - value ("GetResultIsConstSet" 0)) - (object Attribute - tool "cg" - name "GetResultIsConstSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "False" - value 0) - (object Attribute - tool "cg" - name "True" - value 1) - (object Attribute - tool "cg" - name "Same_As_Function" - value 2))) - (object Attribute - tool "cg" - name "GetSetByReference" - value FALSE) - (object Attribute - tool "cg" - name "InlineGet" - value TRUE) - (object Attribute - tool "cg" - name "SetReturnsValue" - value FALSE) - (object Attribute - tool "cg" - name "InlineSet" - value TRUE) - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value TRUE) - (object Attribute - tool "cg" - name "HasRelTypeSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Array" - value 24) - (object Attribute - tool "cg" - name "Sequence" - value 47))))) - (object Attribute - tool "cg" - name "default__Association" - value (list Attribute_Set - (object Attribute - tool "cg" - name "NameIfUnlabeled" - value "the_$targetClass"))) - (object Attribute - tool "cg" - name "default__Inherit" - value (list Attribute_Set - (object Attribute - tool "cg" - name "InstanceArguments" - value ""))) - (object Attribute - tool "cg" - name "default__Role" - value (list Attribute_Set - (object Attribute - tool "cg" - name "CodeName" - value "") - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE) - (object Attribute - tool "cg" - name "NameIfUnlabeled" - value "the_$targetClass") - (object Attribute - tool "cg" - name "GenerateDataMember" - value TRUE) - (object Attribute - tool "cg" - name "DataMemberName" - value "$target") - (object Attribute - tool "cg" - name "DataMemberVisibility" - value ("DataMemberVisibilitySet" 14)) - (object Attribute - tool "cg" - name "DataMemberVisibilitySet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Public" - value 45) - (object Attribute - tool "cg" - name "Protected" - value 44) - (object Attribute - tool "cg" - name "Private" - value 43) - (object Attribute - tool "cg" - name "Implementation" - value 14) - (object Attribute - tool "cg" - name "AtRelationshipVisibility" - value 210))) - (object Attribute - tool "cg" - name "DataMemberMutability" - value ("DataMemberMutabilitySet" 0)) - (object Attribute - tool "cg" - name "DataMemberMutabilitySet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Unrestricted" - value 0) - (object Attribute - tool "cg" - name "Mutable" - value 1) - (object Attribute - tool "cg" - name "Const" - value 2))) - (object Attribute - tool "cg" - name "DataMemberIsVolatile" - value FALSE) - (object Attribute - tool "cg" - name "DataMemberFieldSize" - value "") - (object Attribute - tool "cg" - name "InitialValue" - value (value Text "")) - (object Attribute - tool "cg" - name "ContainerClass" - value "") - (object Attribute - tool "cg" - name "ContainerGet" - value "$data.get($keys)") - (object Attribute - tool "cg" - name "ContainerSet" - value "$data.set($keys,$value)") - (object Attribute - tool "cg" - name "QualifiedContainer" - value "") - (object Attribute - tool "cg" - name "AssocClassContainer" - value "$supplier *") - (object Attribute - tool "cg" - name "AssocClassInitialValue" - value (value Text "")) - (object Attribute - tool "cg" - name "GetSetKinds" - value ("GetSetKindsSet" 200)) - (object Attribute - tool "cg" - name "GetSetKindsSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Common" - value 200) - (object Attribute - tool "cg" - name "Virtual" - value 201) - (object Attribute - tool "cg" - name "Abstract" - value 202) - (object Attribute - tool "cg" - name "Static" - value 203) - (object Attribute - tool "cg" - name "Friend" - value 204))) - (object Attribute - tool "cg" - name "GetSetByReference" - value FALSE) - (object Attribute - tool "cg" - name "GenerateGetOperation" - value TRUE) - (object Attribute - tool "cg" - name "GetName" - value "get_$target") - (object Attribute - tool "cg" - name "GetIsConst" - value TRUE) - (object Attribute - tool "cg" - name "GetResultIsConst" - value ("GetResultIsConstSet" 2)) - (object Attribute - tool "cg" - name "GetResultIsConstSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "False" - value 0) - (object Attribute - tool "cg" - name "True" - value 1) - (object Attribute - tool "cg" - name "Same_As_Function" - value 2))) - (object Attribute - tool "cg" - name "InlineGet" - value TRUE) - (object Attribute - tool "cg" - name "GenerateSetOperation" - value TRUE) - (object Attribute - tool "cg" - name "SetName" - value "set_$target") - (object Attribute - tool "cg" - name "SetReturnsValue" - value FALSE) - (object Attribute - tool "cg" - name "InlineSet" - value TRUE) - (object Attribute - tool "cg" - name "QualifiedGetSetByReference" - value ("QualifiedGetSetByReferenceSet" 2)) - (object Attribute - tool "cg" - name "QualifiedGetSetByReferenceSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "False" - value 0) - (object Attribute - tool "cg" - name "True" - value 1) - (object Attribute - tool "cg" - name "Same_As_GetSetByReference" - value 2))) - (object Attribute - tool "cg" - name "GenerateQualifiedGetOperation" - value TRUE) - (object Attribute - tool "cg" - name "QualifiedGetName" - value "get_$target") - (object Attribute - tool "cg" - name "QualifiedGetIsConst" - value TRUE) - (object Attribute - tool "cg" - name "QualifiedGetResultIsConst" - value ("GetResultIsConstSet" 2)) - (object Attribute - tool "cg" - name "InlineQualifiedGet" - value TRUE) - (object Attribute - tool "cg" - name "GenerateQualifiedSetOperation" - value TRUE) - (object Attribute - tool "cg" - name "QualifiedSetName" - value "set_$target") - (object Attribute - tool "cg" - name "QualifiedSetReturnsValue" - value FALSE) - (object Attribute - tool "cg" - name "InlineQualifiedSet" - value TRUE) - (object Attribute - tool "cg" - name "GenerateAssocClassDataMember" - value TRUE) - (object Attribute - tool "cg" - name "AssocClassDataMemberName" - value "$target") - (object Attribute - tool "cg" - name "AssocClassDataMemberVisibility" - value ("DataMemberVisibilitySet" 14)) - (object Attribute - tool "cg" - name "DataMemberVisibilitySet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Public" - value 45) - (object Attribute - tool "cg" - name "Protected" - value 44) - (object Attribute - tool "cg" - name "Private" - value 43) - (object Attribute - tool "cg" - name "Implementation" - value 14) - (object Attribute - tool "cg" - name "AtRelationshipVisibility" - value 210))) - (object Attribute - tool "cg" - name "AssocClassDataMemberMutability" - value ("DataMemberMutabilitySet" 0)) - (object Attribute - tool "cg" - name "DataMemberMutabilitySet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Unrestricted" - value 0) - (object Attribute - tool "cg" - name "Mutable" - value 1) - (object Attribute - tool "cg" - name "Const" - value 2))) - (object Attribute - tool "cg" - name "AssocClassDataMemberIsVolatile" - value FALSE) - (object Attribute - tool "cg" - name "AssocClassGetSetKinds" - value ("GetSetKindsSet" 200)) - (object Attribute - tool "cg" - name "GenerateAssocClassGetOperation" - value TRUE) - (object Attribute - tool "cg" - name "AssocClassGetName" - value "get_$target") - (object Attribute - tool "cg" - name "AssocClassGetIsConst" - value TRUE) - (object Attribute - tool "cg" - name "AssocClassGetResultIsConst" - value ("GetResultIsConstSet" 2)) - (object Attribute - tool "cg" - name "InlineAssocClassGet" - value TRUE) - (object Attribute - tool "cg" - name "GenerateAssocClassSetOperation" - value TRUE) - (object Attribute - tool "cg" - name "AssocClassSetName" - value "set_$target") - (object Attribute - tool "cg" - name "AssocClassSetReturnsValue" - value FALSE) - (object Attribute - tool "cg" - name "InlineAssocClassSet" - value TRUE) - (object Attribute - tool "cg" - name "AssocClassForwardReferenceOnly" - value TRUE) - (object Attribute - tool "cg" - name "AssocTypeSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Array" - value 24) - (object Attribute - tool "cg" - name "Sequence" - value 47))))) - (object Attribute - tool "cg" - name "default__Attribute" - value (list Attribute_Set - (object Attribute - tool "cg" - name "CodeName" - value "") - (object Attribute - tool "cg" - name "GenerateDataMember" - value TRUE) - (object Attribute - tool "cg" - name "DataMemberName" - value (value Text "i$attribute")) - (object Attribute - tool "cg" - name "DataMemberVisibility" - value ("DataMemberVisibilitySet" 43)) - (object Attribute - tool "cg" - name "DataMemberVisibilitySet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Public" - value 45) - (object Attribute - tool "cg" - name "Protected" - value 44) - (object Attribute - tool "cg" - name "Private" - value 43) - (object Attribute - tool "cg" - name "Implementation" - value 14) - (object Attribute - tool "cg" - name "AtAttributeVisibility" - value 211))) - (object Attribute - tool "cg" - name "DataMemberMutability" - value ("DataMemberMutabilitySet" 0)) - (object Attribute - tool "cg" - name "DataMemberMutabilitySet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Unrestricted" - value 0) - (object Attribute - tool "cg" - name "Mutable" - value 1) - (object Attribute - tool "cg" - name "Const" - value 2))) - (object Attribute - tool "cg" - name "DataMemberIsVolatile" - value FALSE) - (object Attribute - tool "cg" - name "DataMemberFieldSize" - value "") - (object Attribute - tool "cg" - name "GenerateGetOperation" - value FALSE) - (object Attribute - tool "cg" - name "GenerateSetOperation" - value FALSE) - (object Attribute - tool "cg" - name "GetName" - value (value Text "$attribute")) - (object Attribute - tool "cg" - name "SetName" - value (value Text "Set$attribute")) - (object Attribute - tool "cg" - name "GetSetKinds" - value ("GetSetKindsSet" 200)) - (object Attribute - tool "cg" - name "GetSetKindsSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Common" - value 200) - (object Attribute - tool "cg" - name "Virtual" - value 201) - (object Attribute - tool "cg" - name "Abstract" - value 202) - (object Attribute - tool "cg" - name "Static" - value 203) - (object Attribute - tool "cg" - name "Friend" - value 204))) - (object Attribute - tool "cg" - name "GetIsConst" - value TRUE) - (object Attribute - tool "cg" - name "GetResultIsConst" - value ("GetResultIsConstSet" 2)) - (object Attribute - tool "cg" - name "GetResultIsConstSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "False" - value 0) - (object Attribute - tool "cg" - name "True" - value 1) - (object Attribute - tool "cg" - name "Same_As_Function" - value 2))) - (object Attribute - tool "cg" - name "GetSetByReference" - value FALSE) - (object Attribute - tool "cg" - name "InlineGet" - value TRUE) - (object Attribute - tool "cg" - name "SetReturnsValue" - value FALSE) - (object Attribute - tool "cg" - name "InlineSet" - value TRUE) - (object Attribute - tool "cg" - name "CCRegion" - value ""))) - (object Attribute - tool "cg" - name "default__Uses" - value (list Attribute_Set - (object Attribute - tool "cg" - name "ForwardReferenceOnly" - value FALSE) - (object Attribute - tool "cg" - name "BodyReferenceOnly" - value FALSE))) - (object Attribute - tool "cg" - name "default__Subsystem" - value (list Attribute_Set - (object Attribute - tool "cg" - name "Directory" - value "AUTO GENERATE") - (object Attribute - tool "cg" - name "DirectoryIsOnSearchList" - value FALSE) - (object Attribute - tool "cg" - name "PrecompiledHeader" - value ""))) - (object Attribute - tool "cg" - name "default__Category" - value (list Attribute_Set - (object Attribute - tool "cg" - name "IsNamespace" - value FALSE) - (object Attribute - tool "cg" - name "Indent" - value 2) - (object Attribute - tool "cg" - name "CodeName" - value "") - (object Attribute - tool "cg" - name "GenerateEmptyRegions" - value ("GenerateEmptyRegionSet" 3)) - (object Attribute - tool "cg" - name "GenerateEmptyRegionSet" - value (list Attribute_Set - (object Attribute - tool "cg" - name "None" - value 0) - (object Attribute - tool "cg" - name "Preserved" - value 1) - (object Attribute - tool "cg" - name "Unpreserved" - value 2) - (object Attribute - tool "cg" - name "All" - value 3))))) - (object Attribute - tool "MSVC" - name "propertyId" - value "809135966") - (object Attribute - tool "MSVC" - name "default__Project" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Version" - value "5.0"))) - (object Attribute - tool "MSVC" - name "default__Class" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Type" - value ("MSVCClassTypeSet" 0)) - (object Attribute - tool "MSVC" - name "MSVCClassTypeSet" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Normal" - value 0) - (object Attribute - tool "MSVC" - name "Interface_Part" - value 1) - (object Attribute - tool "MSVC" - name "Connection_Part" - value 2) - (object Attribute - tool "MSVC" - name "Class_Factory" - value 3))) - (object Attribute - tool "MSVC" - name "CObjectFunctionality" - value ("CObjectFunctionalitySet" 0)) - (object Attribute - tool "MSVC" - name "CObjectFunctionalitySet" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "None" - value 0) - (object Attribute - tool "MSVC" - name "Dynamic" - value 1) - (object Attribute - tool "MSVC" - name "Dyncreate" - value 2) - (object Attribute - tool "MSVC" - name "Serial" - value 3))) - (object Attribute - tool "MSVC" - name "GenerateOverrideGroup" - value FALSE) - (object Attribute - tool "MSVC" - name "GenerateDataGroup" - value FALSE) - (object Attribute - tool "MSVC" - name "AFX_DATA_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateFieldGroup" - value FALSE) - (object Attribute - tool "MSVC" - name "AFX_FIELD_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateMessageGroup" - value FALSE) - (object Attribute - tool "MSVC" - name "GenerateMessageMap" - value FALSE) - (object Attribute - tool "MSVC" - name "AFX_MSG_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "MESSAGE_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "OLEFactory" - value ("OLEFactorySet" 0)) - (object Attribute - tool "MSVC" - name "OLEFactorySet" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "None" - value 0) - (object Attribute - tool "MSVC" - name "Built_in" - value 1) - (object Attribute - tool "MSVC" - name "Simple" - value 2) - (object Attribute - tool "MSVC" - name "Licensed" - value 3))) - (object Attribute - tool "MSVC" - name "OLEName" - value "") - (object Attribute - tool "MSVC" - name "OLEClassID" - value "") - (object Attribute - tool "MSVC" - name "GenerateOLECtlType" - value FALSE) - (object Attribute - tool "MSVC" - name "OLECtlType" - value "") - (object Attribute - tool "MSVC" - name "GenerateOLETypeLib" - value FALSE) - (object Attribute - tool "MSVC" - name "OLETypeLibID" - value "") - (object Attribute - tool "MSVC" - name "OLETypeLibMajor" - value "") - (object Attribute - tool "MSVC" - name "OLETypeLibMinor" - value "") - (object Attribute - tool "MSVC" - name "GeneratePropPageIDs" - value FALSE) - (object Attribute - tool "MSVC" - name "OLEPropPageIDs" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateDispatchMap" - value FALSE) - (object Attribute - tool "MSVC" - name "AFX_DISPATCH_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "AFX_DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "StockProperties" - value (value Text "")) - (object Attribute - tool "MSVC" - name "StockFunctions" - value (value Text "")) - (object Attribute - tool "MSVC" - name "DispatchDefValue" - value "") - (object Attribute - tool "MSVC" - name "GenerateDispIdEnum" - value FALSE) - (object Attribute - tool "MSVC" - name "AFX_DISP_ID_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateInterfaceMap" - value FALSE) - (object Attribute - tool "MSVC" - name "INTERFACE_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "InitInterface" - value "") - (object Attribute - tool "MSVC" - name "GenerateEventMap" - value FALSE) - (object Attribute - tool "MSVC" - name "AFX_EVENT_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "AFX_EVENT_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "EVENT_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "StockEvents" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateEventSinkMap" - value FALSE) - (object Attribute - tool "MSVC" - name "AFX_EVENTSINK_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "AFX_EVENTSINK_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "EVENTSINK_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "PropNotifySinks" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateConnectionMap" - value FALSE) - (object Attribute - tool "MSVC" - name "CONNECTION_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "ConnectionPointIID" - value "") - (object Attribute - tool "MSVC" - name "InheritanceType" - value "") - (object Attribute - tool "MSVC" - name "DeclSpec" - value "") - (object Attribute - tool "MSVC" - name "OLECommands" - value (value Text "")) - (object Attribute - tool "MSVC" - name "MFCDeclares" - value (value Text "")) - (object Attribute - tool "MSVC" - name "MFCImplements" - value (value Text "")) - (object Attribute - tool "MSVC" - name "ATL_Declares" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateCOMMap" - value FALSE) - (object Attribute - tool "MSVC" - name "COM_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateConnectionPointMap" - value FALSE) - (object Attribute - tool "MSVC" - name "CONNECTION_POINT_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateMsgMap" - value FALSE) - (object Attribute - tool "MSVC" - name "MSG_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GeneratePropertyMap" - value FALSE) - (object Attribute - tool "MSVC" - name "PROPERTY_MAP_Entries" - value (value Text "")))) - (object Attribute - tool "MSVC" - name "default__Operation" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Type" - value ("MSVCOperationTypeSet" 0)) - (object Attribute - tool "MSVC" - name "MSVCOperationTypeSet" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Normal" - value 0) - (object Attribute - tool "MSVC" - name "Virtual_Override" - value 1) - (object Attribute - tool "MSVC" - name "Message_Handler" - value 2) - (object Attribute - tool "MSVC" - name "Dispatch_Handler" - value 3) - (object Attribute - tool "MSVC" - name "Event_Firing_Function" - value 4) - (object Attribute - tool "MSVC" - name "Event_Sink_Handler" - value 5) - (object Attribute - tool "MSVC" - name "Std_OLE_Method" - value 6) - (object Attribute - tool "MSVC" - name "Command_Parser" - value 7) - (object Attribute - tool "MSVC" - name "Property_Get_Function" - value 8) - (object Attribute - tool "MSVC" - name "Property_Set_Function" - value 9) - (object Attribute - tool "MSVC" - name "Property_Notify_Function" - value 10) - (object Attribute - tool "MSVC" - name "Macro_Generated_Function" - value 11))) - (object Attribute - tool "MSVC" - name "AFX_MSG_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "MESSAGE_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "AFX_DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "AFX_EVENT_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "EVENT_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "AFX_EVENTSINK_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "EVENTSINK_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "CallType" - value "") - (object Attribute - tool "MSVC" - name "DeclSpec" - value "") - (object Attribute - tool "MSVC" - name "BodyImage" - value (value Text "")))) - (object Attribute - tool "MSVC" - name "default__Role" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Type" - value ("MSVCAttributeTypeSet" 0)) - (object Attribute - tool "MSVC" - name "MSVCAttributeTypeSet" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Normal" - value 0) - (object Attribute - tool "MSVC" - name "Member_Property" - value 1) - (object Attribute - tool "MSVC" - name "Get_Set_Property" - value 2) - (object Attribute - tool "MSVC" - name "Dialog_Data" - value 3) - (object Attribute - tool "MSVC" - name "Field_Data" - value 4) - (object Attribute - tool "MSVC" - name "Stock_Property" - value 5))) - (object Attribute - tool "MSVC" - name "AFX_DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "DeclSpec" - value "") - (object Attribute - tool "MSVC" - name "PointerBase" - value "") - (object Attribute - tool "MSVC" - name "CallType" - value "") - (object Attribute - tool "MSVC" - name "StockPropertyImplementation" - value ""))) - (object Attribute - tool "MSVC" - name "default__Has" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Type" - value ("MSVCAttributeTypeSet" 0)) - (object Attribute - tool "MSVC" - name "MSVCAttributeTypeSet" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Normal" - value 0) - (object Attribute - tool "MSVC" - name "Member_Property" - value 1) - (object Attribute - tool "MSVC" - name "Get_Set_Property" - value 2) - (object Attribute - tool "MSVC" - name "Dialog_Data" - value 3) - (object Attribute - tool "MSVC" - name "Field_Data" - value 4) - (object Attribute - tool "MSVC" - name "Stock_Property" - value 5))) - (object Attribute - tool "MSVC" - name "AFX_DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "DeclSpec" - value "") - (object Attribute - tool "MSVC" - name "PointerBase" - value "") - (object Attribute - tool "MSVC" - name "CallType" - value "") - (object Attribute - tool "MSVC" - name "StockPropertyImplementation" - value ""))) - (object Attribute - tool "MSVC" - name "default__Attribute" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Type" - value ("MSVCAttributeTypeSet" 0)) - (object Attribute - tool "MSVC" - name "MSVCAttributeTypeSet" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "Normal" - value 0) - (object Attribute - tool "MSVC" - name "Member_Property" - value 1) - (object Attribute - tool "MSVC" - name "Get_Set_Property" - value 2) - (object Attribute - tool "MSVC" - name "Dialog_Data" - value 3) - (object Attribute - tool "MSVC" - name "Field_Data" - value 4) - (object Attribute - tool "MSVC" - name "Stock_Property" - value 5))) - (object Attribute - tool "MSVC" - name "AFX_DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "DISPATCH_MAP_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "DeclSpec" - value "") - (object Attribute - tool "MSVC" - name "PointerBase" - value "") - (object Attribute - tool "MSVC" - name "CallType" - value "") - (object Attribute - tool "MSVC" - name "StockPropertyImplementation" - value ""))) - (object Attribute - tool "MSVC" - name "default__Module-Spec" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "GenerateIncludesGroup" - value FALSE) - (object Attribute - tool "MSVC" - name "AFX_INCLUDES_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateInsertLocation" - value FALSE))) - (object Attribute - tool "MSVC" - name "default__Module-Body" - value (list Attribute_Set - (object Attribute - tool "MSVC" - name "GenerateIncludesGroup" - value FALSE) - (object Attribute - tool "MSVC" - name "AFX_INCLUDES_Entries" - value (value Text "")) - (object Attribute - tool "MSVC" - name "GenerateInsertLocation" - value FALSE))) - (object Attribute - tool "cg" - name "HiddenTool" - value FALSE) - (object Attribute - tool "Rose Model Integrator" - name "HiddenTool" - value FALSE) - (object Attribute - tool "Rose Web Publisher" - name "HiddenTool" - value FALSE) - (object Attribute - tool "COM" - name "propertyId" - value "783606378") - (object Attribute - tool "COM" - name "default__Class" - value (list Attribute_Set - (object Attribute - tool "COM" - name "TypeKinds" - value (list Attribute_Set - (object Attribute - tool "COM" - name "enum" - value 100) - (object Attribute - tool "COM" - name "record" - value 101) - (object Attribute - tool "COM" - name "module" - value 102) - (object Attribute - tool "COM" - name "interface" - value 103) - (object Attribute - tool "COM" - name "dispinterface" - value 104) - (object Attribute - tool "COM" - name "coclass" - value 105) - (object Attribute - tool "COM" - name "alias" - value 106) - (object Attribute - tool "COM" - name "union" - value 107) - (object Attribute - tool "COM" - name "max" - value 108) - (object Attribute - tool "COM" - name "(none)" - value 109))) - (object Attribute - tool "COM" - name "Generate" - value TRUE) - (object Attribute - tool "COM" - name "kind" - value ("TypeKinds" 109)) - (object Attribute - tool "COM" - name "uuid" - value "") - (object Attribute - tool "COM" - name "version" - value "") - (object Attribute - tool "COM" - name "helpstring" - value "") - (object Attribute - tool "COM" - name "helpcontext" - value "") - (object Attribute - tool "COM" - name "attributes" - value "") - (object Attribute - tool "COM" - name "dllname" - value "") - (object Attribute - tool "COM" - name "alias" - value ""))) - (object Attribute - tool "COM" - name "default__Operation" - value (list Attribute_Set - (object Attribute - tool "COM" - name "Generate" - value TRUE) - (object Attribute - tool "COM" - name "id" - value "") - (object Attribute - tool "COM" - name "helpstring" - value "") - (object Attribute - tool "COM" - name "attributes" - value ""))) - (object Attribute - tool "COM" - name "default__Attribute" - value (list Attribute_Set - (object Attribute - tool "COM" - name "Generate" - value TRUE) - (object Attribute - tool "COM" - name "id" - value "") - (object Attribute - tool "COM" - name "helpstring" - value "") - (object Attribute - tool "COM" - name "attributes" - value ""))) - (object Attribute - tool "COM" - name "default__Module-Spec" - value (list Attribute_Set - (object Attribute - tool "COM" - name "Generate" - value TRUE) - (object Attribute - tool "COM" - name "filename" - value "") - (object Attribute - tool "COM" - name "library" - value "") - (object Attribute - tool "COM" - name "uuid" - value "") - (object Attribute - tool "COM" - name "version" - value "") - (object Attribute - tool "COM" - name "helpstring" - value "") - (object Attribute - tool "COM" - name "helpfile" - value "") - (object Attribute - tool "COM" - name "helpcontext" - value "") - (object Attribute - tool "COM" - name "lcid" - value "") - (object Attribute - tool "COM" - name "attributes" - value ""))) - (object Attribute - tool "COM" - name "default__Param" - value (list Attribute_Set - (object Attribute - tool "COM" - name "attributes" - value ""))) - (object Attribute - tool "COM" - name "HiddenTool" - value FALSE) - (object Attribute - tool "VC++" - name "propertyId" - value "809135966") - (object Attribute - tool "VC++" - name "default__Project" - value (list Attribute_Set - (object Attribute - tool "VC++" - name "UpdateATL" - value TRUE) - (object Attribute - tool "VC++" - name "SmartPointersOnAssoc" - value TRUE) - (object Attribute - tool "VC++" - name "GenerateImports" - value TRUE) - (object Attribute - tool "VC++" - name "PutImportsIn" - value "stdafx.h") - (object Attribute - tool "VC++" - name "FullPathInImports" - value TRUE) - (object Attribute - tool "VC++" - name "UseImportAttributes" - value TRUE) - (object Attribute - tool "VC++" - name "ImportAttributes" - value "no_namespace named_guids") - (object Attribute - tool "VC++" - name "ImportProjTypeLib" - value TRUE) - (object Attribute - tool "VC++" - name "DefaultTypeLib" - value TRUE) - (object Attribute - tool "VC++" - name "TypeLibLocation" - value "") - (object Attribute - tool "VC++" - name "CompileProjTypeLib" - value TRUE) - (object Attribute - tool "VC++" - name "IdlInterfaceAttributes" - value (value Text -|endpoint("") -|local -|object -|pointer_default() -|uuid("") -|version("") -|encode -|decode -|auto_handle -|implicit_handle("") -|code -|nocode - )) - (object Attribute - tool "VC++" - name "IdlCoClassAttributes" - value (value Text -|uuid("") -|helpstring("") -|helpcontext("") -|licensed -|version("") -|control -|hidden -|appobject - )) - (object Attribute - tool "VC++" - name "IdlCoClassInterfaceAttributes" - value (value Text -|default -|source - )) - (object Attribute - tool "VC++" - name "IdlParameterAttributes" - value (value Text -|in -|out -|retval - )) - (object Attribute - tool "VC++" - name "IdlMethodAttributes" - value (value Text -|id(1) -|helpstring("") -|call_as("") -|callback -|helpcontext("") -|hidden -|local -|restricted -|source -|vararg - )) - (object Attribute - tool "VC++" - name "IdlPropertyAttributes" - value (value Text -|id() -|helpstring("") -|call_as("") -|helpcontext("") -|hidden -|local -|restricted -|source -|vararg -|bindable -|defaultbind -|defaultcallelem -|displaybind -|immediatebind -|nonbrowseable -|requestedit - )) - (object Attribute - tool "VC++" - name "RvcPtyVersion" - value "1.3") - (object Attribute - tool "VC++" - name "ModelIDStyle" - value 2) - (object Attribute - tool "VC++" - name "DocStyle" - value 1) - (object Attribute - tool "VC++" - name "GenerateIncludes" - value TRUE) - (object Attribute - tool "VC++" - name "ApplyPattern" - value FALSE) - (object Attribute - tool "VC++" - name "CreateBackupFiles" - value TRUE) - (object Attribute - tool "VC++" - name "SupportCodeName" - value FALSE) - (object Attribute - tool "VC++" - name "DocRevEngineer" - value TRUE) - (object Attribute - tool "VC++" - name "CreateOverviewDiagrams" - value TRUE) - (object Attribute - tool "VC++" - name "UpdateModelIDsInCode" - value TRUE) - (object Attribute - tool "VC++" - name "AttributeTypes" - value (value Text -|attr1=bool -|attr2=short -|attr3=int -|attr4=long -|attr5=char -|attr6=float -|attr7=double -|attr8=void -|attr9=clock_t -|attr10=_complex -|attr11=_dev_t -|attr12=div_t -|attr13=_exception -|attr14=FILE -|attr15=_finddata_t -|attr16=_FPIEEE_RECORD -|attr17=fpos_t -|attr18=_HEAPINFO -|attr19=jmp_buf -|attr20=lconv -|attr21=ldiv_t -|attr22=_off_t -|attr23=_onexit_t -|attr24=_PNH -|attr25=ptrdiff_t -|attr26=sig_atomic_t -|attr27=size_t -|attr28=_stat -|attr29=time_t -|attr30=_timeb -|attr31=tm -|attr32=_utimbuf -|attr33=va_list -|attr34=wchar_t -|attr35=wctrans_t -|attr36=wctype_t -|attr37=_wfinddata_t -|attr38=_wfinddatai64_t -|attr39=wint_t -|attr40=ABORTPROC -|attr41=ACMDRIVERENUMCB -|attr42=ACMDRIVERPROC -|attr43=ACMFILTERCHOOSEHOOKPROC -|attr44=ACMFILTERENUMCB -|attr45=ACMFILTERTAGENUMCB -|attr46=ACMFORMATCHOOSEHOOKPROC -|attr47=ACMFORMATENUMCB -|attr48=ACMFORMATTAGENUMCB -|attr49=APPLET_PROC -|attr50=ATOM -|attr51=BOOL -|attr52=BOOLEAN -|attr53=BYTE -|attr54=CALINFO_ENUMPROC -|attr55=CALLBACK -|attr56=CHAR -|attr57=COLORREF -|attr58=CONST -|attr59=CRITICAL_SECTION -|attr60=CTRYID -|attr61=DATEFMT_ENUMPROC -|attr62=DESKTOPENUMPROC -|attr63=DLGPROC -|attr64=DRAWSTATEPROC -|attr65=DWORD -|attr66=EDITWORDBREAKPROC -|attr67=ENHMFENUMPROC -|attr68=ENUMRESLANGPROC -|attr69=ENUMRESNAMEPROC -|attr70=ENUMRESTYPEPROC -|attr71=FARPROC -|attr72=FILE_SEGMENT_ELEMENT -|attr73=FLOAT -|attr74=FONTENUMPROC -|attr75=GOBJENUMPROC -|attr76=GRAYSTRINGPROC -|attr77=HACCEL -|attr78=HANDLE -|attr79=HBITMAP -|attr80=HBRUSH -|attr81=HCOLORSPACE -|attr82=HCONV -|attr83=HCONVLIST -|attr84=HCURSOR -|attr85=HDC -|attr86=HDDEDATA -|attr87=HDESK -|attr88=HDROP -|attr89=HDWP -|attr90=HENHMETAFILE -|attr91=HFILE -|attr92=HFONT -|attr93=HGDIOBJ -|attr94=HGLOBAL -|attr95=HHOOK -|attr96=HICON -|attr97=HIMAGELIST -|attr98=HIMC -|attr99=HINSTANCE -|attr100=HKEY -|attr101=HKL -|attr102=HLOCAL -|attr103=HMENU -|attr104=HMETAFILE -|attr105=HMODULE -|attr106=HMONITOR -|attr107=HOOKPROC -|attr108=HPALETTE -|attr109=HPEN -|attr110=HRGN -|attr111=HRSRC -|attr112=HSZ -|attr113=HTREEITEM -|attr114=HWINSTA -|attr115=HWND -|attr116=INT -|attr117=IPADDR -|attr118=LANGID -|attr119=LCID -|attr120=LCSCSTYPE -|attr121=LCSGAMUTMATCH -|attr122=LCTYPE -|attr123=LINEDDAPROC -|attr124=LOCALE_ENUMPROC -|attr125=LONG -|attr126=LONGLONG -|attr127=LPARAM -|attr128=LPBOOL -|attr129=LPBYTE -|attr130=LPCCHOOKPROC -|attr131=LPCFHOOKPROC -|attr132=LPCOLORREF -|attr133=LPCRITICAL_SECTION -|attr134=LPCSTR -|attr135=LPCTSTR -|attr136=LPCVOID -|attr137=LPCWSTR -|attr138=LPDWORD -|attr139=LPFIBER_START_ROUTINE -|attr140=LPFRHOOKPROC -|attr141=LPHANDLE -|attr142=LPHANDLER_FUNCTION -|attr143=LPINT -|attr144=LPLONG -|attr145=LPOFNHOOKPROC -|attr146=LPPAGEPAINTHOOK -|attr147=LPPAGESETUPHOOK -|attr148=LPPRINTHOOKPROC -|attr149=LPPROGRESS_ROUTINE -|attr150=LPSETUPHOOKPROC -|attr151=LPSTR -|attr152=LPSTREAM -|attr153=LPTHREAD_START_ROUTINE -|attr154=LPTSTR -|attr155=LPVOID -|attr156=LPWORD -|attr157=LPWSTR -|attr158=LRESULT -|attr159=LUID -|attr160=PBOOL -|attr161=PBOOLEAN -|attr162=PBYTE -|attr163=PCHAR -|attr164=PCRITICAL_SECTION -|attr165=PCSTR -|attr166=PCTSTR -|attr167=PCWCH -|attr168=PCWSTR -|attr169=PDWORD -|attr170=PFLOAT -|attr171=PFNCALLBACK -|attr172=PHANDLE -|attr173=PHANDLER_ROUTINE -|attr174=PHKEY -|attr175=PINT -|attr176=PLCID -|attr177=PLONG -|attr178=PLUID -|attr179=PROPENUMPROC -|attr180=PROPENUMPROCEX -|attr181=PSHORT -|attr182=PSTR -|attr183=PTBYTE -|attr184=PTCHAR -|attr185=PTIMERAPCROUTINE -|attr186=PTSTR -|attr187=PUCHAR -|attr188=PUINT -|attr189=PULONG -|attr190=PUSHORT -|attr191=PVOID -|attr192=PWCHAR -|attr193=PWORD -|attr194=PWSTR -|attr195=REGISTERWORDENUMPROC -|attr196=REGSAM -|attr197=SC_HANDLE -|attr198=SC_LOCK -|attr199=SENDASYNCPROC -|attr200=SERVICE_STATUS_HANDLE -|attr201=SHORT -|attr202=TBYTE -|attr203=TCHAR -|attr204=TIMEFMT_ENUMPROC -|attr205=TIMERPROC -|attr206=UCHAR -|attr207=UINT -|attr208=ULONG -|attr209=ULONGLONG -|attr210=UNSIGNED -|attr211=USHORT -|attr212=VOID -|attr213=WCHAR -|attr214=WINAPI -|attr215=WINSTAENUMPROC -|attr216=WNDENUMPROC -|attr217=WNDPROC -|attr218=WORD -|attr219=WPARAM -|attr220=YIELDPROC -|attr221=CPoint -|attr222=CRect -|attr223=CSize -|attr224=CString -|attr225=CTime -|attr226=CTimeSpan -|attr227=CCreateContext -|attr228=CMemoryState -|attr229=COleSafeArray -|attr230=CPrintInfo -|attr231=HRESULT - )) - (object Attribute - tool "VC++" - name "Containers" - value (value Text -|cont1=CArray<$TYPE, $TYPE&> -|cont2=CByteArray -|cont3=CDWordArray -|cont4=CObArray -|cont5=CPtrArray -|cont6=CStringArray -|cont7=CUIntArray -|cont8=CWordArray -|cont9=CList<$TYPE, $TYPE&> -|cont10=CPtrList -|cont11=CObList -|cont12=CStringList -|cont13=CMapWordToPtr -|cont14=CMapPtrToWord -|cont15=CMapPtrToPtr -|cont16=CMapWordToOb -|cont17=CMapStringToPtr -|cont18=CMapStringToOb -|cont19=CMapStringToString -|cont20=CTypedPtrArray -|cont21=CTypedPtrArray -|cont22=CTypedPtrList -|cont23=CTypedPtrList -|cont24=CComObject<$TYPE> -|cont25=CComPtr<$TYPE> -|cont26=CComQIPtr<$TYPE> -|cont27=CComQIPtr<$TYPE, IID*> - )) - (object Attribute - tool "VC++" - name "ClassMethods" - value (value Text -|*_body=// ToDo: Add your specialized code here and/or call the base class -|cm1=$NAME() -|cm2=$NAME(orig:const $NAME&) -|cm3=<> ~$NAME() -|cm4=operator=(rhs:$NAME&):$NAME& -|cm4_body=// ToDo: Add your specialized code here and/or call the base class||return rhs; -|cm5=<> operator==(rhs:const $NAME&):bool -|cm5_body=// ToDo: Add your specialized code here and/or call the base class||return false; -|cm6=<> operator!=(rhs:$NAME&):bool -|cm6_body=// ToDo: Add your specialized code here and/or call the base class||return false; -|cm7=<> operator<(rhs:$NAME&):bool -|cm7_body=// ToDo: Add your specialized code here and/or call the base class||return false; -|cm8=<> operator>(rhs:$NAME&):bool -|cm8_body=// ToDo: Add your specialized code here and/or call the base class||return false; -|cm9=<> operator<=(rhs:$NAME&):bool -|cm9_body=// ToDo: Add your specialized code here and/or call the base class||return false; -|cm10=<> operator>=(rhs:$NAME&):bool -|cm10_body=// ToDo: Add your specialized code here and/or call the base class||return false; -|cm11=<> operator>>(i:istream&, rhs:$NAME&):istream& -|cm11_body=// ToDo: Add your specialized code here and/or call the base class||return i; -|cm12=<> operator<<(o:ostream&, rhs:const $NAME&):ostream& -|cm12_body=// ToDo: Add your specialized code here and/or call the base class||return o; - )) - (object Attribute - tool "VC++" - name "Accessors" - value (value Text -|agf=<> get_$BASICNAME():const $TYPE -|agf_body=return $NAME; -|asf=set_$BASICNAME(value:$TYPE):void -|asf_body=$NAME = value;|return; -|agv=<> get_$BASICNAME():const $TYPE& -|agv_body=return $NAME; -|asv=set_$BASICNAME(value:$TYPE&):void -|asv_body=$NAME = value;|return; -|agp=<> get_$BASICNAME():const $TYPE -|agp_body=return $NAME; -|asp=set_$BASICNAME(value:$TYPE):void -|asp_body=$NAME = value;|return; -|agr=<> get_$BASICNAME():const $TYPE -|agr_body=return $NAME; -|asr=set_$BASICNAME(value:$TYPE):void -|asr_body=$NAME = value;|return; -|aga=<> get_$BASICNAME(index:int):const $TYPE -|aga_body=return $NAME[index]; -|asa=set_$BASICNAME(index:int, value:$TYPE):void -|asa_body=$NAME[index] = value;|return; - )) - (object Attribute - tool "VC++" - name "Conditionals" - value (value Text -|*_decl=#ifdef _DEBUG -|*_base=CObject -|cond1=<> AssertValid():void -|cond1_body=$SUPERNAME::AssertValid(); -|cond2=<> Dump(dc:CDumpContext&):void -|cond2_body=$SUPERNAME::Dump(dc); - )) - (object Attribute - tool "VC++" - name "Patterns" - value (value Text -|patrn1=cm1,cm3,cond1,cond2 -|Patrn1_name=Default - )) - (object Attribute - tool "VC++" - name "AtlClassPrefix" - value "C") - (object Attribute - tool "VC++" - name "AtlInterfacePrefix" - value "I") - (object Attribute - tool "VC++" - name "AtlTypeDescription" - value "Class"))) - (object Attribute - tool "VC++" - name "default__Class" - value (list Attribute_Set - (object Attribute - tool "VC++" - name "Generate" - value TRUE))) - (object Attribute - tool "VC++" - name "default__Module-Spec" - value (list Attribute_Set - (object Attribute - tool "VC++" - name "InternalMap" - value (value Text -|*:AUTO:AUTO -| - )) - (object Attribute - tool "VC++" - name "ExportMap" - value (value Text -|*:AUTO:AUTO -| - )) - (object Attribute - tool "VC++" - name "InitialSourceIncludes" - value (value Text -|"stdafx.h" - )) - (object Attribute - tool "VC++" - name "InitialHeaderIncludes" - value (value Text "")) - (object Attribute - tool "VC++" - name "Copyright" - value (value Text "Copyright (C) 1991 - 1999 Rational Software Corporation")) - (object Attribute - tool "VC++" - name "KindSet" - value (list Attribute_Set - (object Attribute - tool "VC++" - name "(none)" - value 300) - (object Attribute - tool "VC++" - name "DLL" - value 301) - (object Attribute - tool "VC++" - name "EXE" - value 302) - (object Attribute - tool "VC++" - name "MIDL" - value 303))) - (object Attribute - tool "VC++" - name "Kind" - value ("KindSet" 300)))) - (object Attribute - tool "VC++" - name "default__Role" - value (list Attribute_Set - (object Attribute - tool "VC++" - name "Const" - value FALSE) - (object Attribute - tool "VC++" - name "Generate" - value TRUE) - (object Attribute - tool "VC++" - name "InitialValue" - value ""))) - (object Attribute - tool "VC++" - name "default__Uses" - value (list Attribute_Set - (object Attribute - tool "VC++" - name "Generate" - value TRUE))) - (object Attribute - tool "VC++" - name "default__Attribute" - value (list Attribute_Set - (object Attribute - tool "VC++" - name "Generate" - value TRUE))) - (object Attribute - tool "VC++" - name "default__Operation" - value (list Attribute_Set - (object Attribute - tool "VC++" - name "Generate" - value TRUE) - (object Attribute - tool "VC++" - name "Inline" - value FALSE) - (object Attribute - tool "VC++" - name "DefaultBody" - value (value Text "")))) - (object Attribute - tool "VC++" - name "HiddenTool" - value FALSE) - (object Attribute - tool "VisualStudio" - name "HiddenTool" - value FALSE) - (object Attribute - tool "Web Modeler" - name "HiddenTool" - value FALSE) - (object Attribute - tool "XML_DTD" - name "propertyId" - value "809135966") - (object Attribute - tool "XML_DTD" - name "default__Project" - value (list Attribute_Set - (object Attribute - tool "XML_DTD" - name "CreateMissingDirectories" - value TRUE) - (object Attribute - tool "XML_DTD" - name "Editor" - value ("EditorType" 100)) - (object Attribute - tool "XML_DTD" - name "StopOnError" - value TRUE) - (object Attribute - tool "XML_DTD" - name "EditorType" - value (list Attribute_Set - (object Attribute - tool "XML_DTD" - name "BuiltIn" - value 100) - (object Attribute - tool "XML_DTD" - name "WindowsShell" - value 101))))) - (object Attribute - tool "XML_DTD" - name "default__Class" - value (list Attribute_Set - (object Attribute - tool "XML_DTD" - name "Entity_SystemID" - value "") - (object Attribute - tool "XML_DTD" - name "Entity_PublicID" - value "") - (object Attribute - tool "XML_DTD" - name "NotationValue" - value "") - (object Attribute - tool "XML_DTD" - name "InternalValue" - value "") - (object Attribute - tool "XML_DTD" - name "ParameterEntity" - value FALSE) - (object Attribute - tool "XML_DTD" - name "ExternalEntity" - value FALSE) - (object Attribute - tool "XML_DTD" - name "Notation_SystemID" - value "") - (object Attribute - tool "XML_DTD" - name "Notation_PublicID" - value ""))) - (object Attribute - tool "XML_DTD" - name "default__Attribute" - value (list Attribute_Set - (object Attribute - tool "XML_DTD" - name "DefaultDeclType" - value ""))) - (object Attribute - tool "XML_DTD" - name "default__Module-Spec" - value (list Attribute_Set - (object Attribute - tool "XML_DTD" - name "Assign All" - value FALSE) - (object Attribute - tool "XML_DTD" - name "ComponentPath" - value ""))) - (object Attribute - tool "XML_DTD" - name "HiddenTool" - value FALSE) - (object Attribute - tool "DDL" - name "propertyId" - value "809135966") - (object Attribute - tool "DDL" - name "default__Project" - value (list Attribute_Set - (object Attribute - tool "DDL" - name "Directory" - value "AUTO GENERATE") - (object Attribute - tool "DDL" - name "DataBase" - value ("DataBaseSet" 800)) - (object Attribute - tool "DDL" - name "DataBaseSet" - value (list Attribute_Set - (object Attribute - tool "DDL" - name "ANSI" - value 800) - (object Attribute - tool "DDL" - name "Oracle" - value 801) - (object Attribute - tool "DDL" - name "SQLServer" - value 802) - (object Attribute - tool "DDL" - name "Sybase" - value 803) - (object Attribute - tool "DDL" - name "Watcom" - value 804))) - (object Attribute - tool "DDL" - name "PrimaryKeyColumnName" - value "Id") - (object Attribute - tool "DDL" - name "PrimaryKeyColumnType" - value "NUMBER(5)") - (object Attribute - tool "DDL" - name "ViewName" - value "V_") - (object Attribute - tool "DDL" - name "TableName" - value "T_") - (object Attribute - tool "DDL" - name "InheritSuffix" - value "_V") - (object Attribute - tool "DDL" - name "DropClause" - value FALSE) - (object Attribute - tool "DDL" - name "BaseViews" - value FALSE) - (object Attribute - tool "DDL" - name "DDLScriptFilename" - value "DDL1.SQL"))) - (object Attribute - tool "DDL" - name "default__Attribute" - value (list Attribute_Set - (object Attribute - tool "DDL" - name "ColumnType" - value "VARCHAR") - (object Attribute - tool "DDL" - name "Length" - value "") - (object Attribute - tool "DDL" - name "NullsOK" - value TRUE) - (object Attribute - tool "DDL" - name "PrimaryKey" - value FALSE) - (object Attribute - tool "DDL" - name "Unique" - value FALSE) - (object Attribute - tool "DDL" - name "CompositeUnique" - value FALSE) - (object Attribute - tool "DDL" - name "CheckConstraint" - value ""))) - (object Attribute - tool "DDL" - name "HiddenTool" - value FALSE) - (object Attribute - tool "RequisitePro" - name "HiddenTool" - value FALSE)) - quid "40C049140279")) + +(object Petal + version 43 + _written "Rose 6.5.9232.10" + charSet 0) + +(object Design "Logical View" + is_unit TRUE + is_loaded TRUE + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "cg_style" + value "default") + (object Attribute + tool "Traversal" + name "CodeFile" + value "") + (object Attribute + tool "CORBA" + name "cg_style" + value "default")) + quid "4199C6350235" + defaults (object defaults + rightMargin 0.250000 + leftMargin 0.500000 + topMargin 0.250000 + bottomMargin 0.250000 + pageOverlap 1.000000 + clipIconLabels TRUE + autoResize TRUE + snapToGrid TRUE + gridX 3 + gridY 3 + defaultFont (object Font + size 10 + face "Arial" + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + showMessageNum 3 + showClassOfObject TRUE + notation "Unified") + root_usecase_package (object Class_Category "Use Case View" + quid "40C049140276" + exportControl "Public" + global TRUE + logical_models (list unit_reference_list + (object Class "BNEP" + quid "41500F210074" + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "41500F84038E" + supplier "Use Case View::Ethint.NIF" + quidu "41500F360395") + (object Uses_Relationship + quid "41500F870298" + supplier "Use Case View::PAN Agent" + quidu "41500F2A038E") + (object Uses_Relationship + quid "41500F960181" + supplier "Use Case View::L2CAP" + quidu "41500F430394") + (object Uses_Relationship + quid "416BE90D02AA" + supplier "Use Case View::Eintsock" + quidu "416BE8EC0324")) + language "C++") + (object Class "PAN Agent" + quid "41500F2A038E" + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "41500F8B0058" + supplier "Use Case View::BNEP" + quidu "41500F210074") + (object Uses_Relationship + quid "41500F9202BB" + supplier "Use Case View::SDP" + quidu "41500F540172") + (object Uses_Relationship + quid "416BE910033A" + supplier "Use Case View::Eintsock" + quidu "416BE8EC0324")) + language "C++") + (object Class "Ethint.NIF" + quid "41500F360395" + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "41500F810343" + supplier "Use Case View::BNEP" + quidu "41500F210074")) + language "C++") + (object Class "L2CAP" + quid "41500F430394" + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "41500F990077" + supplier "Use Case View::BNEP" + quidu "41500F210074")) + language "C++") + (object Class "SDP" + quid "41500F540172" + language "C++") + (object Class "Eintsock" + quid "416BE8EC0324" + language "C++")) + logical_presentations (list unit_reference_list + (object UseCaseDiagram "Main" + quid "40C049150263" + title "Main" + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list)))) + root_category (object Class_Category "Logical View" + quid "40C049140275" + exportControl "Public" + global TRUE + subsystem "Component View" + quidu "40C049140277" + logical_models (list unit_reference_list + (object Class "CBnepLocalDevice" + attributes (list Attribute_Set) + quid "40C049420180" + fields (list has_relationship_list + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "DataMemberVisibility" + value ("DataMemberVisibilitySet" 45))) + quid "40C6DDA601ED" + label "Subscriber" + supplier "Logical View::CBTAddrSubscriber" + quidu "40C5B9A6014B" + Containment "By Reference" + client_cardinality (value cardinality "1"))) + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "4107BDAB0145" + supplier "Logical View::Undocument::inc::CPktDrvBase" + quidu "40C5BB5D014C") + (object Inheritance_Relationship + quid "4107BDB201EF" + supplier "Logical View::MPanDevice" + quidu "40C049CB02DC")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40CEE2DF014D" + supplier "Logical View::Undocument::inc::CLANLinkCommon" + quidu "40C47D840240") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "4108F40700A4" + supplier "Logical View::CBnepBridge" + quidu "40C049600007")) + operations (list Operations + (object Operation "BDADDRChanged" + quid "40C6DBD30015" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086770756) + (object Operation "CBnepLocalDevice" + quid "40C6DBED03CA" + parameters (list Parameters + (object Parameter "aFactory" + type "CPktDrvFactory&") + (object Parameter "aParent" + type "CLANLinkCommon*")) + concurrency "Sequential" + opExportControl "Private" + uid 1086770738) + (object Operation "ConstructL" + quid "40C6DC460350" + parameters (list Parameters + (object Parameter "UNUSEDPARAMETER1" + type "CLANLinkCommon*")) + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1086770757) + (object Operation "Control" + quid "40C6D76301DE" + parameters (list Parameters + (object Parameter "UNUSEDPARAMETER1" + type "TUint") + (object Parameter "UNUSEDPARAMETER2" + type "TUint") + (object Parameter "UNUSEDPARAMETER3" + type "TDes8&") + (object Parameter "UNUSEDPARAMETER4" + type "TAny*" + initv "0")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086770754) + (object Operation "GetInterfaceAddress" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationIsConst" + value TRUE)) + quid "40CEDF4701CC" + result "TUint8*" + concurrency "Sequential" + opExportControl "Public" + uid 1087291650) + (object Operation "GetMulticastList" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationIsConst" + value TRUE)) + quid "40C6D6D5034D" + parameters (list Parameters + (object Parameter "UNUSEDPARAMETER1" + type "const THWAddr*") + (object Parameter "UNUSEDPARAMETER2" + type "TInt&")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086770747) + (object Operation "GetRxMode" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationIsConst" + value TRUE)) + quid "40C6D6A803A2" + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086770745) + (object Operation "InterfacePowerDown" + quid "40C6D712023C" + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086770750) + (object Operation "InterfacePowerUp" + quid "40C6D6F5003C" + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086770749) + (object Operation "InterfaceResume" + quid "40C6D73700FF" + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086770752) + (object Operation "InterfaceSleep" + quid "40C6D72601D7" + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086770751) + (object Operation "NewL" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 203))) + quid "40C6D63D0037" + parameters (list Parameters + (object Parameter "aFactory" + type "CPktDrvFactory&") + (object Parameter "aParent" + type "CLANLinkCommon*")) + result "CBnepLocalDevice*" + concurrency "Sequential" + opExportControl "Public" + uid 1086770739) + (object Operation "Notification" + quid "40C6D7520298" + parameters (list Parameters + (object Parameter "aEvent" + type "TAgentToNifEventType") + (object Parameter "aInfo" + type "TAny*" + initv "0")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086770753) + (object Operation "Process" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 201))) + quid "40C6DB8C0031" + parameters (list Parameters + (object Parameter "aFrame" + type "RBnepFrame&")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086770755) + (object Operation "ResetInterface" + quid "40C6D68600C8" + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086770743) + (object Operation "Send" + quid "40C6D65700F3" + parameters (list Parameters + (object Parameter "aPkt" + type "RMBufChain&")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086770740) + (object Operation "SetInterfaceAddress" + quid "40C6D6BA0159" + parameters (list Parameters + (object Parameter "UNUSEDPARAMETER1" + type "const THWAddr&")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086770746) + (object Operation "SetMulticastList" + quid "40C6D6E602ED" + parameters (list Parameters + (object Parameter "UNUSEDPARAMETER1" + type "const THWAddr*") + (object Parameter "UNUSEDPARAMETER2" + type "TInt")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086770748) + (object Operation "SetRxMode" + quid "40C6D69900A7" + parameters (list Parameters + (object Parameter "UNUSEDPARAMETER1" + type "TRxMode")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086770744) + (object Operation "StartInterface" + quid "40C6D66F0151" + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086770741) + (object Operation "StopInterface" + quid "40C6D67A000D" + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086770742) + (object Operation "Stop" + quid "4178C10D0121" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1098432371)) + module "Component View::BNEP::CBnepLocalDevice (module spec)" + quidu "40C44DD101D4" + module "Component View::BNEP::CBnepLocalDevice (module body)" + quidu "40C44DDB0282" + language "C++") + (object Class "RBnepFrame" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDefaultConstructor" + value ("GenerateSet" 199)) + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "40C049510377" + fields (list has_relationship_list + (object Has_Relationship + quid "40C594A10162" + label "CommandQueue" + supplier "Logical View::( TSglQue < RBnepControl > )" + quidu "40C594270261" + Containment "By Value") + (object Has_Relationship + quid "40C5952C0175" + label "DestAddr" + supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" + quidu "40C05A14029A" + Containment "By Value") + (object Has_Relationship + quid "40C5954001A6" + label "SrcAddr" + supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" + quidu "40C05A14029A" + Containment "By Value") + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateGetOperation" + value TRUE) + (object Attribute + tool "cg" + name "GetName" + value (value Text "$relationship")) + (object Attribute + tool "cg" + name "GetResultIsConst" + value ("GetResultIsConstSet" 0))) + quid "40C5958700D6" + label "Protocol" + supplier "Logical View::Undocument::Epoc32::TUint16" + quidu "40C060EE00D0" + Containment "By Value") + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE)) + quid "40C59597006B" + label "QTagHeader" + supplier "Logical View::Undocument::Epoc32::TUint16" + quidu "40C060EE00D0" + Containment "By Value") + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE)) + quid "40C595C20117" + label "PacketContents" + supplier "Logical View::Undocument::Epoc32::TUint8" + quidu "40C060DE031C" + Containment "By Value") + (object Has_Relationship + quid "40C595E30309" + label "EthernetPayload" + supplier "Logical View::Undocument::Comms-infras::RMBufChain" + quidu "40C0613602A0" + Containment "By Value")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "40C7163303D2" + supplier "Logical View::RBnepControl" + quidu "40C04FCB02D0") + (object Uses_Relationship + quid "40C716FE010D" + supplier "Logical View::MLinkManager" + quidu "40C050FF0107") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "40C9BB240119" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "40C9BCB10391" + supplier "Logical View::Undocument::Epoc32::TBuf8" + quidu "40C9BBF2029C") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "40CD9C1D014E" + supplier "Logical View::BnepUtils" + quidu "40C5B2D3013F") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value FALSE)) + quid "40CD9DBC02E3" + supplier "Logical View::Undocument::Comms-infras::RMBufPacket" + quidu "40C0641D006E")) + operations (list Operations + (object Operation "BuildBnepControlFrameL" + quid "40C58CD803DD" + parameters (list Parameters + (object Parameter "aChain" + type "RMBufChain&")) + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1086681426) + (object Operation "BuildBnepDataFrameL" + quid "40C58CF602EF" + parameters (list Parameters + (object Parameter "aChain" + type "RMBufChain&") + (object Parameter "aLocalAddr" + type "const TBTDevAddr&") + (object Parameter "aRemoteAddr" + type "const TBTDevAddr&")) + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1086681427) + (object Operation "BuildBnepFrameL" + quid "40C5873800ED" + parameters (list Parameters + (object Parameter "aChain" + type "RMBufChain&") + (object Parameter "aLocalAddr" + type "const TBTDevAddr&") + (object Parameter "aRemoteAddr" + type "const TBTDevAddr&")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086681413) + (object Operation "BuildEthernetFrameL" + quid "40C5879E025C" + parameters (list Parameters + (object Parameter "aChain" + type "RMBufPacket&")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086681414) + (object Operation "DestAddr" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationIsConst" + value TRUE)) + quid "40C58B320047" + result "const TBTDevAddr&" + concurrency "Sequential" + opExportControl "Public" + uid 1086681419) + (object Operation "DestinationType" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationIsConst" + value TRUE)) + quid "40C58BA602EC" + result "RBnepFrame::TDestAddrType" + concurrency "Sequential" + opExportControl "Public" + uid 1086681421) + (object Operation "Includes" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationIsConst" + value TRUE)) + quid "40C58A40014D" + parameters (list Parameters + (object Parameter "aContent" + type "TPacketContents")) + result "TBool" + concurrency "Sequential" + opExportControl "Public" + uid 1086681416) + (object Operation "InsertControl" + quid "40C5866203CA" + parameters (list Parameters + (object Parameter "aCommand" + type "RBnepControl*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086681410) + (object Operation "ParseBnepFrameL" + quid "40C5868B00EE" + parameters (list Parameters + (object Parameter "aInboundChain" + type "RMBufChain&") + (object Parameter "aLocalAddr" + type "const TBTDevAddr&") + (object Parameter "aRemoteAddr" + type "const TBTDevAddr&")) + result "TBnepPacketType" + concurrency "Sequential" + opExportControl "Public" + uid 1086681411) + (object Operation "ParseEthernetFrameL" + quid "40C587080094" + parameters (list Parameters + (object Parameter "aFrame" + type "RMBufChain&")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086681412) + (object Operation "Reset" + quid "40C58657008F" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086681409) + (object Operation "SetContents" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "40C58E0201E6" + parameters (list Parameters + (object Parameter "aContent" + type "TPacketContents")) + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1086681415) + (object Operation "SrcAddr" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationIsConst" + value TRUE)) + quid "40C58B0B0159" + result "const TBTDevAddr&" + concurrency "Sequential" + opExportControl "Public" + uid 1086681418) + (object Operation "TrimBTAddrL" + quid "40C58C8A0055" + parameters (list Parameters + (object Parameter "aChain" + type "RMBufChain&") + (object Parameter "aAddr" + type "TBTDevAddr&")) + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1086681422) + (object Operation "TrimUint16L" + quid "40C58C9C0264" + parameters (list Parameters + (object Parameter "aChain" + type "RMBufChain&") + (object Parameter "aInt" + type "TUint16&")) + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1086681423) + (object Operation "ParseL" + quid "413C2CDE032F" + parameters (list Parameters + (object Parameter "aInboundChain" + type "RMBufChain&") + (object Parameter "aType" + type "TBnepPacketType") + (object Parameter "aExt" + type "TBool")) + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1094461835) + (object Operation "ExtractExtensionL" + quid "413C2DF90278" + parameters (list Parameters + (object Parameter "aInboundChain" + type "RMBufChain&")) + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1094461836) + (object Operation "ExtractControlL" + quid "413C2E04007F" + parameters (list Parameters + (object Parameter "aInboundChain" + type "RMBufChain&") + (object Parameter "aLength" + type "TInt")) + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1094461837) + (object Operation "IsEmpty" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "413C31BB01D1" + result "TBool" + concurrency "Sequential" + opExportControl "Public" + uid 1094461839) + (object Operation "ExecuteControl" + quid "413C32F50010" + parameters (list Parameters + (object Parameter "aController" + type "MLinkManager&")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1094461840) + (object Operation "HasPayload" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "41496FF10355" + result "TBool" + concurrency "Sequential" + opExportControl "Public" + uid 1095331877)) + module "Component View::BNEP::RBnepFrame (module spec)" + quidu "40C46B70026E" + module "Component View::BNEP::RBnepFrame (module body)" + quidu "40C46B840294" + language "C++" + nestedClasses (list nestedClasses + (object Class "TPacketContents" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ImplementationType" + value (value Text +|enum +|{ +|EDataFrame = 0x01, +|EControl = 0x02, +|EHas1Q = 0x04 +|} + ))) + quid "40C06315030D" + module "Component View::BNEP::RBnepFrame (module spec)" + quidu "40C46B70026E" + module "Component View::BNEP::RBnepFrame (module body)" + quidu "40C46B840294") + (object Class "TDestAddrType" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ImplementationType" + value (value Text +|enum +|{ +|ELocal, +|EMulticast, +|ENormal +|} + ))) + quid "40C063210378" + module "Component View::BNEP::RBnepFrame (module spec)" + quidu "40C46B70026E" + module "Component View::BNEP::RBnepFrame (module body)" + quidu "40C46B840294"))) + (object Class "CBnepBridge" + attributes (list Attribute_Set) + quid "40C049600007" + fields (list has_relationship_list + (object Has_Relationship + quid "40C44171025A" + label "Links" + supplier "Logical View::( TFixedArray < MPanDevice*, KMaxPanConnections > )" + quidu "40C440B501D8")) + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "40C05A890248" + supplier "Logical View::Undocument::Epoc32::CBase" + quidu "40C052FD00B0") + (object Inheritance_Relationship + quid "40C05A93018F" + supplier "Logical View::MPanDeviceOwner" + quidu "40C0497600BD")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40C7194D022F" + supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" + quidu "40C05A14029A") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40C7196D01B3" + supplier "Logical View::RBnepFrame" + quidu "40C049510377") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40C719C10290" + supplier "Logical View::MBnepChannelControl" + quidu "40C0513D0066") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40C71A220376" + supplier "Logical View::Undocument::Comms-infras::RInternalSocket" + quidu "40C46FE80331") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40C71A440072" + supplier "Logical View::MPanConnectionNotify" + quidu "40C0607803DD") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "40C868330193" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "40C97A9A01D2" + supplier "Logical View::CBnepChannelController" + quidu "40C0512A0181") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "40F6403200A8" + supplier "Logical View::Undocument::inc::TIeee802Addr" + quidu "40C5BC280234") + (object Uses_Relationship + quid "4108F9FD02A7" + supplier "Logical View::MPanDevice" + quidu "40C049CB02DC") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "41766D9A03E1" + supplier "Logical View::BnepUtils" + quidu "40C5B2D3013F")) + operations (list Operations + (object Operation "AttachDevice" + quid "40C067500039" + parameters (list Parameters + (object Parameter "aDevice" + type "MPanDevice&")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086350935) + (object Operation "CBnepBridge" + quid "40C0679503AA" + parameters (list Parameters + (object Parameter "aLocalDevice" + type "MPanDevice&")) + concurrency "Sequential" + opExportControl "Private" + uid 1086350932) + (object Operation "DefaultAddress" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationIsConst" + value TRUE)) + quid "40C0660D0107" + result "const TBTDevAddr&" + concurrency "Sequential" + opExportControl "Public" + uid 1086350931) + (object Operation "LinkGoingDown" + quid "40C0668302B5" + parameters (list Parameters + (object Parameter "aDevice" + type "MPanDevice&")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086350933) + (object Operation "NewBnepConnectionL" + quid "40C066BE02D8" + parameters (list Parameters + (object Parameter "aConnectedSocket" + type "RInternalSocket&") + (object Parameter "aNotify" + type "MPanConnectionNotify&")) + result "MBnepChannelControl&" + concurrency "Sequential" + opExportControl "Public" + uid 1086350934) + (object Operation "NewL" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 203))) + quid "40C05BE2019A" + parameters (list Parameters + (object Parameter "aLocalDevice" + type "MPanDevice&")) + result "CBnepBridge*" + concurrency "Sequential" + opExportControl "Public" + uid 1086348345) + (object Operation "Process" + quid "40C065C50059" + parameters (list Parameters + (object Parameter "aFrame" + type "RBnepFrame&") + (object Parameter "aSourceIfAddr" + type "const TBTDevAddr&")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086350930) + (object Operation "RemoveDevice" + quid "40F5446502D8" + parameters (list Parameters + (object Parameter "aDevice" + type "MPanDevice&")) + result "TInt" + concurrency "Sequential" + opExportControl "Private" + uid 1089815540) + (object Operation "StopLinks" + quid "41764AE8033F" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1098271419) + (object Operation "GetVacantSlot" + quid "417665B103D5" + parameters (list Parameters + (object Parameter "aSlotIndex" + type "TUint&")) + result "TInt" + concurrency "Sequential" + opExportControl "Private" + uid 1098271423)) + class_attributes (list class_attribute_list + (object ClassAttribute "LinkCount" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateGetOperation" + value TRUE) + (object Attribute + tool "cg" + name "GetResultIsConst" + value ("GetResultIsConstSet" 0))) + quid "413715850240" + type "TUint8")) + module "Component View::BNEP::CBnepBridge (module spec)" + quidu "40C44D8B0291" + module "Component View::BNEP::CBnepBridge (module body)" + quidu "40C44D940280" + language "C++") + (object Class "MPanDeviceOwner" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "40C0497600BD" + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "4108F88201BC" + supplier "Logical View::MBnepConnectionManager" + quidu "40C049870017")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40C715E5023F" + supplier "Logical View::RBnepFrame" + quidu "40C049510377") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40C7173D00DC" + supplier "Logical View::MPanDevice" + quidu "40C049CB02DC") + (object Uses_Relationship + quid "40C717650061" + supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" + quidu "40C05A14029A")) + operations (list Operations + (object Operation "AttachDevice" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 202))) + quid "40F65E2F0029" + parameters (list Parameters + (object Parameter "aDevice" + type "MPanDevice&")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "DefaultAddress" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 202)) + (object Attribute + tool "cg" + name "OperationIsConst" + value TRUE)) + quid "40C4745400AE" + result "const TBTDevAddr&" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "LinkGoingDown" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 202))) + quid "40C4746C0383" + parameters (list Parameters + (object Parameter "aDevice" + type "MPanDevice&")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "Process" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 202))) + quid "40C474490198" + parameters (list Parameters + (object Parameter "aPacket" + type "RBnepFrame&") + (object Parameter "aSourceIfAddr" + type "const TBTDevAddr&")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "StopLinks" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 202))) + quid "41764A9A006C" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::BNEP::MPanDeviceOwner (module spec)" + quidu "40C469DD012E" + language "C++") + (object Class "MBnepConnectionManager" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "40C049870017" + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "40C82B010159" + supplier "Logical View::Undocument::Comms-infras::RInternalSocket" + quidu "40C46FE80331") + (object Uses_Relationship + quid "40C82B100010" + supplier "Logical View::MBnepChannelControl" + quidu "40C0513D0066") + (object Uses_Relationship + quid "40C82CDF02BF" + supplier "Logical View::MPanConnectionNotify" + quidu "40C0607803DD")) + operations (list Operations + (object Operation "NewBnepConnectionL" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 202))) + quid "40C826A700CB" + parameters (list Parameters + (object Parameter "aConnectedSocket" + type "RInternalSocket&") + (object Parameter "aNotify" + type "MPanConnectionNotify&")) + result "MBnepChannelControl*" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::inc::pancommon (module spec)" + quidu "40C8232C00AC" + language "C++") + (object Class "MPanDevice" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE) + (object Attribute + tool "cg" + name "GenerateDefaultConstructor" + value ("GenerateSet" 206)) + (object Attribute + tool "cg" + name "InlineDefaultConstructor" + value TRUE)) + quid "40C049CB02DC" + fields (list has_relationship_list + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "DataMemberVisibility" + value ("DataMemberVisibilitySet" 45))) + quid "40C97975027B" + label "Addr" + supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" + quidu "40C05A14029A" + Containment "By Value") + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "DataMemberVisibility" + value ("DataMemberVisibilitySet" 44)) + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE)) + quid "40C979BC001B" + label "Owner" + supplier "Logical View::MPanDeviceOwner" + quidu "40C0497600BD" + Containment "By Reference")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "40C717C00102" + supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" + quidu "40C05A14029A") + (object Uses_Relationship + quid "40C717DD02DA" + supplier "Logical View::RBnepFrame" + quidu "40C049510377") + (object Uses_Relationship + quid "40D2DDD10107" + supplier "Logical View::TFuncInstrument" + quidu "40C5CB0E02ED") + (object Uses_Relationship + quid "40FD30130135" + supplier "Logical View::RBnepFrame" + quidu "40C049510377")) + operations (list Operations + (object Operation "Addr" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationIsConst" + value TRUE) + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "40C471D702BA" + result "const TBTDevAddr&" + concurrency "Sequential" + opExportControl "Public" + uid 1086599890) + (object Operation "ForThisDevice" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationIsConst" + value TRUE) + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "40C471BB0378" + parameters (list Parameters + (object Parameter "aAddr" + type "const TBTDevAddr&")) + result "TBool" + concurrency "Sequential" + opExportControl "Public" + uid 1086599888) + (object Operation "LocalAddr" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationIsConst" + value TRUE) + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "40C471F901FB" + result "const TBTDevAddr&" + concurrency "Sequential" + opExportControl "Public" + uid 1086599891) + (object Operation "Process" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 202))) + quid "40C471940188" + parameters (list Parameters + (object Parameter "aPayload" + type "RBnepFrame&")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "SetOwner" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "40C471CB03AE" + parameters (list Parameters + (object Parameter "aBridge" + type "MPanDeviceOwner&")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086599889) + (object Operation "Stop" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 202))) + quid "41764EE501E9" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::BNEP::MPanDevice (module spec)" + quidu "40C4699C00A8" + language "C++") + (object Class "RBnepControl" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "40C04FCB02D0" + fields (list has_relationship_list + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "DataMemberVisibility" + value ("DataMemberVisibilitySet" 45))) + quid "40C584E10254" + label "Link" + supplier "Logical View::Undocument::Epoc32::TSglQueLink" + quidu "40C583FB031C" + Containment "By Value")) + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "41701E87003E" + supplier "Logical View::Undocument::Comms-infras::RMBufChain" + quidu "40C0613602A0")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "40C716640256" + supplier "Logical View::TBnepControlType" + quidu "40C06127015E") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "40C867860361" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D")) + operations (list Operations + (object Operation "ControlType" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "40C5850A03DA" + result "TBnepControlType" + concurrency "Sequential" + opExportControl "Public" + uid 1086681407)) + module "Component View::BNEP::RBnepControl (module spec)" + quidu "40C44C240209" + language "C++" + nestedClasses (list nestedClasses + (object Class "Constants" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ImplementationType" + value (value Text +|enum +|{ +|KControlTypeOffset = 0, +|KControlResponseOffset = 1 +|} + ))) + quid "40C061670016" + module "Component View::BNEP::RBnepControl (module spec)" + quidu "40C44C240209"))) + (object Class "RBnepSetupConnectionRequestControl" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE) + (object Attribute + tool "cg" + name "GenerateDefaultConstructor" + value ("GenerateSet" 206))) + quid "40C04FE6035B" + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "40C4440D0034" + supplier "Logical View::RBnepControl" + quidu "40C04FCB02D0")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "40C449A60388" + supplier "Logical View::Undocument::Bluetooth::TUUID" + quidu "40C05FB10297") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "40C9BB98036F" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "40C9BC7303A6" + supplier "Logical View::Undocument::Epoc32::TBuf8" + quidu "40C9BBF2029C")) + operations (list Operations + (object Operation "GetRole" + quid "40C447D50307" + parameters (list Parameters + (object Parameter "aRole" + type "TUUID&") + (object Parameter "aOffset" + type "TInt")) + result "TInt" + concurrency "Sequential" + opExportControl "Private" + uid 1086599886) + (object Operation "InitL" + quid "40C447A00329" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086599884) + (object Operation "LocalRole" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "40C447AC01DC" + parameters (list Parameters + (object Parameter "aRole" + type "TUUID&")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086599882) + (object Operation "RemoteRole" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "40C447B90004" + parameters (list Parameters + (object Parameter "aRole" + type "TUUID&")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086599883) + (object Operation "SetRolesL" + quid "40C447C90328" + parameters (list Parameters + (object Parameter "aLocalRole" + type "TUUID&") + (object Parameter "aRemoteRole" + type "TUUID&")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086599885)) + module "Component View::BNEP::RBnepSetupConnectionRequestControl (module spec)" + quidu "40C46B9602D6" + module "Component View::BNEP::RBnepSetupConnectionRequestControl (module body)" + quidu "40C46BB4030C" + language "C++" + nestedClasses (list nestedClasses + (object Class "SetupRequestConstants" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ImplementationType" + value (value Text +|enum +|{ +|KUUIDSizeOffset = 1, +|KUUIDSizeLength = 1, +|KUUIDOffset = 2, +|KLocalUUID = 0, +|KRemoteUUID = 1, +|KMaxSizeOfSetupRequest = KSizeOfBnepControlType + 1 + 2 * KSdpUUIDMaxLength // Type, UUID size, 2x UUIDs +|} + ))) + quid "40C446B501AE" + exportControl "Private" + module "Component View::BNEP::RBnepSetupConnectionRequestControl (module spec)" + quidu "40C46B9602D6" + module "Component View::BNEP::RBnepSetupConnectionRequestControl (module body)" + quidu "40C46BB4030C"))) + (object Class "RBnepSetupConnectionResponseControl" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "40C050B10245" + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "414EBD1702D7" + supplier "Logical View::RBnepControl" + quidu "40C04FCB02D0")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "40FB96A403B4" + supplier "Logical View::TBnepSetupConnectionResponseMessage" + quidu "40C4789702BF") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "4104E7CF001D" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D")) + operations (list Operations + (object Operation "ConnectionSetupResponseL" + quid "40FB943002B7" + parameters (list Parameters + (object Parameter "aResponse" + type "TBnepSetupConnectionResponseMessage&")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1090229586) + (object Operation "InitL" + quid "40FB9421002A" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1090229585) + (object Operation "SetConnectionSetupResponseL" + quid "40FB943F01AA" + parameters (list Parameters + (object Parameter "aResponse" + type "TBnepSetupConnectionResponseMessage")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1090229587)) + module "Component View::BNEP::RBnepSetupConnectionResponseControl (module spec)" + quidu "40C46BD30053" + module "Component View::BNEP::RBnepSetupConnectionResponseControl (module body)" + quidu "40C46BF2006C" + module "RBnepSetupConnectionResponseFrame" + module "RBnepSetupConnectionResponseFrame" + module "RBnepSetupConnectionResponseFrame" + module "RBnepSetupConnectionResponseFrame" + language "C++" + nestedClasses (list nestedClasses + (object Class "SetupResponseConstants" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ImplementationType" + value (value Text +|enum +|{ +|KSetupResponseFieldOffset = KControlResponseOffset, +|KMaxSizeOfSetupResponse = KSizeOfBnepControlType + KSizeOfBnepResponseCode // control type (1) + response code (2) +|} + )) + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepSetupConnectionResponseControl.h")) + quid "40FB945D030B" + exportControl "Private" + module "RBnepSetupConnectionResponseFrame" + module "RBnepSetupConnectionResponseFrame" + module "RBnepSetupConnectionResponseFrame" + module "RBnepSetupConnectionResponseFrame"))) + (object Class "MLinkManager" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "40C050FF0107" + fields (list has_relationship_list + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateGetOperation" + value TRUE) + (object Attribute + tool "cg" + name "GetName" + value (value Text "$relationship")) + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE) + (object Attribute + tool "cg" + name "GenerateSetOperation" + value TRUE) + (object Attribute + tool "cg" + name "SetName" + value (value Text "Set$relationship")) + (object Attribute + tool "cg" + name "GetResultIsConst" + value ("GetResultIsConstSet" 0))) + quid "413C39C80397" + label "AwaitingResponse" + supplier "Logical View::Undocument::Epoc32::TBool" + quidu "40C060B001DF" + Containment "By Value")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40C8339A0212" + supplier "Logical View::RBnepControl" + quidu "40C04FCB02D0") + (object Uses_Relationship + quid "40C833A4013A" + supplier "Logical View::Undocument::Epoc32::TInt" + quidu "40C059E301D2") + (object Uses_Relationship + quid "40E4193D038C" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D")) + operations (list Operations + (object Operation "Execute" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 202))) + quid "40C44A790205" + parameters (list Parameters + (object Parameter "aCommand" + type "RBnepControl*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "RemoteDeviceDisconnect" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 202))) + quid "40C44A6303D0" + parameters (list Parameters + (object Parameter "aError" + type "TInt")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::BNEP::MLinkManager (module spec)" + quidu "40C469230361" + language "C++") + (object Class "CBnepLink" + attributes (list Attribute_Set) + quid "40C0510D0175" + fields (list has_relationship_list + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE)) + quid "40C6E3B701A0" + label "Socket" + supplier "Logical View::Undocument::Comms-infras::RInternalSocket" + quidu "40C46FE80331" + Containment "By Value") + (object Has_Relationship + quid "40C6E3B9038E" + label "Reader" + supplier "Logical View::CSocketReader" + quidu "40C0652B0094" + Containment "By Reference") + (object Has_Relationship + quid "40C6E3BD0022" + label "Writer" + supplier "Logical View::CSocketWriter" + quidu "40C0651F0155" + Containment "By Reference") + (object Has_Relationship + quid "4124A191036E" + label "MultiAddrFilters" + supplier "Logical View::CMultiAddrFilterTable" + quidu "412478830308" + Containment "By Reference") + (object Has_Relationship + quid "4124A19800BC" + label "NetTypeFilters" + supplier "Logical View::CNetTypeFilterTable" + quidu "412478A20031" + Containment "By Reference") + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE)) + quid "413C294A01B6" + label "OutGoing" + supplier "Logical View::RBnepFrame" + quidu "40C049510377" + Containment "By Value") + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE)) + quid "413C296E01CC" + label "InComing" + supplier "Logical View::RBnepFrame" + quidu "40C049510377" + Containment "By Value")) + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "40C6E1360040" + supplier "Logical View::Undocument::Epoc32::CBase" + quidu "40C052FD00B0") + (object Inheritance_Relationship + quid "40C6E14801CD" + supplier "Logical View::MPanDevice" + quidu "40C049CB02DC")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "40C83346022F" + supplier "Logical View::MLinkManager" + quidu "40C050FF0107") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "40F65CFF0068" + supplier "Logical View::Undocument::Bluetooth::TBTSockAddr" + quidu "40F65CE8003D") + (object Uses_Relationship + quid "41176E8A00AA" + supplier "Logical View::Undocument::Epoc32::TInt64" + quidu "411769FE0042") + (object Uses_Relationship + quid "417506FF0070" + supplier "Logical View::BnepUtils" + quidu "40C5B2D3013F")) + operations (list Operations + (object Operation "CBnepLink" + quid "40C6E2E10171" + parameters (list Parameters + (object Parameter "aBridge" + type "MPanDeviceOwner&") + (object Parameter "aSocket" + type "RInternalSocket&") + (object Parameter "aParser" + type "MLinkManager&")) + concurrency "Sequential" + opExportControl "Private" + uid 1086770766) + (object Operation "ConstructL" + quid "40C6E330016A" + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1086770777) + (object Operation "NewL" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 203))) + quid "40C6E17202D1" + parameters (list Parameters + (object Parameter "aBridge" + type "MPanDeviceOwner&") + (object Parameter "aSocket" + type "RInternalSocket&") + (object Parameter "aParser" + type "MLinkManager&")) + result "CBnepLink*" + concurrency "Sequential" + opExportControl "Public" + uid 1086770767) + (object Operation "Process" + quid "40C6E1DD02E9" + parameters (list Parameters + (object Parameter "aFrame" + type "RBnepFrame&")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086770768) + (object Operation "QueueOnOutput" + quid "40C6E20800BA" + parameters (list Parameters + (object Parameter "aCommand" + type "RBnepControl*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086770769) + (object Operation "ReadComplete" + quid "40C6E2350065" + parameters (list Parameters + (object Parameter "aChain" + type "RMBufChain&")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086770770) + (object Operation "RemoteDeviceDisconnect" + quid "40C6E2570303" + parameters (list Parameters + (object Parameter "aError" + type "TInt")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086770771) + (object Operation "ResumeDataTransfer" + quid "40C6E29703C3" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086770773) + (object Operation "SendFrame" + quid "40F6780900E4" + parameters (list Parameters + (object Parameter "aFrame" + type "RBnepFrame&")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1089877761) + (object Operation "SuspendDataTransfer" + quid "40C6E28701AD" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086770772) + (object Operation "Install" + quid "4124B28303C6" + parameters (list Parameters + (object Parameter "aFilterTable" + type "CMultiAddrFilterTable*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1092910091) + (object Operation "Install" + quid "4124B2A702CE" + parameters (list Parameters + (object Parameter "aFilterTable" + type "CNetTypeFilterTable*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1092910092) + (object Operation "Proceed" + quid "413C2FB60246" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1094461838) + (object Operation "Stop" + quid "41764F4303CE" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1098271422)) + class_attributes (list class_attribute_list + (object ClassAttribute "LinkManager" + quid "40C6E37800AF" + type "MLinkManager&") + (object ClassAttribute "Negotiating" + quid "40F67992016B" + type "TBool")) + module "Component View::BNEP::CBnepLink (module body)" + quidu "40C44DC50014" + module "Component View::BNEP::CBnepLink (module spec)" + quidu "40C44DBD03A1" + language "C++") + (object Class "CBnepChannelController" + attributes (list Attribute_Set) + quid "40C0512A0181" + fields (list has_relationship_list + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE)) + quid "40C578F90049" + label "SetupInProgress" + supplier "Logical View::Undocument::Epoc32::TBool" + quidu "40C060B001DF" + Containment "By Value") + (object Has_Relationship + quid "40C579450305" + label "Link" + supplier "Logical View::CBnepLink" + quidu "40C0510D0175" + Containment "By Reference")) + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "410DFEC602F1" + supplier "Logical View::Undocument::Epoc32::CBase" + quidu "40C052FD00B0") + (object Inheritance_Relationship + quid "410DFECB0027" + supplier "Logical View::MBnepChannelControl" + quidu "40C0513D0066") + (object Inheritance_Relationship + quid "410DFECE01D0" + supplier "Logical View::MLinkManager" + quidu "40C050FF0107")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "40C57A5D03B2" + supplier "Logical View::MPanConnectionNotify" + quidu "40C0607803DD") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40C57A9A025B" + supplier "Logical View::CBnepBridge" + quidu "40C049600007") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40C57ACF00E5" + supplier "Logical View::Undocument::Comms-infras::RInternalSocket" + quidu "40C46FE80331") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE) + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value FALSE)) + quid "40C583270118" + supplier "Logical View::Undocument::Networking::TBluetoothPanRole" + quidu "40C06019037D") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40C583560256" + supplier "Logical View::RBnepSetupConnectionResponseControl" + quidu "40C050B10245") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40C58359020A" + supplier "Logical View::RBnepSetupConnectionRequestControl" + quidu "40C04FE6035B") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "40C867E90133" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40F69451036F" + supplier "Logical View::RBnepFilterNetTypeSetRequestControl" + quidu "40F68AE302E2") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40F69454012F" + supplier "Logical View::RBnepFilterNetTypeResponseControl" + quidu "40F68B03028E") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40F694560236" + supplier "Logical View::RBnepFilterMultiAddrSetRequestControl" + quidu "40F68B20014F") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40F69458037A" + supplier "Logical View::RBnepFilterMultiAddrResponseControl" + quidu "40F68B66004C") + (object Uses_Relationship + quid "41050A820084" + supplier "Logical View::RBnepNotUnderstoodResponseControl" + quidu "410509070129") + (object Uses_Relationship + quid "4123479D03CD" + supplier "Logical View::TBnepControlType" + quidu "40C06127015E") + (object Uses_Relationship + quid "4124B5250357" + supplier "Logical View::CMultiAddrFilterTable" + quidu "412478830308") + (object Uses_Relationship + quid "4124B5290227" + supplier "Logical View::CNetTypeFilterTable" + quidu "412478A20031") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "416FBA7B01AD" + supplier "Logical View::BnepUtils" + quidu "40C5B2D3013F")) + operations (list Operations + (object Operation "BnepRoleRequestFromLocalDevice" + quid "40C574D00246" + parameters (list Parameters + (object Parameter "aRequestedLocalRole" + type "TBluetoothPanRole") + (object Parameter "aRequestedRemoteRole" + type "TBluetoothPanRole")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086681397) + (object Operation "BnepRoleResponseFromLocalDevice" + quid "40C5753B0055" + parameters (list Parameters + (object Parameter "aRoleResponseCode" + type "TBnepSetupConnectionResponseMessage")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086681398) + (object Operation "CBnepChannelController" + quid "40C57B4603C1" + parameters (list Parameters + (object Parameter "aNotify" + type "MPanConnectionNotify&")) + concurrency "Sequential" + opExportControl "Private" + uid 1086681399) + (object Operation "Close" + quid "40C57B0D036F" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086681400) + (object Operation "ConstructL" + quid "40C57B8000B7" + parameters (list Parameters + (object Parameter "aBridge" + type "CBnepBridge&") + (object Parameter "aConnectedSocket" + type "RInternalSocket&")) + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1086681402) + (object Operation "Handle" + quid "40C57BFF0236" + parameters (list Parameters + (object Parameter "aSetupRequest" + type "RBnepSetupConnectionRequestControl*")) + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1086681404) + (object Operation "Handle" + quid "40C57C3F0120" + parameters (list Parameters + (object Parameter "aSetupResponse" + type "RBnepSetupConnectionResponseControl*")) + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1086681405) + (object Operation "Handle" + quid "40F6925C0275" + parameters (list Parameters + (object Parameter "aFilterNetTypeSetRequest" + type "RBnepFilterNetTypeSetRequestControl*")) + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1089877762) + (object Operation "Handle" + quid "40F6927700CF" + parameters (list Parameters + (object Parameter "aFilterNetTypeResponse" + type "RBnepFilterNetTypeResponseControl*")) + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1089877763) + (object Operation "Handle" + quid "40F6928402D6" + parameters (list Parameters + (object Parameter "aFilterMultiAddrSetRequest" + type "RBnepFilterMultiAddrSetRequestControl*")) + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1089877764) + (object Operation "Handle" + quid "40F692A203C0" + parameters (list Parameters + (object Parameter "aFilterMultiAddrResponse" + type "RBnepFilterMultiAddrResponseControl*")) + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1089877765) + (object Operation "HandleUnknownCommandPacket" + quid "4105042701ED" + parameters (list Parameters + (object Parameter "aControl" + type "RBnepControl*")) + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1090840556) + (object Operation "NewL" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 203))) + quid "40C46DC00341" + parameters (list Parameters + (object Parameter "aBridge" + type "CBnepBridge&") + (object Parameter "aConnectedSocket" + type "RInternalSocket&") + (object Parameter "aNotify" + type "MPanConnectionNotify&")) + result "CBnepChannelController*" + concurrency "Sequential" + opExportControl "Public" + uid 1086599887) + (object Operation "Execute" + quid "40C57C6C0392" + parameters (list Parameters + (object Parameter "aControl" + type "RBnepControl*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086681406) + (object Operation "RemoteDeviceDisconnect" + quid "40C57B1B0206" + parameters (list Parameters + (object Parameter "aError" + type "TInt")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086681401)) + class_attributes (list class_attribute_list + (object ClassAttribute "Notify" + quid "40C57A11011E" + type "MPanConnectionNotify&")) + module "Component View::BNEP::CBnepChannelController (module spec)" + quidu "40C44DA3005B" + module "Component View::BNEP::CBnepChannelController (module body)" + quidu "40C44DAE022D" + language "C++") + (object Class "MBnepChannelControl" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "40C0513D0066" + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "40C82B8E0350" + supplier "Logical View::Undocument::Networking::TBluetoothPanRole" + quidu "40C06019037D") + (object Uses_Relationship + quid "40C82BCC01FB" + supplier "Logical View::TBnepSetupConnectionResponseMessage" + quidu "40C4789702BF") + (object Uses_Relationship + quid "40E3EC3002F2" + supplier "Logical View::MPanConnectionNotify" + quidu "40C0607803DD")) + operations (list Operations + (object Operation "BnepRoleRequestFromLocalDevice" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 202))) + quid "40C8272201C2" + parameters (list Parameters + (object Parameter "aRequestedLocalRole" + type "TBluetoothPanRole") + (object Parameter "aRequestedRemoteRole" + type "TBluetoothPanRole")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "BnepRoleResponseFromLocalDevice" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 202))) + quid "40C8278F013D" + parameters (list Parameters + (object Parameter "aRoleResponseCode" + type "TBnepSetupConnectionResponseMessage")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "Close" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 202))) + quid "40C827D502CE" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::inc::pancommon (module spec)" + quidu "40C8232C00AC" + language "C++") + (object Class "MPanConnectionNotify" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "40C0607803DD" + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "40C82C530340" + supplier "Logical View::Undocument::Bluetooth::TUUID" + quidu "40C05FB10297") + (object Uses_Relationship + quid "40C82C560055" + supplier "Logical View::Undocument::Epoc32::TBool" + quidu "40C060B001DF") + (object Uses_Relationship + quid "40C82C58027E" + supplier "Logical View::Undocument::Epoc32::TInt" + quidu "40C059E301D2") + (object Uses_Relationship + quid "40C82C5B00A2" + supplier "Logical View::TBnepSetupConnectionResponseMessage" + quidu "40C4789702BF")) + operations (list Operations + (object Operation "BnepRoleRequestFromRemoteDevice" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 202))) + quid "40C8281C038E" + parameters (list Parameters + (object Parameter "aRequestedLocalRole" + type "TUUID&") + (object Parameter "aRequestedRemoteRole" + type "TUUID&")) + result "TBool" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "BnepRoleResponseFromRemoteDevice" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 202))) + quid "40C8286D0326" + parameters (list Parameters + (object Parameter "aRoleResponseCode" + type "TBnepSetupConnectionResponseMessage")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "RemoteDeviceDisconnect" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 202))) + quid "40C828AC0146" + parameters (list Parameters + (object Parameter "aError" + type "TInt")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::inc::pancommon (module spec)" + quidu "40C8232C00AC" + language "C++") + (object Class "TBnepPacketType" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ImplementationType" + value (value Text +|enum +|{ +|EBnepGeneralEthernet = 0x00, +|EBnepControl = 0x01, +|EBnepCompressedEthernet = 0x02, +|EBnepCompressedEthernetSourceOnly = 0x03, +|EBnepCompressedEthernetDestOnly = 0x04, +|EBnepHighestSigReserved = 0xfe +|// highest future use reserved value for BT SIG use +|// IEEE802.15 group has reserved 0xff +|} + ))) + quid "40C060F603DE" + module "Component View::BNEP::BnepTypes (module spec)" + quidu "40C46C7D03C9" + language "C++") + (object Class "TBnepExtensionType" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ImplementationType" + value (value Text +|enum +|{ +|EBnepExtensionControl = 0x00 +|} + ))) + quid "40C061120013" + module "Component View::BNEP::BnepTypes (module spec)" + quidu "40C46C7D03C9" + language "C++") + (object Class "TBnepControlType" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ImplementationType" + value (value Text +|enum +|{ +|EBnepControlCommandNotUnderstood = 0x00, +|EBnepSetupConnectionRequestMessage = 0x01, +|EBnepSetupConnectionResponseMessage = 0x02, +|EBnepFilterNetTypeSetMsg = 0x03, +|EBnepFilterNetTypeResponse = 0x04, +|EBnepFilterMultiAddrSetMsg = 0x05, +|EBnepFilterMultiAddrResponseMsg = 0x06 +|} + ))) + quid "40C06127015E" + module "Component View::BNEP::BnepTypes (module spec)" + quidu "40C46C7D03C9" + language "C++") + (object Class "CSocketWriter" + quid "40C0651F0155" + fields (list has_relationship_list + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE)) + quid "416CE34C03B6" + label "Queue" + supplier "Logical View::Undocument::Comms-infras::RMBufPktQ" + quidu "416D41B40278" + Containment "By Value") + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE)) + quid "417016E103C8" + label "QueueSize" + supplier "Logical View::Undocument::Epoc32::TUint8" + quidu "40C060DE031C" + Containment "By Value")) + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "40C6E7280139" + supplier "Logical View::Undocument::Epoc32::CActive" + quidu "40C0653F024B")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "40C6E9A000CA" + supplier "Logical View::Undocument::Comms-infras::RInternalSocket" + quidu "40C46FE80331") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40C6E9F20077" + supplier "Logical View::CBnepLink" + quidu "40C0510D0175") + (object Uses_Relationship + quid "416CE406025F" + supplier "Logical View::Undocument::Epoc32::TSglQue" + quidu "40C5935D0224") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "417019B40396" + supplier "Logical View::BnepUtils" + quidu "40C5B2D3013F")) + operations (list Operations + (object Operation "NewL" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 203))) + quid "40C6E81C01C6" + parameters (list Parameters + (object Parameter "aSocket" + type "RInternalSocket&") + (object Parameter "aOwner" + type "CBnepLink&")) + result "CSocketWriter*" + concurrency "Sequential" + opExportControl "Public" + uid 1086770759) + (object Operation "Write" + quid "40C6E8850330" + parameters (list Parameters + (object Parameter "aChain" + type "RMBufChain&")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086770760) + (object Operation "CSocketWriter" + quid "40C6E8C800F1" + parameters (list Parameters + (object Parameter "aSocket" + type "RInternalSocket&") + (object Parameter "aOwner" + type "CBnepLink&")) + concurrency "Sequential" + opExportControl "Private" + uid 1086770758) + (object Operation "ConstructL" + quid "40C6E9090072" + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1086770763) + (object Operation "RunL" + quid "40C6E91C0188" + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1086770764) + (object Operation "DoCancel" + quid "40C6E928008B" + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1086770765)) + class_attributes (list class_attribute_list + (object ClassAttribute "Socket" + quid "40C6E7B9003D" + type "RInternalSocket&") + (object ClassAttribute "BnepLink" + quid "40C6E7CD023B" + type "CBnepLink&")) + module "Component View::BNEP::CSocketWriter (module spec)" + quidu "40C466CE01BE" + module "Component View::BNEP::CSocketWriter (module body)" + quidu "40C466E5012B" + language "C++") + (object Class "CSocketReader" + quid "40C0652B0094" + fields (list has_relationship_list + (object Has_Relationship + quid "40F681F30061" + label "RecvMsg" + supplier "Logical View::Undocument::Comms-infras::RMBufChain" + quidu "40C0613602A0" + Containment "By Value")) + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "40C6EBF101F9" + supplier "Logical View::Undocument::Epoc32::CActive" + quidu "40C0653F024B")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "40C6EBE80065" + supplier "Logical View::Undocument::Comms-infras::RInternalSocket" + quidu "40C46FE80331") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40C6EBEB0363" + supplier "Logical View::CBnepLink" + quidu "40C0510D0175")) + operations (list Operations + (object Operation "ConstructL" + quid "40C6ECEE015C" + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1086770783) + (object Operation "CSocketReader" + quid "40C6ECA00359" + parameters (list Parameters + (object Parameter "aSocket" + type "RInternalSocket&") + (object Parameter "aOwner" + type "CBnepLink&")) + concurrency "Sequential" + opExportControl "Private" + uid 1086770778) + (object Operation "DoCancel" + quid "40C6ED25006B" + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1086770785) + (object Operation "NewL" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 203))) + quid "40C6EC1503A9" + parameters (list Parameters + (object Parameter "aSocket" + type "RInternalSocket&") + (object Parameter "aOwner" + type "CBnepLink&")) + result "CSocketReader*" + concurrency "Sequential" + opExportControl "Public" + uid 1086770779) + (object Operation "Read" + quid "40C6EC2C0348" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086770780) + (object Operation "RunL" + quid "40C6ED1D0128" + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1086770784)) + class_attributes (list class_attribute_list + (object ClassAttribute "Socket" + quid "40C6EDC70172" + type "RInternalSocket&") + (object ClassAttribute "BnepLink" + quid "40C6EDDB022F" + type "CBnepLink&")) + module "Component View::BNEP::CSocketReader (module spec)" + quidu "40C466A30054" + module "Component View::BNEP::CSocketReader (module body)" + quidu "40C466AA0343" + language "C++") + (object Instantiated_Class "( TFixedArray < MPanDevice*, KMaxPanConnections > )" + quid "40C440B501D8" + instantiation_relationship (object Instantiation_Relationship + quid "40C441EF01ED" + supplier "Logical View::Undocument::Epoc32::TFixedArray" + quidu "40C43A840319") + language "C++" + parameters (list Parameters + (object Parameter "MPanDevice*") + (object Parameter "KMaxPanConnections"))) + (object Instantiated_Class "( TSglQue < RBnepControl > )" + quid "40C594270261" + instantiation_relationship (object Instantiation_Relationship + quid "40C5946C00D9" + supplier "Logical View::Undocument::Epoc32::TSglQue" + quidu "40C5935D0224") + language "C++" + parameters (list Parameters + (object Parameter "RBnepControl"))) + (object Class "BnepUtils" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "40C5B2D3013F" + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "40D2D6BD0288" + supplier "Logical View::Undocument::Epoc32::TInt" + quidu "40C059E301D2") + (object Uses_Relationship + quid "40DAE9A60366" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D") + (object Uses_Relationship + quid "40DAEA110233" + supplier "Logical View::TBnepTls" + quidu "40C5B5000031") + (object Uses_Relationship + quid "414059170221" + supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" + quidu "40C05A14029A") + (object Uses_Relationship + quid "416E76C202F1" + supplier "Logical View::Undocument::Epoc32::TBool" + quidu "40C060B001DF") + (object Uses_Relationship + quid "416FB65A03C0" + supplier "Logical View::TBnepPanic" + quidu "416FB58201DE")) + operations (list Operations + (object Operation "AllocTls" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 203))) + quid "40C5B3AC02E5" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086681429) + (object Operation "IsMulticast" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 203))) + quid "4124B63400AE" + parameters (list Parameters + (object Parameter "aAddr" + type "const TBTDevAddr&")) + result "TBool" + concurrency "Sequential" + opExportControl "Public" + uid 1092910093) + (object Operation "Panic" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 203))) + quid "416FB75F02C1" + parameters (list Parameters + (object Parameter "aReason" + type "Bnep::TBnepPanic")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1097840160)) + module "Component View::BNEP::BnepUtils (module spec)" + quidu "40C5B41101BE" + module "Component View::BNEP::BnepUtils (module body)" + quidu "40C5B43101F6" + language "C++") + (object Class "TBnepTls" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "40C5B5000031" + fields (list has_relationship_list + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE)) + quid "40C5B68C0063" + label "Log" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D" + Containment "By Reference")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "40DBF95700C7" + supplier "Logical View::Undocument::Epoc32::Mem" + quidu "40DBF88C03DC")) + operations (list Operations + (object Operation "TBnepTls" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "40C5B5460281" + concurrency "Sequential" + opExportControl "Public" + uid 1086681430) + (object Operation "~TBnepTls" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "40C5B5600007" + concurrency "Sequential" + opExportControl "Public" + uid 1086681431) + (object Operation "SetLogger" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "40C5B577001E" + parameters (list Parameters + (object Parameter "aLogger" + type "CBnepLog*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086681432) + (object Operation "Logger" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "40C5B5CE01E6" + result "CBnepLog*" + concurrency "Sequential" + opExportControl "Public" + uid 1086681433)) + module "Component View::BNEP::BnepUtils (module spec)" + quidu "40C5B41101BE" + language "C++") + (object Class "CBnepLog" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDefaultConstructor" + value ("GenerateSet" 199)) + (object Attribute + tool "cg" + name "DefaultConstructorVisibility" + value ("VisibilitySet" 43))) + quid "40C5B5A9014D" + fields (list has_relationship_list + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE)) + quid "40D2D19302D7" + label "MainLog" + supplier "Logical View::Undocument::Comms-infras::RFileLogger" + quidu "40D2D0FC0149" + Containment "By Value")) + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "40D2CE9201C3" + supplier "Logical View::Undocument::Epoc32::CBase" + quidu "40C052FD00B0")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "40D2D6080224" + supplier "Logical View::TBnepTls" + quidu "40C5B5000031") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE)) + quid "40DAEA8103BB" + supplier "Logical View::BnepUtils" + quidu "40C5B2D3013F")) + operations (list Operations + (object Operation "Construct" + attributes (list Attribute_Set) + quid "40D2CF3F032A" + result "TInt" + concurrency "Sequential" + opExportControl "Private" + uid 1087557284) + (object Operation "InitTls" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 203))) + quid "40D2CF7202C9" + result "CBnepLog*" + concurrency "Sequential" + opExportControl "Private" + uid 1087557285) + (object Operation "New" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 203))) + quid "40C5BECE0012" + result "CBnepLog*" + concurrency "Sequential" + opExportControl "Public" + uid 1086681436) + (object Operation "Printf" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 203))) + quid "40C5C03C0394" + parameters (list Parameters + (object Parameter "aFmt" + type "TRefByValue") + (object Parameter "DOTDOTDOT" + type "NOTYPE")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086681438) + (object Operation "Write" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 203))) + quid "40C5BEF400F3" + parameters (list Parameters + (object Parameter "BNEP_DESCRIPTOR" + type "const TDesC8&")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086681437)) + module "Component View::BNEP::CBnepLog (module spec)" + quidu "40C5B93B0237" + module "Component View::BNEP::CBnepLog (module body)" + quidu "40C5B9440050" + language "C++") + (object Class "CBTAddrSubscriber" + quid "40C5B9A6014B" + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "40CEC1CF00ED" + supplier "Logical View::Undocument::Epoc32::CActive" + quidu "40C0653F024B")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "40CEC4DC0122" + supplier "Logical View::CBnepLocalDevice" + quidu "40C049420180") + (object Uses_Relationship + quid "40CEC4FF000A" + supplier "Logical View::Undocument::Epoc32::RProperty" + quidu "40CEC37300A1") + (object Uses_Relationship + quid "40CEC50F036B" + supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" + quidu "40C05A14029A") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "40CEDA7C008D" + supplier "Logical View::Undocument::Bluetooth::KPropertyUidBluetoothCategory" + quidu "40CEDA4800E2")) + operations (list Operations + (object Operation "NewL" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 203))) + quid "40CEC1D801E1" + parameters (list Parameters + (object Parameter "aAddr" + type "TBTDevAddr&") + (object Parameter "aLocal" + type "CBnepLocalDevice&")) + result "CBTAddrSubscriber*" + concurrency "Sequential" + opExportControl "Public" + uid 1087291647) + (object Operation "RunL" + quid "40CEC22F0222" + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1087291648) + (object Operation "DoCancel" + quid "40CEC2380120" + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 1087291649) + (object Operation "CBTAddrSubscriber" + quid "40CEC2490067" + parameters (list Parameters + (object Parameter "aAddr" + type "TBTDevAddr&") + (object Parameter "aLocal" + type "CBnepLocalDevice&")) + concurrency "Sequential" + opExportControl "Private" + uid 1087291646) + (object Operation "SyncFetch" + quid "414A9860002D" + parameters (list Parameters + (object Parameter "aRestart" + type "TBool" + initv "EFalse")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1095407892)) + class_attributes (list class_attribute_list + (object ClassAttribute "Addr" + quid "40CEC2A102C6" + type "TBTDevAddr&") + (object ClassAttribute "Owner" + quid "40CEC2BB0223" + type "CBnepLocalDevice&") + (object ClassAttribute "DevAddrProperty" + quid "40CEC2D602E0" + type "RProperty")) + module "Component View::BNEP::CBTAddrSubscriber (module spec)" + quidu "40C5B9BC0391" + module "Component View::BNEP::CBTAddrSubscriber (module body)" + quidu "40C5B9D300E1" + language "C++") + (object Class "TFuncInstrument" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value TRUE) + (object Attribute + tool "cg" + name "InlineDestructor" + value TRUE)) + quid "40C5CB0E02ED" + fields (list has_relationship_list + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE)) + quid "40D2DA1B02A6" + label "String" + supplier "Logical View::Undocument::Epoc32::TPtrC8" + quidu "40D2D75002B1" + Containment "By Value") + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE)) + quid "40D2DA310261" + label "This" + supplier "Logical View::Undocument::Epoc32::TAny" + quidu "40C6DA6A02DD" + Containment "By Reference")) + operations (list Operations + (object Operation "TFuncInstrument" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "40C5CE1502BF" + parameters (list Parameters + (object Parameter "aString" + type "const TDesC8&") + (object Parameter "aThis" + type "TAny*")) + concurrency "Sequential" + opExportControl "Public" + uid 1086681440) + (object Operation "TrapIn" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "40D2D9CF03AB" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1087557289) + (object Operation "TrapOut" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "40D2D9DE01CC" + parameters (list Parameters + (object Parameter "aErr" + type "TInt")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1087557290)) + module "Component View::BNEP::CBnepLog (module spec)" + quidu "40C5B93B0237" + module "Component View::BNEP::CBnepLog (module body)" + quidu "40C5B9440050" + language "C++") + (object Class "TStaticInstrument" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value TRUE) + (object Attribute + tool "cg" + name "InlineDestructor" + value TRUE)) + quid "40C5CBEB033B" + fields (list has_relationship_list + (object Has_Relationship + quid "40D2D76E012E" + label "String" + supplier "Logical View::Undocument::Epoc32::TPtrC8" + quidu "40D2D75002B1" + Containment "By Value")) + operations (list Operations + (object Operation "TStaticInstrument" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "40D2D7A401F4" + parameters (list Parameters + (object Parameter "aString" + type "const TDesC8&")) + concurrency "Sequential" + opExportControl "Public" + uid 1087557286) + (object Operation "TrapIn" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "40D2D7C5027E" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1087557287) + (object Operation "TrapOut" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Inline" + value TRUE)) + quid "40D2D7CE00F0" + parameters (list Parameters + (object Parameter "aErr" + type "TInt")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1087557288)) + module "Component View::BNEP::CBnepLog (module spec)" + quidu "40C5B93B0237" + module "Component View::BNEP::CBnepLog (module body)" + quidu "40C5B9440050" + language "C++") + (object Class "TBnepSetupConnectionResponseMessage" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ImplementationType" + value (value Text +|enum +|{ +|EOperationSuccessful = 0x00, +|EInvalidDestinationServiceUuid = 0x01, +|EInvalidSourceServiceUuid = 0x02, +|EInvalidServiceUuidSize = 0x03, +|EConnectionNotAllowed = 0x04 +|} + )) + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "40C4789702BF" + module "Component View::inc::pancommon (module spec)" + quidu "40C8232C00AC" + language "C++") + (object Class "TBnepAgentToNifNotification" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE) + (object Attribute + tool "cg" + name "ImplementationType" + value (value Text +|enum +|{ +|EPanAgentToNifGetConnectionManager = KVendorSpecificNotificationStart, +|EPanGetTestApi +|} + ))) + quid "40C478E10276" + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "40C830E601DB" + supplier "Logical View::Undocument::Comms-infras::KVendorSpecificNotificationStart" + quidu "40C830920003")) + module "Component View::inc::pancommon (module spec)" + quidu "40C8232C00AC" + language "C++") + (object Class "TBnepConnectionManager" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "40C47D9300BB" + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "40C82E1002DB" + supplier "Logical View::MBnepConnectionManager" + quidu "40C049870017") + (object Uses_Relationship + quid "40E3EB7B037E" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D")) + class_attributes (list class_attribute_list + (object ClassAttribute "BnepConnectionManager" + quid "40C8263900EB" + type "MBnepConnectionManager*")) + module "Component View::inc::pancommon (module spec)" + quidu "40C8232C00AC" + language "C++") + (object Class "CBnepPktDrvFactory" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDefaultConstructor" + value ("GenerateSet" 199))) + quid "40C969BB025E" + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "40C96A88014B" + supplier "Logical View::Undocument::inc::CPktDrvFactory" + quidu "40C5BC6B02A9")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "40C96E0E004D" + supplier "Logical View::Undocument::Comms-infras::CNifMan" + quidu "40C96DB6023B") + (object Uses_Relationship + quid "40C96FD90115" + supplier "Logical View::Undocument::Epoc32::TVersion" + quidu "40C96F9C015E") + (object Uses_Relationship + quid "40C970A901BF" + supplier "Logical View::Undocument::Epoc32::CObject" + quidu "40C9705600BB") + (object Uses_Relationship + quid "40C970E50247" + supplier "Logical View::Undocument::Comms-infras::RMBufChain" + quidu "40C0613602A0") + (object Uses_Relationship + quid "40C97465012D" + supplier "Logical View::Undocument::Epoc32::CObjectCon" + quidu "40C974440144") + (object Uses_Relationship + quid "40C974680019" + supplier "Logical View::Undocument::Epoc32::RLibrary" + quidu "40C9740200C7") + (object Uses_Relationship + quid "40C9750D0107" + supplier "Logical View::Undocument::inc::CLANLinkFactory" + quidu "40C47D4F0399") + (object Uses_Relationship + quid "40C9B1F7036A" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "40C9B22A0241" + supplier "Logical View::TBnepTls" + quidu "40C5B5000031") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "40C9B35A036B" + supplier "Logical View::CBnepLocalDevice" + quidu "40C049420180")) + operations (list Operations + (object Operation "InitL" + quid "40C96AB703BF" + parameters (list Parameters + (object Parameter "aLib" + type "RLibrary&") + (object Parameter "aCon" + type "CObjectCon&")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1086940791) + (object Operation "NewDriverL" + quid "40C96AC802FB" + parameters (list Parameters + (object Parameter "aParent" + type "CLANLinkCommon*")) + result "CPktDrvBase*" + concurrency "Sequential" + opExportControl "Public" + uid 1086940792) + (object Operation "Open" + quid "40C96AFD0211" + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1086940793) + (object Operation "Version" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationIsConst" + value TRUE)) + quid "40C96B0C03C1" + result "TVersion" + concurrency "Sequential" + opExportControl "Public" + uid 1086940795)) + module "Component View::BNEP::CBnepPktDrvFactory (module spec)" + quidu "40C969D40322" + module "Component View::BNEP::CBnepPktDrvFactory (module body)" + quidu "40C969F1002B" + language "C++") + (object Class "RBnepFilterNetTypeSetRequestControl" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "40F68AE302E2" + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "40F68D690273" + supplier "Logical View::RBnepControl" + quidu "40C04FCB02D0")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "4104E7DB025F" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "4104FA2A02F5" + supplier "Logical View::TFilterNetTypeResponse" + quidu "40FB8EB8008D")) + operations (list Operations + (object Operation "NetworkProtocolTypeListLength" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationIsConst" + value TRUE)) + quid "40FB98900131" + parameters (list Parameters + (object Parameter "aLength" + type "TUint16&")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1090229591) + (object Operation "NetworkProtocolTypeRange" + quid "40FB97C801BF" + parameters (list Parameters + (object Parameter "aStartValue" + type "TUint16&") + (object Parameter "aEndValue" + type "TUint16&") + (object Parameter "aIndex" + type "TUint")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1090229589)) + module "Component View::BNEP::RBnepFilterNetTypeSetRequestControl (module spec)" + quidu "40F68B980383" + module "Component View::BNEP::RBnepFilterNetTypeSetRequestControl (module body)" + quidu "40F68BC300F0" + module "RBnepFilterNetTypeSetRequestFrame" + module "RBnepFilterNetTypeSetRequestFrame" + module "RBnepFilterNetTypeSetRequestFrame" + module "RBnepFilterNetTypeSetRequestFrame" + language "C++" + nestedClasses (list nestedClasses + (object Class "NetTypeSetRequestConstants" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ImplementationType" + value (value Text +|enum +|{ +|KNetworkProtocolTypeListLengthFieldOffset = KSizeOfBnepControlType, +|KNetworkProtocolTypeFirstPairFieldOffset = KSizeOfBnepControlType+KSizeOfNetTypeFilterListLength, +|KMaxSizeOfFilterNetTypeSet = KSizeOfBnepControlType + KSizeOfNetTypeFilterListLength + (KMaxNetworkTypeFilterPairs*2*KSizeOfNetType) // control type (1) + list length (2) + n*2*network type - one start and one end (2*2) +|} + )) + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepFilterNetTypeSetRequestControl.h")) + quid "40FB990702EA" + exportControl "Private" + module "RBnepFilterNetTypeSetRequestFrame" + module "RBnepFilterNetTypeSetRequestFrame" + module "RBnepFilterNetTypeSetRequestFrame" + module "RBnepFilterNetTypeSetRequestFrame"))) + (object Class "RBnepFilterNetTypeResponseControl" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "40F68B03028E" + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "40F68D560243" + supplier "Logical View::RBnepControl" + quidu "40C04FCB02D0")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "4104E7A502E3" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "4104FA2701E2" + supplier "Logical View::TFilterNetTypeResponse" + quidu "40FB8EB8008D")) + operations (list Operations + (object Operation "InitL" + quid "40FB9C850296" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1090412521) + (object Operation "SetNetTypeResponseL" + quid "40FB9CA0014A" + parameters (list Parameters + (object Parameter "aResponse" + type "TFilterNetTypeResponse")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1090412523)) + module "Component View::BNEP::RBnepFilterNetTypeResponseControl (module spec)" + quidu "40F68BF800CE" + module "Component View::BNEP::RBnepFilterNetTypeResponseControl (module body)" + quidu "40F68C22029B" + module "RBnepFilterNetTypeResponseFrame" + module "RBnepFilterNetTypeResponseFrame" + module "RBnepFilterNetTypeResponseFrame" + module "RBnepFilterNetTypeResponseFrame" + language "C++" + nestedClasses (list nestedClasses + (object Class "NetTypeResponseConstants" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ImplementationType" + value (value Text +|enum +|{ +|KFilterNetTypeResponseFieldOffset = KControlResponseOffset, +|KMaxSizeOfFilterNetTypeResponse = KSizeOfBnepControlType + KSizeOfBnepResponseCode // control type (1) + response code (2) +|} + )) + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepFilterNetTypeResponseControl.h")) + quid "40FB9CDC0313" + exportControl "Private" + module "RBnepFilterNetTypeResponseFrame" + module "RBnepFilterNetTypeResponseFrame" + module "RBnepFilterNetTypeResponseFrame" + module "RBnepFilterNetTypeResponseFrame"))) + (object Class "RBnepFilterMultiAddrSetRequestControl" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "40F68B20014F" + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "40F68D5900AD" + supplier "Logical View::RBnepControl" + quidu "40C04FCB02D0")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "4104E7A20177" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "4104FA4501C7" + supplier "Logical View::TFilterMultiAddrResponse" + quidu "40FB8FD103B2")) + operations (list Operations + (object Operation "MultiAddrRange" + quid "40FE6053015E" + parameters (list Parameters + (object Parameter "aStartAddr" + type "TBTDevAddr&") + (object Parameter "aEndAddr" + type "TBTDevAddr&") + (object Parameter "aIndex" + type "TUint")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1090412525) + (object Operation "MulticastAddressListLength" + quid "40FE60F801E7" + result "TUint16" + concurrency "Sequential" + opExportControl "Public" + uid 1090412527)) + module "Component View::BNEP::RBnepFilterMultiAddrSetRequestControl (module spec)" + quidu "40F68C510035" + module "Component View::BNEP::RBnepFilterMultiAddrSetRequestControl (module body)" + quidu "40F68C750308" + module "RBnepFilterMultiAddrSetRequestFrame" + module "RBnepFilterMultiAddrSetRequestFrame" + module "RBnepFilterMultiAddrSetRequestFrame" + module "RBnepFilterMultiAddrSetRequestFrame" + language "C++" + nestedClasses (list nestedClasses + (object Class "MultiAddrSetRequestConstants" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ImplementationType" + value (value Text +|enum +|{ +|KMultiAddrListLengthFieldOffset = KSizeOfBnepControlType, +|KMultiAddrListFirstPairFieldOffset = KSizeOfBnepControlType + KSizeOfMultiAddrFilterListLength, +|KMaxSizeOfMultiAddrSet = KSizeOfBnepControlType + KSizeOfMultiAddrFilterListLength + (KMaxMultiAddrFilterPairs*2*KSizeOfMultiAddr) +|} + )) + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepFilterMultiAddrSetRequestControl.h")) + quid "40FE612C02A0" + module "RBnepFilterMultiAddrSetRequestFrame" + module "RBnepFilterMultiAddrSetRequestFrame" + module "RBnepFilterMultiAddrSetRequestFrame" + module "RBnepFilterMultiAddrSetRequestFrame"))) + (object Class "RBnepFilterMultiAddrResponseControl" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "40F68B66004C" + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "40F68D6601E2" + supplier "Logical View::RBnepControl" + quidu "40C04FCB02D0")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "4104E79F010E" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D") + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "4104FA4B02CA" + supplier "Logical View::TFilterMultiAddrResponse" + quidu "40FB8FD103B2")) + operations (list Operations + (object Operation "InitL" + quid "4104EF04011A" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1090840549) + (object Operation "SetMultiAddrResponseL" + quid "4104EF4C024A" + parameters (list Parameters + (object Parameter "aResponse" + type "TFilterMultiAddrResponse")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1090840551)) + module "Component View::BNEP::RBnepFilterMultiAddrResponseControl (module spec)" + quidu "40F68C9900ED" + module "Component View::BNEP::RBnepFilterMultiAddrResponseControl (module body)" + quidu "40F68CBB01C8" + module "RBnepFilterMultiAddrResponseFrame" + module "RBnepFilterMultiAddrResponseFrame" + module "RBnepFilterMultiAddrResponseFrame" + module "RBnepFilterMultiAddrResponseFrame" + language "C++" + nestedClasses (list nestedClasses + (object Class "MultiAddrResponseConstants" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ImplementationType" + value (value Text +|enum +|{ +|KMultiAddrResponseFieldOffset = KControlResponseOffset, +|KMaxSizeOfMultiAddrResponse = KSizeOfBnepControlType + KSizeOfBnepResponseCode // control type (1) + response code (2) +|} + )) + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepFilterMultiAddrResponseControl.h")) + quid "4104F1E9022E" + module "RBnepFilterMultiAddrResponseFrame" + module "RBnepFilterMultiAddrResponseFrame" + module "RBnepFilterMultiAddrResponseFrame" + module "RBnepFilterMultiAddrResponseFrame"))) + (object Class "TFilterNetTypeResponse" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ImplementationType" + value (value Text +|enum +|{ +|EFilterNetTypeOperationSuccessful = 0x0000, +|EFilterNetTypeUnsupportedRequest = 0x0001, +|EFilterNetTypeInvalidNetworkingProtocolTypeRange = 0x0002, +|EFilterNetTypeTooManyFilters = 0x0003, +|EFilterNetTypeFailedDueToSecurity = 0x0004 +|} + ))) + quid "40FB8EB8008D" + module "Component View::BNEP::BnepTypes (module spec)" + quidu "40C46C7D03C9" + language "C++") + (object Class "TFilterMultiAddrResponse" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ImplementationType" + value (value Text +|enum +|{ +|EFilterMultiAddrOperationSuccessful = 0x0000, +|EFilterMultiAddrUnsupportedRequest = 0x0001, +|EFilterMultiAddrInvalidMulticastAddress = 0x0002, +|EFilterMultiAddrTooManyFilters = 0x0003, +|EFilterMultiAddrFailedDueToSecurity = 0x0004 +|} + ))) + quid "40FB8FD103B2" + module "Component View::BNEP::BnepTypes (module spec)" + quidu "40C46C7D03C9" + language "C++") + (object Class "RBnepNotUnderstoodResponseControl" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "410509070129" + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "4105092401DF" + supplier "Logical View::RBnepControl" + quidu "40C04FCB02D0")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value TRUE)) + quid "4105092F0159" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D")) + operations (list Operations + (object Operation "InitL" + quid "41050B0B012B" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1090840557) + (object Operation "SetUnknownControlType" + quid "41050B4B0173" + parameters (list Parameters + (object Parameter "aUnknownControlType" + type "TUint8")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1090840559)) + module "Component View::BNEP::RBnepNotUnderstoodResponseControl (module spec)" + quidu "41050960014F" + module "Component View::BNEP::RBnepNotUnderstoodResponseControl (module body)" + quidu "4105098103BA" + module "RBnepControlCommandNotUnderstoodResponse" + module "RBnepControlCommandNotUnderstoodResponse" + module "RBnepControlCommandNotUnderstoodResponse" + module "RBnepControlCommandNotUnderstoodResponse" + language "C++" + nestedClasses (list nestedClasses + (object Class "ControlCommandNotUnderstoodResponseConstants" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ImplementationType" + value (value Text +|enum +|{ +|KUnknownControlTypeResponseFieldOffset = KControlResponseOffset, +|KMaxSizeOfCommandNotUnderstoodResponse = KSizeOfBnepResponseCode // response code (2) +|} + )) + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepNotUnderstoodResponseControl.h")) + quid "4106181401B2" + module "RBnepControlCommandNotUnderstoodResponse" + module "RBnepControlCommandNotUnderstoodResponse" + module "RBnepControlCommandNotUnderstoodResponse" + module "RBnepControlCommandNotUnderstoodResponse"))) + (object Class "CMultiAddrFilterTable" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDefaultConstructor" + value ("GenerateSet" 199)) + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "412478830308" + fields (list has_relationship_list + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE)) + quid "41247CF80218" + label "Ctr" + supplier "Logical View::Undocument::Epoc32::TUint" + quidu "40C6DAE70369" + Containment "By Value") + (object Has_Relationship + quid "41247E970070" + label "Table" + supplier "Logical View::( TFixedArray )" + quidu "41247E2602D1" + Containment "By Value")) + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "4124A37B0355" + supplier "Logical View::Undocument::Epoc32::CBase" + quidu "40C052FD00B0")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "41247F6F01D9" + supplier "Logical View::TFilterMultiAddrResponse" + quidu "40FB8FD103B2") + (object Uses_Relationship + quid "412481050089" + supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" + quidu "40C05A14029A") + (object Uses_Relationship + quid "412483C6038F" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D") + (object Uses_Relationship + quid "4125EFC2038A" + supplier "Logical View::TBnepBTDevAddr" + quidu "4125EEA90192")) + operations (list Operations + (object Operation "FilteredOut" + quid "412481480125" + parameters (list Parameters + (object Parameter "aAddr" + type "const TBTDevAddr&")) + result "TBool" + concurrency "Sequential" + opExportControl "Public" + uid 1092910081) + (object Operation "Insert" + quid "41248162028B" + parameters (list Parameters + (object Parameter "aStart" + type "const TBnepBTDevAddr&") + (object Parameter "aEnd" + type "const TBnepBTDevAddr&")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1092910082) + (object Operation "Reset" + quid "4124817901F8" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1092910083) + (object Operation "FilteredOut" + quid "4124893C0390" + parameters (list Parameters + (object Parameter "aAddr" + type "const TBnepBTDevAddr&")) + result "TBool" + concurrency "Sequential" + opExportControl "Public" + uid 1092910089) + (object Operation "Insert" + quid "412489A20382" + parameters (list Parameters + (object Parameter "aStart" + type "const TBTDevAddr&") + (object Parameter "aEnd" + type "const TBTDevAddr&")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1092910090)) + module "Component View::BNEP::CMultiAddrFilterTable (module spec)" + quidu "41247B920123" + module "Component View::BNEP::CMultiAddrFilterTable (module body)" + quidu "41247B9E03D3" + language "C++") + (object Class "CNetTypeFilterTable" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateDefaultConstructor" + value ("GenerateSet" 199)) + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE)) + quid "412478A20031" + fields (list has_relationship_list + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE)) + quid "41247CF402BC" + label "Ctr" + supplier "Logical View::Undocument::Epoc32::TUint" + quidu "40C6DAE70369" + Containment "By Value") + (object Has_Relationship + quid "41247E9003E1" + label "Table" + supplier "Logical View::( TFixedArray )" + quidu "41247DA900FA" + Containment "By Value")) + superclasses (list inheritance_relationship_list + (object Inheritance_Relationship + quid "4124A37F0238" + supplier "Logical View::Undocument::Epoc32::CBase" + quidu "40C052FD00B0")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "41247F6D0032" + supplier "Logical View::TFilterNetTypeResponse" + quidu "40FB8EB8008D") + (object Uses_Relationship + quid "412483C301E6" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D")) + operations (list Operations + (object Operation "FilteredOut" + quid "4124818F00FF" + parameters (list Parameters + (object Parameter "aProtocol" + type "const TUint16")) + result "TBool" + concurrency "Sequential" + opExportControl "Public" + uid 1092910084) + (object Operation "Insert" + quid "4124819702A5" + parameters (list Parameters + (object Parameter "aStart" + type "const TUint16") + (object Parameter "aEnd" + type "const TUint16")) + result "TInt" + concurrency "Sequential" + opExportControl "Public" + uid 1092910085) + (object Operation "Reset" + quid "412481A00366" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1092910086)) + module "Component View::BNEP::CNetTypeFilterTable (module spec)" + quidu "41247BA90252" + module "Component View::BNEP::CNetTypeFilterTable (module body)" + quidu "41247BB302F7" + language "C++") + (object Instantiated_Class "( TFixedArray )" + quid "41247DA900FA" + instantiation_relationship (object Instantiation_Relationship + quid "41247E180320" + supplier "Logical View::Undocument::Epoc32::TFixedArray" + quidu "40C43A840319") + language "C++" + parameters (list Parameters + (object Parameter "TUint16") + (object Parameter "KNetTypeFilterTableBoundary"))) + (object Instantiated_Class "( TFixedArray )" + quid "41247E2602D1" + instantiation_relationship (object Instantiation_Relationship + quid "41247E7001BF" + supplier "Logical View::Undocument::Epoc32::TFixedArray" + quidu "40C43A840319") + language "C++" + parameters (list Parameters + (object Parameter "TBnepBTDevAddr") + (object Parameter "KMultiAddrFilterTableBoundary"))) + (object Class "TBnepBTDevAddr" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateCopyConstructor" + value ("GenerateSet" 199)) + (object Attribute + tool "cg" + name "GenerateAssignmentOperation" + value ("GenerateSet" 199)) + (object Attribute + tool "cg" + name "GenerateEqualityOperations" + value ("GenerateSet" 199)) + (object Attribute + tool "cg" + name "GenerateDestructor" + value FALSE) + (object Attribute + tool "cg" + name "GenerateDefaultConstructor" + value ("GenerateSet" 199)) + (object Attribute + tool "cg" + name "GenerateRelationalOperations" + value TRUE) + (object Attribute + tool "cg" + name "InlineDefaultConstructor" + value TRUE) + (object Attribute + tool "cg" + name "InlineCopyConstructor" + value TRUE) + (object Attribute + tool "cg" + name "InlineAssignmentOperation" + value TRUE) + (object Attribute + tool "cg" + name "InlineEqualityOperations" + value TRUE) + (object Attribute + tool "cg" + name "InlineRelationalOperations" + value TRUE)) + quid "4125EEA90192" + fields (list has_relationship_list + (object Has_Relationship + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE)) + quid "4125F23A037F" + label "Address" + supplier "Logical View::Undocument::Epoc32::TInt64" + quidu "411769FE0042" + Containment "By Value")) + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "4125F18501A8" + supplier "Logical View::Undocument::Bluetooth::TBTDevAddr" + quidu "40C05A14029A") + (object Uses_Relationship + quid "4125F9C20183" + supplier "Logical View::CBnepLog" + quidu "40C5B5A9014D")) + operations (list Operations + (object Operation "Address" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "OperationIsConst" + value TRUE)) + quid "4125F35B0082" + result "const TInt64&" + concurrency "Sequential" + opExportControl "Public" + uid 1093006311) + (object Operation "SetAddress" + quid "4125F374027C" + parameters (list Parameters + (object Parameter "aAddr" + type "const TInt64&")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1093006312) + (object Operation "SetAddress" + quid "4125F38501B8" + parameters (list Parameters + (object Parameter "aAddr" + type "const TBTDevAddr&")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 1093006313) + (object Operation "TBnepBTDevAddr" + quid "4125F56A021A" + parameters (list Parameters + (object Parameter "aAddr" + type "const TBTDevAddr&")) + concurrency "Sequential" + opExportControl "Public" + uid 1093006314)) + module "Component View::BNEP::TBnepBTDevAddr (module spec)" + quidu "4125EEED010D" + module "Component View::BNEP::TBnepBTDevAddr (module body)" + quidu "4125EF0001A1" + language "C++") + (object Class "TBnepPanic" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "ImplementationType" + value (value Text +|enum +|{ +|ENullTlsPointer, +|ENullPointer, +|EUnableToRespond, +|ESocketWriterQueueOverflow, +|ELogResetAttempt +|} + ))) + quid "416FB58201DE" + module "Component View::BNEP::BnepUtils (module spec)" + quidu "40C5B41101BE" + language "C++") + (object Instantiated_Class "( TSglQue < RBnepLinkChain > )" + quid "416CE2AE0279" + language "C++" + parameters (list Parameters + (object Parameter "RBnepLinkChain"))) + (object Class_Category "BNEP Arrangements & Static Relationships" + quid "40C051660000" + documentation "The following information attempts to describe the structure of key parts of the software such that the maintainer can understand the relationships between the classes." + exportControl "Public" + logical_models (list unit_reference_list) + logical_presentations (list unit_reference_list + (object ClassDiagram "Inheritance Relationships" + quid "40C0517802CD" + title "Inheritance Relationships" + documentation +|This diagram shows all the main inheritance relationships involved in the BNEP implementation. There are three Active Objects; the socket reader and writer used in CBnepLink, and the CBTAddrSubscriber used by CBnepLocalDevice to keep track of the device address property during the separate instantiation ordering scenarios of this driver and the Bluetooth stack. +|All RBnepControls are actually RMBufChains, which means that special care should be taken to ensure their correct resource freeing and destruction to avoid MBuf manager memory leakage. + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 513 + origin_y 169 + items (list diagram_item_list + (object ClassView "Class" "Logical View::MPanDeviceOwner" @1 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + ShowOperationSignature TRUE + location (291, 567) + label (object ItemLabel + Parent_View @1 + location (100, 521) + fill_color 13434879 + nlines 1 + max_width 382 + justify 0 + label "MPanDeviceOwner") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0497600BD" + width 400 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CBnepBridge" @2 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + ShowOperationSignature TRUE + location (291, 972) + label (object ItemLabel + Parent_View @2 + location (158, 926) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "CBnepBridge") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049600007" + width 284 + height 117 + autoResize TRUE) + (object InheritView "" @3 + stereotype TRUE + line_color 3342489 + quidu "40C05A93018F" + client @2 + supplier @1 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLink" @4 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + ShowOperationSignature TRUE + location (723, 975) + label (object ItemLabel + Parent_View @4 + location (604, 929) + fill_color 13434879 + nlines 1 + max_width 238 + justify 0 + label "CBnepLink") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0510D0175" + width 256 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::MPanDevice" @5 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + ShowOperationSignature TRUE + location (837, 564) + label (object ItemLabel + Parent_View @5 + location (708, 518) + fill_color 13434879 + nlines 1 + max_width 258 + justify 0 + label "MPanDevice") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049CB02DC" + width 276 + height 117 + autoResize TRUE) + (object InheritView "" @6 + stereotype TRUE + line_color 3342489 + quidu "40C6E14801CD" + client @4 + supplier @5 + line_style 0) + (object ClassView "Class" "Logical View::CBnepChannelController" @7 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1743, 966) + label (object ItemLabel + Parent_View @7 + location (1504, 920) + fill_color 13434879 + nlines 1 + max_width 478 + justify 0 + label "CBnepChannelController") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0512A0181" + width 496 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::MBnepConnectionManager" @8 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (291, 126) + label (object ItemLabel + Parent_View @8 + location (29, 80) + fill_color 13434879 + nlines 1 + max_width 524 + justify 0 + label "MBnepConnectionManager") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049870017" + width 542 + height 117 + autoResize TRUE) + (object InheritView "" @9 + stereotype TRUE + line_color 3342489 + quidu "4108F88201BC" + client @1 + supplier @8 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLocalDevice" @10 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1089, 972) + label (object ItemLabel + Parent_View @10 + location (905, 926) + fill_color 13434879 + nlines 1 + max_width 368 + justify 0 + label "CBnepLocalDevice") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049420180" + width 386 + height 117 + autoResize TRUE) + (object InheritView "" @11 + stereotype TRUE + line_color 3342489 + quidu "4107BDB201EF" + client @10 + supplier @5 + line_style 0) + (object ClassView "Class" "Logical View::MBnepChannelControl" @12 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1551, 204) + label (object ItemLabel + Parent_View @12 + location (1330, 158) + fill_color 13434879 + nlines 1 + max_width 442 + justify 0 + label "MBnepChannelControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0513D0066" + width 460 + height 117 + autoResize TRUE) + (object InheritView "" @13 + stereotype TRUE + line_color 3342489 + quidu "410DFECB0027" + client @7 + supplier @12 + line_style 0) + (object ClassView "Class" "Logical View::MLinkManager" @14 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1947, 201) + label (object ItemLabel + Parent_View @14 + location (1794, 155) + fill_color 13434879 + nlines 1 + max_width 306 + justify 0 + label "MLinkManager") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C050FF0107" + width 324 + height 117 + autoResize TRUE) + (object InheritView "" @15 + stereotype TRUE + line_color 3342489 + quidu "410DFECE01D0" + client @7 + supplier @14 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::inc::CPktDrvBase" @16 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1089, 213) + label (object ItemLabel + Parent_View @16 + location (953, 167) + fill_color 13434879 + nlines 1 + max_width 272 + justify 0 + label "CPktDrvBase") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5BB5D014C" + width 290 + height 117 + autoResize TRUE) + (object InheritView "" @17 + stereotype TRUE + line_color 3342489 + quidu "4107BDAB0145" + client @10 + supplier @16 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Epoc32::CActive" @18 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1911, 1167) + label (object ItemLabel + Parent_View @18 + location (1826, 1121) + fill_color 13434879 + nlines 1 + max_width 170 + justify 0 + label "CActive") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0653F024B" + width 188 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CBTAddrSubscriber" @19 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1911, 1659) + label (object ItemLabel + Parent_View @19 + location (1717, 1613) + fill_color 13434879 + nlines 1 + max_width 388 + justify 0 + label "CBTAddrSubscriber") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B9A6014B" + width 406 + height 117 + autoResize TRUE) + (object InheritView "" @20 + stereotype TRUE + line_color 3342489 + quidu "40CEC1CF00ED" + client @19 + supplier @18 + line_style 0) + (object ClassView "Class" "Logical View::CSocketReader" @21 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1521, 1656) + label (object ItemLabel + Parent_View @21 + location (1364, 1610) + fill_color 13434879 + nlines 1 + max_width 314 + justify 0 + label "CSocketReader") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0652B0094" + width 332 + height 117 + autoResize TRUE) + (object InheritView "" @22 + stereotype TRUE + line_color 3342489 + quidu "40C6EBF101F9" + client @21 + supplier @18 + line_style 0) + (object ClassView "Class" "Logical View::CSocketWriter" @23 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2292, 1656) + label (object ItemLabel + Parent_View @23 + location (2142, 1610) + fill_color 13434879 + nlines 1 + max_width 300 + justify 0 + label "CSocketWriter") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0651F0155" + width 318 + height 117 + autoResize TRUE) + (object InheritView "" @24 + stereotype TRUE + line_color 3342489 + quidu "40C6E7280139" + client @23 + supplier @18 + line_style 0) + (object ClassView "Class" "Logical View::RBnepControl" @25 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (993, 1662) + label (object ItemLabel + Parent_View @25 + location (849, 1616) + fill_color 13434879 + nlines 1 + max_width 288 + justify 0 + label "RBnepControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C04FCB02D0" + width 306 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepFilterMultiAddrResponseControl" @26 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (408, 2424) + label (object ItemLabel + Parent_View @26 + location (45, 2378) + fill_color 13434879 + nlines 1 + max_width 726 + justify 0 + label "RBnepFilterMultiAddrResponseControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68B66004C" + width 744 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepFilterMultiAddrSetRequestControl" @27 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (396, 2286) + label (object ItemLabel + Parent_View @27 + location (16, 2240) + fill_color 13434879 + nlines 1 + max_width 760 + justify 0 + label "RBnepFilterMultiAddrSetRequestControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68B20014F" + width 778 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepFilterNetTypeResponseControl" @28 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (423, 2154) + label (object ItemLabel + Parent_View @28 + location (71, 2108) + fill_color 13434879 + nlines 1 + max_width 704 + justify 0 + label "RBnepFilterNetTypeResponseControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68B03028E" + width 722 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepFilterNetTypeSetRequestControl" @29 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (417, 2013) + label (object ItemLabel + Parent_View @29 + location (46, 1967) + fill_color 13434879 + nlines 1 + max_width 742 + justify 0 + label "RBnepFilterNetTypeSetRequestControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68AE302E2" + width 760 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepNotUnderstoodResponseControl" @30 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1509, 2076) + label (object ItemLabel + Parent_View @30 + location (1143, 2030) + fill_color 13434879 + nlines 1 + max_width 732 + justify 0 + label "RBnepNotUnderstoodResponseControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "410509070129" + width 750 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepSetupConnectionRequestControl" @31 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1515, 2235) + label (object ItemLabel + Parent_View @31 + location (1145, 2189) + fill_color 13434879 + nlines 1 + max_width 740 + justify 0 + label "RBnepSetupConnectionRequestControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C04FE6035B" + width 758 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepSetupConnectionResponseControl" @32 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1533, 2382) + label (object ItemLabel + Parent_View @32 + location (1146, 2336) + fill_color 13434879 + nlines 1 + max_width 774 + justify 0 + label "RBnepSetupConnectionResponseControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C050B10245" + width 792 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Comms-infras::RMBufChain" @33 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (993, 1158) + label (object ItemLabel + Parent_View @33 + location (858, 1112) + fill_color 13434879 + nlines 1 + max_width 270 + justify 0 + label "RMBufChain") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0613602A0" + width 288 + height 117 + autoResize TRUE) + (object InheritView "" @34 + stereotype TRUE + line_color 3342489 + quidu "414EBD1702D7" + client @32 + supplier @25 + vertices (list Points + (1136, 2382) + (991, 2382) + (992, 1720)) + line_style 0) + (object InheritView "" @35 + stereotype TRUE + line_color 3342489 + quidu "40C4440D0034" + client @31 + supplier @25 + vertices (list Points + (1135, 2236) + (991, 2238) + (992, 1720)) + line_style 0) + (object InheritView "" @36 + stereotype TRUE + line_color 3342489 + quidu "4105092401DF" + client @30 + supplier @25 + vertices (list Points + (1133, 2077) + (991, 2078) + (992, 1720)) + line_style 0) + (object InheritView "" @37 + stereotype TRUE + line_color 3342489 + quidu "40F68D6601E2" + client @26 + supplier @25 + line_style 0) + (object InheritView "" @38 + stereotype TRUE + line_color 3342489 + quidu "40F68D5900AD" + client @27 + supplier @25 + line_style 0) + (object InheritView "" @39 + stereotype TRUE + line_color 3342489 + quidu "40F68D560243" + client @28 + supplier @25 + line_style 0) + (object InheritView "" @40 + stereotype TRUE + line_color 3342489 + quidu "40F68D690273" + client @29 + supplier @25 + line_style 0))) + (object ClassDiagram "Bridge, Links and Controllers" + quid "40C47567038E" + title "Bridge, Links and Controllers" + documentation +|This diagram shows the implementation relationships that exist between the bridge, links and channel controller objects. +|The bridge is responsible for maintaining a fixed-length array of all the MPanDevices that it is currently talking to. These consist of the local device (of which there can be only one) and several links. Each MPanDevice is passed a reference to the MPanDeviceOwner it when it is constructed. It is possible, in the implementation, to instantiate a link, informing it of the bridge to which it might expect to be attached, and then need to delete the link before that attachment has been successfully made (e.g. when attempting to attach a 9th device into a fully-subscribed piconet of 8). As part of the link's destruction, it is required to notify the bridge that it is being torn down. If the bridge is unaware of the link in the first place, this notification is has no effect. + + zoom 80 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::MPanDeviceOwner" @41 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + ShowOperationSignature TRUE + location (609, 228) + label (object ItemLabel + Parent_View @41 + location (385, 182) + fill_color 13434879 + nlines 1 + max_width 448 + justify 0 + label "MPanDeviceOwner") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0497600BD" + width 466 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CBnepBridge" @42 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + ShowOperationSignature TRUE + location (609, 666) + label (object ItemLabel + Parent_View @42 + location (446, 620) + fill_color 13434879 + nlines 1 + max_width 326 + justify 0 + label "CBnepBridge") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049600007" + width 344 + height 117 + autoResize TRUE) + (object ClassView "InstantiatedClass" "Logical View::( TFixedArray < MPanDevice*, KMaxPanConnections > )" @43 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + ShowOperationSignature TRUE + location (624, 1044) + label (object ItemLabel + Parent_View @43 + location (9, 998) + fill_color 13434879 + nlines 1 + max_width 1230 + justify 0 + label "( TFixedArray < MPanDevice*, KMaxPanConnections > )") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C440B501D8" + width 1248 + height 117 + autoResize TRUE) + (object HasView "Links" @44 + label (object ItemLabel + Parent_View @44 + location (615, 854) + anchor_loc 1 + nlines 1 + max_width 107 + justify 0 + label "Links") + stereotype TRUE + line_color 3342489 + quidu "40C44171025A" + client @42 + supplier @43 + line_style 0) + (object ClassView "Class" "Logical View::MBnepChannelControl" @45 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + ShowOperationSignature TRUE + location (2085, 237) + label (object ItemLabel + Parent_View @45 + location (1825, 191) + fill_color 13434879 + nlines 1 + max_width 520 + justify 0 + label "MBnepChannelControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0513D0066" + width 538 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::MPanDevice" @46 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + ShowOperationSignature TRUE + location (1407, 228) + label (object ItemLabel + Parent_View @46 + location (1251, 182) + fill_color 13434879 + nlines 1 + max_width 312 + justify 0 + label "MPanDevice") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049CB02DC" + width 330 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CBnepChannelController" @47 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + ShowOperationSignature TRUE + location (2352, 675) + label (object ItemLabel + Parent_View @47 + location (2068, 629) + fill_color 13434879 + nlines 1 + max_width 568 + justify 0 + label "CBnepChannelController") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0512A0181" + width 586 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CBnepLink" @48 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + ShowOperationSignature TRUE + location (1620, 675) + label (object ItemLabel + Parent_View @48 + location (1484, 629) + fill_color 13434879 + nlines 1 + max_width 272 + justify 0 + label "CBnepLink") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0510D0175" + width 290 + height 117 + autoResize TRUE) + (object InheritView "" @49 + stereotype TRUE + line_color 3342489 + quidu "40C6E14801CD" + client @48 + supplier @46 + line_style 0) + (object InheritView "" @50 + stereotype TRUE + line_color 3342489 + quidu "40C05A93018F" + client @42 + supplier @41 + line_style 0) + (object HasView "Link" @51 + label (object ItemLabel + Parent_View @51 + location (1912, 675) + anchor_loc 1 + nlines 1 + max_width 79 + justify 0 + label "Link") + stereotype TRUE + line_color 3342489 + quidu "40C579450305" + client @47 + supplier @48 + line_style 0) + (object ClassView "Class" "Logical View::MLinkManager" @52 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2547, 243) + label (object ItemLabel + Parent_View @52 + location (2368, 197) + fill_color 13434879 + nlines 1 + max_width 358 + justify 0 + label "MLinkManager") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C050FF0107" + width 376 + height 117 + autoResize TRUE) + (object HasView "Owner" @53 + label (object ItemLabel + Parent_View @53 + location (1042, 228) + anchor_loc 1 + nlines 1 + max_width 118 + justify 0 + label "Owner") + stereotype TRUE + line_color 3342489 + quidu "40C979BC001B" + client @46 + supplier @41 + line_style 0) + (object InheritView "" @54 + stereotype TRUE + line_color 3342489 + quidu "410DFECB0027" + client @47 + supplier @45 + line_style 0) + (object InheritView "" @55 + stereotype TRUE + line_color 3342489 + quidu "410DFECE01D0" + client @47 + supplier @52 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLocalDevice" @56 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1209, 672) + label (object ItemLabel + Parent_View @56 + location (985, 626) + fill_color 13434879 + nlines 1 + max_width 448 + justify 0 + label "CBnepLocalDevice") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049420180" + width 466 + height 117 + autoResize TRUE) + (object InheritView "" @57 + stereotype TRUE + line_color 3342489 + quidu "4107BDB201EF" + client @56 + supplier @46 + line_style 0) + (object UsesView "" @58 + stereotype TRUE + line_color 3342489 + quidu "4108F40700A4" + client @56 + supplier @42 + line_style 0))) + (object ClassDiagram "BnepUtils and TBnepTls" + quid "40C5B4A10175" + title "BnepUtils and TBnepTls" + documentation "The relationships and dependencies shown here only fully exist for UDEB builds. For UREL builds there is no requirement for TBnepTls (thread-local storage) or CBnepLog. Therefore the only dependency that exists on BnepUtils in a released driver is that from RBnepFrame, which needs to use the IsMulticast() method. " + zoom 100 + max_height 28350 + max_width 21600 + origin_x 19 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::BnepUtils" @59 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (582, 729) + label (object ItemLabel + Parent_View @59 + location (478, 683) + fill_color 13434879 + nlines 1 + max_width 208 + justify 0 + label "BnepUtils") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B2D3013F" + width 226 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::TBnepTls" @60 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (186, 999) + label (object ItemLabel + Parent_View @60 + location (85, 953) + fill_color 13434879 + nlines 1 + max_width 202 + justify 0 + label "TBnepTls") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B5000031" + width 220 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CBnepLog" @61 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (582, 399) + label (object ItemLabel + Parent_View @61 + location (466, 353) + fill_color 13434879 + nlines 1 + max_width 232 + justify 0 + label "CBnepLog") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B5A9014D" + width 250 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Epoc32::TInt" @62 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (837, 984) + label (object ItemLabel + Parent_View @62 + location (756, 938) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "TInt") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C059E301D2" + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Epoc32::Mem" @63 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (186, 1221) + label (object ItemLabel + Parent_View @63 + location (105, 1175) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "Mem") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40DBF88C03DC" + height 117 + autoResize TRUE) + (object UsesView "" @64 + stereotype TRUE + line_color 3342489 + quidu "40DBF95700C7" + client @60 + supplier @63 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Epoc32::CBase" @65 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (585, 132) + label (object ItemLabel + Parent_View @65 + location (504, 86) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "CBase") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C052FD00B0" + height 117 + autoResize TRUE) + (object InheritView "" @66 + stereotype TRUE + line_color 3342489 + quidu "40D2CE9201C3" + client @61 + supplier @65 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTDevAddr" @67 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (582, 987) + label (object ItemLabel + Parent_View @67 + location (454, 941) + fill_color 13434879 + nlines 1 + max_width 256 + justify 0 + label "TBTDevAddr") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C05A14029A" + width 274 + height 117 + autoResize TRUE) + (object UsesView "" @68 + stereotype TRUE + line_color 3342489 + quidu "40D2D6BD0288" + client @59 + supplier @62 + line_style 0) + (object UsesView "" @69 + stereotype TRUE + line_color 3342489 + quidu "40DAE9A60366" + client @59 + supplier @61 + line_style 0) + (object UsesView "" @70 + stereotype TRUE + line_color 3342489 + quidu "40DAEA110233" + client @59 + supplier @60 + line_style 0) + (object UsesView "" @71 + stereotype TRUE + line_color 3342489 + quidu "414059170221" + client @59 + supplier @67 + line_style 0) + (object UsesView "" @72 + stereotype TRUE + line_color 3342489 + quidu "40DAEA8103BB" + client @61 + supplier @59 + line_style 0) + (object HasView "Log" @73 + label (object ItemLabel + Parent_View @73 + location (185, 614) + anchor_loc 1 + nlines 1 + max_width 80 + justify 0 + label "Log") + stereotype TRUE + line_color 3342489 + quidu "40C5B68C0063" + client @60 + supplier @61 + vertices (list Points + (185, 940) + (185, 600) + (464, 457)) + line_style 0) + (object ClassView "Class" "Logical View::RBnepFrame" @74 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1086, 732) + label (object ItemLabel + Parent_View @74 + location (953, 686) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "RBnepFrame") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049510377" + width 284 + height 117 + autoResize TRUE) + (object UsesView "" @75 + stereotype TRUE + line_color 3342489 + quidu "40C9BB240119" + client @74 + supplier @61 + line_style 0) + (object UsesView "" @76 + stereotype TRUE + line_color 3342489 + quidu "40CD9C1D014E" + client @74 + supplier @59 + line_style 0) + (object ClassView "Class" "Logical View::TBnepPanic" @77 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1107, 981) + label (object ItemLabel + Parent_View @77 + location (975, 935) + fill_color 13434879 + nlines 1 + max_width 264 + justify 0 + label "TBnepPanic") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "416FB58201DE" + width 282 + height 117 + autoResize TRUE) + (object UsesView "" @78 + stereotype TRUE + line_color 3342489 + quidu "416FB65A03C0" + client @59 + supplier @77 + line_style 0))) + (object ClassDiagram "Bridge, Links and Controllers - additional dependencies" + quid "40EC0BF9001D" + title "Bridge, Links and Controllers - additional dependencies" + documentation "This diagram illustrates some of the coupled dependencies that exist in the code. " + zoom 100 + max_height 28350 + max_width 21600 + origin_x 225 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::CBnepBridge" @79 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1671, 1008) + label (object ItemLabel + Parent_View @79 + location (1538, 962) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "CBnepBridge") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049600007" + width 284 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CBnepLink" @80 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (210, 1008) + label (object ItemLabel + Parent_View @80 + location (91, 962) + fill_color 13434879 + nlines 1 + max_width 238 + justify 0 + label "CBnepLink") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0510D0175" + width 256 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::MPanDeviceOwner" @81 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1671, 531) + label (object ItemLabel + Parent_View @81 + location (1480, 485) + fill_color 13434879 + nlines 1 + max_width 382 + justify 0 + label "MPanDeviceOwner") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0497600BD" + width 400 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::MPanDevice" @82 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (438, 531) + label (object ItemLabel + Parent_View @82 + location (309, 485) + fill_color 13434879 + nlines 1 + max_width 258 + justify 0 + label "MPanDevice") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049CB02DC" + width 276 + height 117 + autoResize TRUE) + (object InheritView "" @83 + stereotype TRUE + line_color 3342489 + quidu "40C6E14801CD" + client @80 + supplier @82 + line_style 0) + (object ClassView "Class" "Logical View::MLinkManager" @84 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (438, 132) + label (object ItemLabel + Parent_View @84 + location (285, 86) + fill_color 13434879 + nlines 1 + max_width 306 + justify 0 + label "MLinkManager") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C050FF0107" + width 324 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CBnepLocalDevice" @85 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (609, 1008) + label (object ItemLabel + Parent_View @85 + location (425, 962) + fill_color 13434879 + nlines 1 + max_width 368 + justify 0 + label "CBnepLocalDevice") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049420180" + width 386 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CBTAddrSubscriber" @86 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (609, 1500) + label (object ItemLabel + Parent_View @86 + location (415, 1454) + fill_color 13434879 + nlines 1 + max_width 388 + justify 0 + label "CBTAddrSubscriber") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B9A6014B" + width 406 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::MBnepConnectionManager" @87 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1671, 132) + label (object ItemLabel + Parent_View @87 + location (1409, 86) + fill_color 13434879 + nlines 1 + max_width 524 + justify 0 + label "MBnepConnectionManager") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049870017" + width 542 + height 117 + autoResize TRUE) + (object HasView "Owner" @88 + label (object ItemLabel + Parent_View @88 + location (1023, 531) + anchor_loc 1 + nlines 1 + max_width 116 + justify 0 + label "Owner") + stereotype TRUE + line_color 3342489 + quidu "40C979BC001B" + client @82 + supplier @81 + line_style 0) + (object UsesView "" @89 + stereotype TRUE + line_color 3342489 + quidu "4108F40700A4" + client @85 + supplier @79 + line_style 0) + (object InheritView "" @90 + stereotype TRUE + line_color 3342489 + quidu "4107BDB201EF" + client @85 + supplier @82 + line_style 0) + (object UsesView "" @91 + stereotype TRUE + line_color 3342489 + quidu "40C83346022F" + client @80 + supplier @84 + vertices (list Points + (189, 949) + (131, 778) + (131, 359) + (357, 190)) + line_style 0) + (object UsesView "" @92 + stereotype TRUE + line_color 3342489 + quidu "40C7173D00DC" + client @81 + supplier @82 + vertices (list Points + (1470, 485) + (1156, 416) + (576, 508)) + line_style 0) + (object InheritView "" @93 + stereotype TRUE + line_color 3342489 + quidu "40C05A93018F" + client @79 + supplier @81 + line_style 0) + (object InheritView "" @94 + stereotype TRUE + line_color 3342489 + quidu "4108F88201BC" + client @81 + supplier @87 + line_style 0) + (object UsesView "" @95 + stereotype TRUE + line_color 3342489 + quidu "4108F9FD02A7" + client @79 + supplier @82 + line_style 0) + (object UsesView "" @96 + stereotype TRUE + line_color 3342489 + quidu "40CEC4DC0122" + client @86 + supplier @85 + line_style 0) + (object HasView "Subscriber" @97 + label (object ItemLabel + Parent_View @97 + location (609, 1254) + anchor_loc 1 + nlines 1 + max_width 201 + justify 0 + label "Subscriber") + stereotype TRUE + line_color 3342489 + quidu "40C6DDA601ED" + client @85 + supplier @86 + line_style 0))) + (object ClassDiagram "Filters" + quid "412479B000EE" + title "Filters" + documentation +|This diagram gives the detail of the two filter table types, used by links to conserve bandwidth across the Bluetooth network. They are essentially wrappers around fixed-length arrays of range specifications. The arrays are exactly twice as long as the permitted set of filter specifications, wherein the even-indexed entries represent the start value for the range and the subsequent odd-indexed entry represents the end value for the range. The boundaries of the fixed-length arrays represent a compromise between what is permissible and what may be practical. Each boundary is independently modifiable in the code should changes be required. +|To enable faster comparison and searching, the Multicast Address Filter Table uses an internal TInt64 representation of the 48-bit Bluetooth address. The normal representation is not optimised for arithmetic operations. This may use slightly more memory in operation, but the simplicity and speed of access and comparison is enhanced. + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::CNetTypeFilterTable" @98 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (783, 1314) + label (object ItemLabel + Parent_View @98 + location (586, 1268) + fill_color 13434879 + nlines 1 + max_width 394 + justify 0 + label "CNetTypeFilterTable") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "412478A20031" + width 412 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CMultiAddrFilterTable" @99 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (774, 126) + label (object ItemLabel + Parent_View @99 + location (567, 80) + fill_color 13434879 + nlines 1 + max_width 414 + justify 0 + label "CMultiAddrFilterTable") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "412478830308" + width 432 + height 117 + autoResize TRUE) + (object ClassView "InstantiatedClass" "Logical View::( TFixedArray )" @100 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (783, 1761) + label (object ItemLabel + Parent_View @100 + location (207, 1715) + fill_color 13434879 + nlines 1 + max_width 1152 + justify 0 + label "( TFixedArray )") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "41247DA900FA" + width 1170 + height 117 + autoResize TRUE) + (object ClassView "InstantiatedClass" "Logical View::( TFixedArray )" @101 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (774, 1023) + label (object ItemLabel + Parent_View @101 + location (43, 977) + fill_color 13434879 + nlines 1 + max_width 1462 + justify 0 + label "( TFixedArray )") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "41247E2602D1" + width 1480 + height 117 + autoResize TRUE) + (object HasView "Table" @102 + label (object ItemLabel + Parent_View @102 + location (783, 1537) + anchor_loc 1 + nlines 1 + max_width 112 + justify 0 + label "Table") + stereotype TRUE + line_color 3342489 + quidu "41247E9003E1" + client @98 + supplier @100 + line_style 0) + (object HasView "Table" @103 + label (object ItemLabel + Parent_View @103 + location (774, 574) + anchor_loc 1 + nlines 1 + max_width 112 + justify 0 + label "Table") + stereotype TRUE + line_color 3342489 + quidu "41247E970070" + client @99 + supplier @101 + line_style 0) + (object ClassView "Class" "Logical View::TFilterMultiAddrResponse" @104 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1110, 684) + label (object ItemLabel + Parent_View @104 + location (861, 638) + fill_color 13434879 + nlines 1 + max_width 498 + justify 0 + label "TFilterMultiAddrResponse") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40FB8FD103B2" + width 516 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::TFilterNetTypeResponse" @105 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1116, 1611) + label (object ItemLabel + Parent_View @105 + location (878, 1565) + fill_color 13434879 + nlines 1 + max_width 476 + justify 0 + label "TFilterNetTypeResponse") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40FB8EB8008D" + width 494 + height 117 + autoResize TRUE) + (object UsesView "" @106 + stereotype TRUE + line_color 3342489 + quidu "41247F6D0032" + client @98 + supplier @105 + line_style 0) + (object UsesView "" @107 + stereotype TRUE + line_color 3342489 + quidu "41247F6F01D9" + client @99 + supplier @104 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTDevAddr" @108 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (306, 858) + label (object ItemLabel + Parent_View @108 + location (178, 812) + fill_color 13434879 + nlines 1 + max_width 256 + justify 0 + label "TBTDevAddr") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C05A14029A" + width 274 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::TBnepBTDevAddr" @109 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (576, 441) + label (object ItemLabel + Parent_View @109 + location (399, 395) + fill_color 13434879 + nlines 1 + max_width 354 + justify 0 + label "TBnepBTDevAddr") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "4125EEA90192" + width 372 + height 117 + autoResize TRUE) + (object UsesView "" @110 + stereotype TRUE + line_color 3342489 + quidu "4125EFC2038A" + client @99 + supplier @109 + line_style 0) + (object UsesView "" @111 + stereotype TRUE + line_color 3342489 + quidu "4125F18501A8" + client @109 + supplier @108 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Epoc32::TInt64" @112 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (579, 858) + label (object ItemLabel + Parent_View @112 + location (498, 812) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "TInt64") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "411769FE0042" + height 117 + autoResize TRUE) + (object HasView "Address" @113 + label (object ItemLabel + Parent_View @113 + location (577, 649) + anchor_loc 1 + nlines 1 + max_width 149 + justify 0 + label "Address") + stereotype TRUE + line_color 3342489 + quidu "4125F23A037F" + client @109 + supplier @112 + line_style 0))) + (object ClassDiagram "Links and Sockets" + quid "415058ED039B" + title "Links and Sockets" + documentation +|This diagram shows how a CBnepLink uses the socket that is passed to it during construction. The link assumes ownership of the socket during construction and then delegates the use of it to an active reader and an active writer. The link never relinquishes ownership, however, and is responsible, during destruction, for closing the socket down. +|Here it can also be seen that RBnepFrames are used to enforce the separation of input and output sides of the link; InComing representing the input side and OutGoing the output side. This means that it is the InComing frame that is used to parse the input RecvMsg from the socket reader, whilst it is the OutGoing frame whose build methods are used to construct BNEP frames and Ethernet packets for onward delivery. + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::CSocketReader" @114 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (204, 537) + label (object ItemLabel + Parent_View @114 + location (47, 491) + fill_color 13434879 + nlines 1 + max_width 314 + justify 0 + label "CSocketReader") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0652B0094" + width 332 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CSocketWriter" @115 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1632, 531) + label (object ItemLabel + Parent_View @115 + location (1482, 485) + fill_color 13434879 + nlines 1 + max_width 300 + justify 0 + label "CSocketWriter") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0651F0155" + width 318 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CBnepLink" @116 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (894, 537) + label (object ItemLabel + Parent_View @116 + location (775, 491) + fill_color 13434879 + nlines 1 + max_width 238 + justify 0 + label "CBnepLink") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0510D0175" + width 256 + height 117 + autoResize TRUE) + (object UsesView "" @117 + stereotype TRUE + line_color 3342489 + quidu "40C6E9F20077" + client @115 + supplier @116 + line_style 0) + (object UsesView "" @118 + stereotype TRUE + line_color 3342489 + quidu "40C6EBEB0363" + client @114 + supplier @116 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Comms-infras::RInternalSocket" @119 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (891, 126) + label (object ItemLabel + Parent_View @119 + location (730, 80) + fill_color 13434879 + nlines 1 + max_width 322 + justify 0 + label "RInternalSocket") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C46FE80331" + width 340 + height 117 + autoResize TRUE) + (object UsesView "" @120 + stereotype TRUE + line_color 3342489 + quidu "40C6E9A000CA" + client @115 + supplier @119 + line_style 0) + (object UsesView "" @121 + stereotype TRUE + line_color 3342489 + quidu "40C6EBE80065" + client @114 + supplier @119 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Comms-infras::RMBufChain" @122 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (201, 1371) + label (object ItemLabel + Parent_View @122 + location (66, 1325) + fill_color 13434879 + nlines 1 + max_width 270 + justify 0 + label "RMBufChain") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0613602A0" + width 288 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepFrame" @123 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (891, 1170) + label (object ItemLabel + Parent_View @123 + location (758, 1124) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "RBnepFrame") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049510377" + width 284 + height 117 + autoResize TRUE) + (object HasView "EthernetPayload" @124 + label (object ItemLabel + Parent_View @124 + location (546, 1269) + anchor_loc 1 + nlines 1 + max_width 315 + justify 0 + label "EthernetPayload") + stereotype TRUE + line_color 3342489 + quidu "40C595E30309" + client @123 + supplier @122 + line_style 0) + (object HasView "RecvMsg" @125 + label (object ItemLabel + Parent_View @125 + location (202, 954) + anchor_loc 1 + nlines 1 + max_width 175 + justify 0 + label "RecvMsg") + stereotype TRUE + line_color 3342489 + quidu "40F681F30061" + client @114 + supplier @122 + line_style 0) + (object HasView "Reader" @126 + label (object ItemLabel + Parent_View @126 + location (567, 537) + anchor_loc 1 + nlines 1 + max_width 138 + justify 0 + label "Reader") + stereotype TRUE + line_color 3342489 + quidu "40C6E3B9038E" + client @116 + supplier @114 + line_style 0) + (object HasView "Writer" @127 + label (object ItemLabel + Parent_View @127 + location (1247, 533) + anchor_loc 1 + nlines 1 + max_width 114 + justify 0 + label "Writer") + stereotype TRUE + line_color 3342489 + quidu "40C6E3BD0022" + client @116 + supplier @115 + line_style 0) + (object HasView "Socket" @128 + label (object ItemLabel + Parent_View @128 + location (892, 331) + anchor_loc 1 + nlines 1 + max_width 133 + justify 0 + label "Socket") + stereotype TRUE + line_color 3342489 + quidu "40C6E3B701A0" + client @116 + supplier @119 + line_style 0) + (object HasView "OutGoing" @129 + label (object ItemLabel + Parent_View @129 + location (1093, 804) + anchor_loc 1 + nlines 1 + max_width 188 + justify 0 + label "OutGoing") + stereotype TRUE + line_color 3342489 + quidu "413C294A01B6" + client @116 + supplier @123 + vertices (list Points + (1022, 585) + (1181, 647) + (922, 1111)) + line_style 0) + (object HasView "InComing" @130 + label (object ItemLabel + Parent_View @130 + location (601, 848) + anchor_loc 1 + nlines 1 + max_width 168 + justify 0 + label "InComing") + stereotype TRUE + line_color 3342489 + quidu "413C296E01CC" + client @116 + supplier @123 + vertices (list Points + (765, 592) + (600, 663) + (603, 1038) + (764, 1111)) + line_style 0))))) + (object Class_Category "Undocument" + quid "40C70C800061" + documentation "This category and everything underneath it will not be included in the automatic documentation generation pass when using the Rose script." + exportControl "Public" + logical_models (list unit_reference_list + (object Class_Category "Networking" + quid "40C44C9C032E" + exportControl "Public" + logical_models (list unit_reference_list + (object Class "TBluetoothPanRole" + quid "40C06019037D" + module "Component View::inc::panroles" + quidu "40C47B8803D0" + language "C++") + (object Class "CInternalSocket" + quid "40C060050324" + module "Component View::epoc32::intsock" + quidu "40C4312300AB" + language "C++") + (object Class "TAgentToNifEventType" + quid "40C6D9E302E3" + module "Component View::epoc32::nifprvar" + quidu "40C5BABF0394" + language "C++")) + logical_presentations (list unit_reference_list)) + (object Class_Category "Epoc32" + quid "40C44CB60303" + exportControl "Public" + logical_models (list unit_reference_list + (object Parameterized_Class "TFixedArray" + quid "40C43A840319" + module "Component View::epoc32::e32std" + quidu "40C0581B02E4" + language "C++" + parameters (list Parameters + (object Parameter "T" + type "class") + (object Parameter "S" + type "TInt"))) + (object Class "TUint8" + quid "40C060DE031C" + module "Component View::epoc32::e32def" + quidu "40C42E8101C4" + language "C++") + (object Class "TUint16" + quid "40C060EE00D0" + module "Component View::epoc32::e32def" + quidu "40C42E8101C4" + language "C++") + (object Class "TPtr8" + quid "40C06580032B" + module "Component View::epoc32::e32std" + quidu "40C0581B02E4" + language "C++") + (object Class "TInt" + quid "40C059E301D2" + module "Component View::epoc32::e32def" + quidu "40C42E8101C4" + language "C++") + (object Class "TBool" + quid "40C060B001DF" + module "Component View::epoc32::e32def" + quidu "40C42E8101C4" + language "C++") + (object Class "HBufC8" + quid "40C0658A0068" + module "Component View::epoc32::e32std" + quidu "40C0581B02E4" + language "C++") + (object Class "CActive" + quid "40C0653F024B" + module "Component View::epoc32::e32base" + quidu "40C0580902B6" + language "C++") + (object Class "CBase" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "GenerateEmptyRegions" + value ("GenerateEmptyRegionSet" 0))) + quid "40C052FD00B0" + module "Component View::epoc32::e32base" + quidu "40C0580902B6" + language "C++") + (object Class "TSglQueLink" + quid "40C583FB031C" + module "Component View::epoc32::e32std" + quidu "40C0581B02E4" + language "C++") + (object Class "TInt16" + quid "40C58B8101C7" + module "Component View::epoc32::e32def" + quidu "40C42E8101C4" + language "C++") + (object Parameterized_Class "TSglQue" + quid "40C5935D0224" + module "Component View::epoc32::e32std" + quidu "40C0581B02E4" + language "C++" + parameters (list Parameters + (object Parameter "T" + type "class"))) + (object Class "TDesC8" + quid "40C5BF310079" + module "Component View::epoc32::e32std" + quidu "40C0581B02E4" + language "C++") + (object Parameterized_Class "TRefByValue" + quid "40C5C0050268" + module "Component View::epoc32::e32std" + quidu "40C0581B02E4" + language "C++" + parameters (list Parameters + (object Parameter "T" + type "class"))) + (object Class "TAny" + quid "40C6DA6A02DD" + module "Component View::epoc32::e32def" + quidu "40C42E8101C4" + language "C++") + (object Class "TDes8" + quid "40C6DACB03CD" + module "Component View::epoc32::e32std" + quidu "40C0581B02E4" + language "C++") + (object Class "TUint" + quid "40C6DAE70369" + module "Component View::epoc32::e32def" + quidu "40C42E8101C4" + language "C++") + (object Class "TVersion" + quid "40C96F9C015E" + module "Component View::epoc32::e32std" + quidu "40C0581B02E4" + language "C++") + (object Class "CObject" + quid "40C9705600BB" + module "Component View::epoc32::e32base" + quidu "40C0580902B6" + language "C++") + (object Class "RLibrary" + quid "40C9740200C7" + module "Component View::epoc32::e32std" + quidu "40C0581B02E4" + language "C++") + (object Class "CObjectCon" + quid "40C974440144" + module "Component View::epoc32::e32base" + quidu "40C0580902B6" + language "C++") + (object Parameterized_Class "TBuf8" + quid "40C9BBF2029C" + module "Component View::epoc32::e32std" + quidu "40C0581B02E4" + language "C++") + (object Class "RProperty" + quid "40CEC37300A1" + module "Component View::epoc32::e32property" + quidu "40CEC3840074" + language "C++") + (object Class "TPtrC8" + quid "40D2D75002B1" + module "Component View::epoc32::e32std" + quidu "40C0581B02E4" + language "C++") + (object Class "Mem" + quid "40DBF88C03DC" + module "Component View::epoc32::e32std" + quidu "40C0581B02E4" + language "C++") + (object Class "TInt64" + quid "411769FE0042" + module "Component View::epoc32::e32def" + quidu "40C42E8101C4" + language "C++") + (object Class "EFalse" + quid "41178B1D0045" + module "Component View::epoc32::e32const" + quidu "41178B71014A" + language "C++") + (object Class "ETrue" + quid "41178B24015D" + module "Component View::epoc32::e32const" + quidu "41178B71014A" + language "C++")) + logical_presentations (list unit_reference_list)) + (object Class_Category "Comms-infras" + quid "40C44CAA0021" + exportControl "Public" + logical_models (list unit_reference_list + (object Class "RMBufChain" + quid "40C0613602A0" + module "Component View::epoc32::es_mbuf" + quidu "40C43076020B" + language "C++") + (object Class "RMBufPacket" + quid "40C0641D006E" + module "Component View::epoc32::nifmbuf" + quidu "40C430B20121" + language "C++") + (object Class "RInternalSocket" + quid "40C46FE80331" + module "Component View::epoc32::eintsock" + quidu "40C470050383" + language "C++") + (object Class "KVendorSpecificNotificationStart" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\Infrastructure\\Commsinfras\\KVendorSpecificNotificationStart.h") + (object Attribute + tool "Traversal" + name "BodyFile" + value "$BNEP\\Infrastructure\\Commsinfras\\KVendorSpecificNotificationStart.cpp")) + quid "40C830920003" + module "Component View::epoc32::nifprvar" + quidu "40C5BABF0394" + language "C++") + (object Class "CNifMan" + quid "40C96DB6023B" + module "Component View::epoc32::nifif" + quidu "40C96DCA0154" + language "C++") + (object Class "RFileLogger" + quid "40D2D0FC0149" + module "Component View::epoc32::commsdebugutility" + quidu "40D2D12300CD" + language "C++") + (object Class "RMBufPktQ" + quid "416D41B40278" + module "Component View::epoc32::es_mbuf" + quidu "40C43076020B" + language "C++")) + logical_presentations (list unit_reference_list)) + (object Class_Category "Bluetooth" + quid "40C44C8F0375" + exportControl "Public" + logical_models (list unit_reference_list + (object Class "TBTDevAddr" + quid "40C05A14029A" + module "Component View::epoc32::bttypes" + quidu "40C42EF40256" + language "C++") + (object Class "TUUID" + quid "40C05FB10297" + module "Component View::epoc32::bttypes" + quidu "40C42EF40256" + language "C++") + (object Class "KPropertyUidBluetoothCategory" + quid "40CEDA4800E2" + module "Component View::epoc32::bt_subscribe" + quidu "40CEDA1803BE" + language "C++") + (object Class "TBTSockAddr" + quid "40F65CE8003D" + module "Component View::epoc32::bt_sock" + quidu "40C059C102A5" + language "C++")) + logical_presentations (list unit_reference_list)) + (object Class_Category "inc" + quid "40C47ADB0237" + exportControl "Public" + logical_models (list unit_reference_list + (object Class "TBnepRole" + quid "40C47BD70207" + module "Component View::inc::bnepdrv" + quidu "40C47B0F0105" + language "C++") + (object Class "TPanDetails" + quid "40C47BF80395" + module "Component View::inc::bnepdrv" + quidu "40C47B0F0105" + language "C++") + (object Class "CPcCardPktDrvFactory" + quid "40C47C3701F1" + module "Component View::inc::carddrv" + quidu "40C47B1D02B4" + language "C++") + (object Class "CPcCardPktDrv" + quid "40C47C4B03BD" + module "Component View::inc::carddrv" + quidu "40C47B1D02B4" + language "C++") + (object Class "CLanIp4Bearer" + quid "40C47C9001A9" + module "Component View::inc::clanip4bearer" + quidu "40C47B29017B" + language "C++") + (object Class "CLanIp6Bearer" + quid "40C47CA701D4" + module "Component View::inc::clanip6bearer" + quidu "40C47B360129" + language "C++") + (object Class "TIpv6Header" + quid "40C47CC6007A" + module "Component View::inc::clanip6bearer" + quidu "40C47B360129" + language "C++") + (object Class "CLanxBearer" + quid "40C47CE7023A" + module "Component View::inc::clanxbearer" + quidu "40C47B4600A0" + language "C++") + (object Class "CEthlog" + quid "40C47D070363" + module "Component View::inc::eth_log" + quidu "40C47B5201B6" + language "C++") + (object Class "TEtherHeaderType" + quid "40C47D2100CB" + module "Component View::inc::ethinter" + quidu "40C47B5F0088" + language "C++") + (object Class "TEtherFrame" + quid "40C47D300380" + module "Component View::inc::ethinter" + quidu "40C47B5F0088" + language "C++") + (object Class "TEtherLLCFrame" + quid "40C47D420029" + module "Component View::inc::ethinter" + quidu "40C47B5F0088" + language "C++") + (object Class "CLANLinkFactory" + quid "40C47D4F0399" + module "Component View::inc::ethinter" + quidu "40C47B5F0088" + language "C++") + (object Class "CLanxBearerPtrArray" + quid "40C47D67020C" + module "Component View::inc::ethinter" + quidu "40C47B5F0088" + language "C++") + (object Class "CLANLinkCommon" + quid "40C47D840240" + module "Component View::inc::ethinter" + quidu "40C47B5F0088" + language "C++") + (object Class "CPktDrvBase" + quid "40C5BB5D014C" + module "Component View::inc::pktdrv" + quidu "40C47B910207" + language "C++") + (object Class "TIeee802AddrPanics" + quid "40C5BBF20377" + module "Component View::inc::pktdrv" + quidu "40C47B910207" + language "C++") + (object Class "TIeee802Addr" + quid "40C5BC280234" + module "Component View::inc::pktdrv" + quidu "40C47B910207" + language "C++") + (object Class "TEthernetAddr" + quid "40C5BC3F01A1" + module "Component View::inc::pktdrv" + quidu "40C47B910207" + language "C++") + (object Class "TPacketDriverStats" + quid "40C5BC5402F6" + module "Component View::inc::pktdrv" + quidu "40C47B910207" + language "C++") + (object Class "CPktDrvFactory" + quid "40C5BC6B02A9" + module "Component View::inc::pktdrv" + quidu "40C47B910207" + language "C++") + (object Class "TRxMode" + quid "40C6D84E02D7" + module "Component View::inc::pktdrv" + quidu "40C47B910207" + language "C++") + (object Class "THWAddr" + quid "40C6D8B5028F" + module "Component View::inc::pktdrv" + quidu "40C47B910207" + language "C++")) + logical_presentations (list unit_reference_list))) + logical_presentations (list unit_reference_list)) + (object Class_Category "BNEP Behavioural Descriptions" + quid "40D836E2022F" + documentation "The following section presents a set of scenario/sequence diagrams that describe basic behavioural subsets of BNEP operation. " + exportControl "Public" + logical_models (list unit_reference_list + (object Mechanism @131 + logical_models (list unit_reference_list + (object Object "$UNNAMED$0" + quid "4151369A0300" + collaborators (list link_list + (object Link + quid "4151376601C3" + supplier "$UNNAMED$1" + quidu "415136B700EF" + messages (list Messages + (object Message "NewDriverL(aParent : CLANLinkCommon*)" + quid "4151376601C4" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "1" + ordinal 0 + Operation "NewDriverL(CLANLinkCommon*)" + quidu "40C96AC802FB")))) + class "Use Case View::Ethint.NIF" + quidu "41500F360395" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$1" + quid "415136B700EF" + collaborators (list link_list + (object Link + quid "4151377103E5" + supplier "$UNNAMED$2" + quidu "415136DB01D7" + messages (list Messages + (object Message "NewL(aFactory : CPktDrvFactory&, aParent : CLANLinkCommon*)" + quid "4151377103E6" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "2" + ordinal 1 + Operation "NewL(CPktDrvFactory&, CLANLinkCommon*)" + quidu "40C6D63D0037")))) + class "Logical View::CBnepPktDrvFactory" + quidu "40C969BB025E" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$2" + quid "415136DB01D7" + collaborators (list link_list + (object Link + quid "415137960280" + supplier "$UNNAMED$3" + quidu "415136FA01D1" + messages (list Messages + (object Message "NewL(aLocalDevice : MPanDevice&)" + quid "415137960281" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "3" + ordinal 2 + Operation "NewL(MPanDevice&)" + quidu "40C05BE2019A"))) + (object Link + quid "415137A401D6" + supplier "$UNNAMED$4" + quidu "4151372C0025" + messages (list Messages + (object Message "NewL(aAddr : TBTDevAddr&, aLocal : CBnepLocalDevice&)" + quid "415137A401D7" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "4" + ordinal 3 + Operation "NewL(TBTDevAddr&, CBnepLocalDevice&)" + quidu "40CEC1D801E1")))) + class "Logical View::CBnepLocalDevice" + quidu "40C049420180" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$3" + quid "415136FA01D1" + class "Logical View::CBnepBridge" + quidu "40C049600007" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$4" + quid "4151372C0025" + collaborators (list link_list + (object Link + quid "415137CD035B" + supplier "$UNNAMED$4" + quidu "4151372C0025" + messages (list Messages + (object Message "SyncFetch(aRestart : TBool)" + quid "415137CD035C" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "5" + ordinal 4 + Operation "SyncFetch(TBool)" + quidu "414A9860002D")))) + class "Logical View::CBTAddrSubscriber" + quidu "40C5B9A6014B" + persistence "Transient" + multi FALSE))) + (object Mechanism @132 + logical_models (list unit_reference_list + (object Object "$UNNAMED$5" + quid "4151914400F4" + collaborators (list link_list + (object Link + quid "415191F8025B" + supplier "$UNNAMED$6" + quidu "4151914F017C" + messages (list Messages + (object Message "NewBnepConnectionL(aConnectedSocket : RInternalSocket&, aNotify : MPanConnectionNotify&)" + quid "415191F8025C" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "1" + ordinal 0 + Operation "NewBnepConnectionL(RInternalSocket&, MPanConnectionNotify&)" + quidu "40C066BE02D8")))) + class "Use Case View::PAN Agent" + quidu "41500F2A038E" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$6" + quid "4151914F017C" + collaborators (list link_list + (object Link + quid "4151923F00E1" + supplier "$UNNAMED$7" + quidu "4151915600DC" + messages (list Messages + (object Message "NewL(aBridge : CBnepBridge&, aConnectedSocket : RInternalSocket&, aNotify : MPanConnectionNotify&)" + quid "4151923F00E2" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "2" + ordinal 1 + Operation "NewL(CBnepBridge&, RInternalSocket&, MPanConnectionNotify&)" + quidu "40C46DC00341")))) + class "Logical View::CBnepBridge" + quidu "40C049600007" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$7" + quid "4151915600DC" + collaborators (list link_list + (object Link + quid "415192530049" + supplier "$UNNAMED$8" + quidu "4151916500F1" + messages (list Messages + (object Message "NewL(aBridge : MPanDeviceOwner&, aSocket : RInternalSocket&, aParser : MLinkManager&)" + quid "41519253004A" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "3" + ordinal 2 + Operation "NewL(MPanDeviceOwner&, RInternalSocket&, MLinkManager&)" + quidu "40C6E17202D1")))) + class "Logical View::CBnepChannelController" + quidu "40C0512A0181" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$8" + quid "4151916500F1" + collaborators (list link_list + (object Link + quid "415192690195" + supplier "$UNNAMED$9" + quidu "4151919F0221" + messages (list Messages + (object Message "NewL(aSocket : RInternalSocket&, aOwner : CBnepLink&)" + quid "415192690196" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "4" + ordinal 3 + Operation "NewL(RInternalSocket&, CBnepLink&)" + quidu "40C6EC1503A9"))) + (object Link + quid "415192A60338" + supplier "$UNNAMED$10" + quidu "415191B70262" + messages (list Messages + (object Message "NewL(aSocket : RInternalSocket&, aOwner : CBnepLink&)" + quid "415192A60339" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "6" + ordinal 5 + Operation "NewL(RInternalSocket&, CBnepLink&)" + quidu "40C6E81C01C6"))) + (object Link + quid "415192CE0245" + supplier "$UNNAMED$6" + quidu "4151914F017C" + messages (list Messages + (object Message "AttachDevice(aDevice : MPanDevice&)" + quid "415192CE0246" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "7" + ordinal 6 + Operation "AttachDevice(MPanDevice&)" + quidu "40C067500039")))) + class "Logical View::CBnepLink" + quidu "40C0510D0175" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$9" + quid "4151919F0221" + collaborators (list link_list + (object Link + quid "4151928702ED" + supplier "$UNNAMED$9" + quidu "4151919F0221" + messages (list Messages + (object Message "Read( )" + quid "4151928702EE" + frequency "Aperiodic" + synchronization "Asynchronous" + dir "FromClientToSupplier" + sequence "5" + ordinal 4 + quidu "40C6EC2C0348")))) + class "Logical View::CSocketReader" + quidu "40C0652B0094" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$10" + quid "415191B70262" + class "Logical View::CSocketWriter" + quidu "40C0651F0155" + persistence "Transient" + multi FALSE))) + (object Mechanism @133 + logical_models (list unit_reference_list + (object Object "$UNNAMED$11" + quid "415198A701E3" + collaborators (list link_list + (object Link + quid "415199A50329" + supplier "$UNNAMED$12" + quidu "415198B00222" + messages (list Messages + (object Message "ReadComplete(aChain : RMBufChain&)" + quid "415199A5032A" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "1" + ordinal 0 + Operation "ReadComplete(RMBufChain&)" + quidu "40C6E2350065")))) + class "Logical View::CSocketReader" + quidu "40C0652B0094" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$12" + quid "415198B00222" + collaborators (list link_list + (object Link + quid "415199BF02F4" + supplier "iComing" + quidu "415198C80263" + messages (list Messages + (object Message "ParseBnepFrameL(aInboundChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" + quid "415199BF02F5" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "2" + ordinal 1 + Operation "ParseBnepFrameL(RMBufChain&, const TBTDevAddr&, const TBTDevAddr&)" + quidu "40C5868B00EE"))) + (object Link + quid "415199DB0268" + supplier "$UNNAMED$12" + quidu "415198B00222" + messages (list Messages + (object Message "Proceed( )" + quid "415199DB0269" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "4" + ordinal 3 + quidu "413C2FB60246")))) + class "Logical View::CBnepLink" + quidu "40C0510D0175" + persistence "Transient" + multi FALSE) + (object Object "iComing" + quid "415198C80263" + documentation "This object represents the input side of the link. It is the object into which the incoming buffer is deconstructed to extract header, control, extension and payload information for onward processing." + collaborators (list link_list + (object Link + quid "415199CE00F7" + supplier "iComing" + quidu "415198C80263" + messages (list Messages + (object Message "ParseL(aInboundChain : RMBufChain&, aType : TBnepPacketType, aExt : TBool)" + quid "415199CE00F8" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "3" + ordinal 2 + Operation "ParseL(RMBufChain&, TBnepPacketType, TBool)" + quidu "413C2CDE032F")))) + class "Logical View::RBnepFrame" + quidu "40C049510377" + persistence "Transient" + multi FALSE))) + (object Mechanism @134 + logical_models (list unit_reference_list + (object Object "$UNNAMED$13" + quid "4151A51F00D5" + collaborators (list link_list + (object Link + quid "4151A61A0342" + supplier "$UNNAMED$13" + quidu "4151A51F00D5" + messages (list Messages + (object Message "ParseL(aInboundChain : RMBufChain&, aType : TBnepPacketType, aExt : TBool)" + quid "4151A61A0343" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "2" + ordinal 1 + Operation "ParseL(RMBufChain&, TBnepPacketType, TBool)" + quidu "413C2CDE032F") + (object Message "ExtractControlL(aInboundChain : RMBufChain&, aLength : TInt)" + quid "4151A6580342" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "3" + ordinal 2 + Operation "ExtractControlL(RMBufChain&, TInt)" + quidu "413C2E04007F") + (object Message "ExtractExtensionL(aInboundChain : RMBufChain&)" + quid "4151A66902D8" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "5" + ordinal 4 + Operation "ExtractExtensionL(RMBufChain&)" + quidu "413C2DF90278"))) + (object Link + quid "4151A67C0357" + supplier "iCommandQueue" + quidu "4151A56D0181" + messages (list Messages + (object Message "AddLast(RBnepControl*)" + quid "4151A67C0358" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "4" + ordinal 3 + Operation "AddLast") + (object Message "AddLast(RBnepControl*)" + quid "4151A69200F6" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "6" + ordinal 5)))) + class "Logical View::RBnepFrame" + quidu "40C049510377" + persistence "Transient" + multi FALSE) + (object Object "iCommandQueue" + quid "4151A56D0181" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$14" + quid "4151A5EF028C" + collaborators (list link_list + (object Link + quid "4151A5FA01FC" + supplier "$UNNAMED$13" + quidu "4151A51F00D5" + messages (list Messages + (object Message "ParseBnepFrameL(aInboundChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" + quid "4151A5FA01FD" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "1" + ordinal 0 + Operation "ParseBnepFrameL(RMBufChain&, const TBTDevAddr&, const TBTDevAddr&)" + quidu "40C5868B00EE"))) + (object Link + quid "4151A6DD0249" + supplier "$UNNAMED$14" + quidu "4151A5EF028C" + messages (list Messages + (object Message "Proceed( )" + quid "4151A6DD024A" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "7" + ordinal 6 + quidu "413C2FB60246")))) + class "Logical View::CBnepLink" + quidu "40C0510D0175" + persistence "Transient" + multi FALSE))) + (object Mechanism @135 + logical_models (list unit_reference_list + (object Object "$UNNAMED$15" + quid "415AC86702A5" + collaborators (list link_list + (object Link + quid "415AC9630244" + supplier "iComing" + quidu "415AC92B0008" + messages (list Messages + (object Message "ExecuteControl(aController : MLinkManager&)" + quid "415AC9630245" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "1" + ordinal 0 + Operation "ExecuteControl(MLinkManager&)" + quidu "413C32F50010")))) + class "Logical View::CBnepLink" + quidu "40C0510D0175" + persistence "Transient" + multi FALSE) + (object Object "iComing" + quid "415AC92B0008" + collaborators (list link_list + (object Link + quid "415AC97500C3" + supplier "$UNNAMED$16" + quidu "415AC93F0332" + messages (list Messages + (object Message "Execute(aCommand : RBnepControl*)" + quid "415AC97500C4" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "2" + ordinal 1 + Operation "Execute(RBnepControl*)" + quidu "40C57C6C0392")))) + class "Logical View::RBnepFrame" + quidu "40C049510377" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$16" + quid "415AC93F0332" + collaborators (list link_list + (object Link + quid "415AC990028E" + supplier "$UNNAMED$16" + quidu "415AC93F0332" + messages (list Messages + (object Message "Handle(aSetupRequest : RBnepSetupConnectionRequestControl*)" + quid "415AC990028F" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "3" + ordinal 2 + Operation "Handle(RBnepFilterMultiAddrResponseControl*)" + quidu "40F692A203C0") + (object Message "SetAwaitingResponse(ETrue)" + quid "415ACB040149" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "6" + ordinal 5))) + (object Link + quid "415AC99F0240" + supplier "$UNNAMED$17" + quidu "415AC95301F0" + messages (list Messages + (object Message "LocalRole(aRole : TUUID&)" + quid "415AC99F0241" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "4" + ordinal 3 + Operation "LocalRole(TUUID&)" + quidu "40C447AC01DC") + (object Message "RemoteRole(aRole : TUUID&)" + quid "415AC9E201BA" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "5" + ordinal 4 + Operation "RemoteRole(TUUID&)" + quidu "40C447B90004"))) + (object Link + quid "415ACA2F0084" + supplier "$UNNAMED$18" + quidu "415ACA270245" + messages (list Messages + (object Message "BnepRoleRequestFromRemoteDevice" + quid "415ACA2F0085" + frequency "Aperiodic" + synchronization "Asynchronous" + dir "FromClientToSupplier" + sequence "7" + ordinal 6)))) + class "Logical View::CBnepChannelController" + quidu "40C0512A0181" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$17" + quid "415AC95301F0" + class "Logical View::RBnepSetupConnectionRequestControl" + quidu "40C04FE6035B" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$18" + quid "415ACA270245" + class "Use Case View::PAN Agent" + quidu "41500F2A038E" + persistence "Transient" + multi FALSE))) + (object Mechanism @136 + logical_models (list unit_reference_list + (object Object "$UNNAMED$19" + quid "415BC9CD02FD" + collaborators (list link_list + (object Link + quid "415BCA4F02E6" + supplier "iComing" + quidu "415BC9D90192" + messages (list Messages + (object Message "ExecuteControl(aController : MLinkManager&)" + quid "415BCA4F02E7" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "1" + ordinal 0 + Operation "ExecuteControl(MLinkManager&)" + quidu "413C32F50010"))) + (object Link + quid "415BCC030257" + supplier "iGoing" + quidu "415BCA24024E" + messages (list Messages + (object Message "InsertControl(aCommand : RBnepControl*)" + quid "415BCC030258" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "11" + ordinal 10 + Operation "InsertControl(RBnepControl*)" + quidu "40C5866203CA")))) + class "Logical View::CBnepLink" + quidu "40C0510D0175" + persistence "Transient" + multi FALSE) + (object Object "iComing" + quid "415BC9D90192" + collaborators (list link_list + (object Link + quid "415BCA6C02C0" + supplier "$UNNAMED$20" + quidu "415BC9E40007" + messages (list Messages + (object Message "Execute (aCommand : RBnepControl*)" + quid "415BCA6C02C1" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "2" + ordinal 1 + Operation "Execute(RBnepControl*)" + quidu "40C57C6C0392")))) + class "Logical View::RBnepFrame" + quidu "40C049510377" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$20" + quid "415BC9E40007" + collaborators (list link_list + (object Link + quid "415BCA81005D" + supplier "$UNNAMED$20" + quidu "415BC9E40007" + messages (list Messages + (object Message "Handle(aFilterNetTypeSetRequest : RBnepFilterNetTypeSetRequestControl*)" + quid "415BCA81005E" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "3" + ordinal 2 + Operation "Handle(RBnepFilterMultiAddrResponseControl*)" + quidu "40F692A203C0"))) + (object Link + quid "415BCA9500CA" + supplier "$UNNAMED$21" + quidu "415BCA05038A" + messages (list Messages + (object Message "NetworkProtocolTypeRange(aStartValue : TUint16&, aEndValue : TUint16&, aIndex : TUint)" + quid "415BCAD50004" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "4" + ordinal 3 + Operation "NetworkProtocolTypeRange(TUint16&, TUint16&, TUint)" + quidu "40FB97C801BF") + (object Message "Free()" + quid "415BCB5803CD" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "7" + ordinal 6))) + (object Link + quid "415BCAA60128" + supplier "$UNNAMED$22" + quidu "415BCA310120" + messages (list Messages + (object Message "Insert(aStart : const TUint16, aEnd : const TUint16)" + quid "415BCAEE03C1" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "5" + ordinal 4 + Operation "Insert(const TUint16, const TUint16)" + quidu "4124819702A5"))) + (object Link + quid "415BCB2701E2" + supplier "$UNNAMED$19" + quidu "415BC9CD02FD" + messages (list Messages + (object Message "Install(aFilterTable : CNetTypeFilterTable*)" + quid "415BCB2701E3" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "6" + ordinal 5 + Operation "Install(CNetTypeFilterTable*)" + quidu "4124B2A702CE") + (object Message "QueueOnOutput(aCommand : RBnepControl*)" + quid "415BCBF50120" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "10" + ordinal 9 + Operation "QueueOnOutput(RBnepControl*)" + quidu "40C6E20800BA"))) + (object Link + quid "415BCBB4027B" + supplier "$UNNAMED$23" + quidu "415BCB93016F" + messages (list Messages + (object Message "InitL( )" + quid "415BCBB4027C" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "8" + ordinal 7 + quidu "40FB9421002A") + (object Message "SetConnectionSetupResponseL(aResponse : TBnepSetupConnectionResponseMessage)" + quid "415BCBC203B2" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "9" + ordinal 8 + Operation "SetConnectionSetupResponseL(TBnepSetupConnectionResponseMessage)" + quidu "40FB943F01AA"))) + (object Link + quid "415BCBD60158" + supplier "iGoing" + quidu "415BCA24024E")) + class "Logical View::CBnepChannelController" + quidu "40C0512A0181" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$21" + quid "415BCA05038A" + class "Logical View::RBnepFilterNetTypeSetRequestControl" + quidu "40F68AE302E2" + persistence "Transient" + multi FALSE) + (object Object "iGoing" + quid "415BCA24024E" + class "Logical View::RBnepFrame" + quidu "40C049510377" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$22" + quid "415BCA310120" + class "Logical View::CNetTypeFilterTable" + quidu "412478A20031" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$23" + quid "415BCB93016F" + class "Logical View::RBnepSetupConnectionResponseControl" + quidu "40C050B10245" + persistence "Transient" + multi FALSE))) + (object Mechanism @137 + logical_models (list unit_reference_list + (object Object "$UNNAMED$24" + quid "415ACBAD0305" + collaborators (list link_list + (object Link + quid "415ACBDB02A7" + supplier "$UNNAMED$25" + quidu "415ACBB4026E" + messages (list Messages + (object Message "BnepRoleResponseFromLocalDevice(aRoleResponseCode : TBnepSetupConnectionResponseMessage)" + quid "415ACBDB02A8" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "1" + ordinal 0 + Operation "BnepRoleResponseFromLocalDevice(TBnepSetupConnectionResponseMessage)" + quidu "40C5753B0055")))) + class "Use Case View::PAN Agent" + quidu "41500F2A038E" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$25" + quid "415ACBB4026E" + collaborators (list link_list + (object Link + quid "415ACC180019" + supplier "$UNNAMED$26" + quidu "415ACC0B02EC" + messages (list Messages + (object Message "InitL( )" + quid "415ACC18001A" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "2" + ordinal 1 + quidu "40FB9421002A") + (object Message "SetConnectionSetupResponseL(aResponse : TBnepSetupConnectionResponseMessage)" + quid "415ACC4402C6" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "3" + ordinal 2 + Operation "SetConnectionSetupResponseL(TBnepSetupConnectionResponseMessage)" + quidu "40FB943F01AA"))) + (object Link + quid "415ACC8300D1" + supplier "$UNNAMED$27" + quidu "415ACC6D00BC" + messages (list Messages + (object Message "QueueOnOutput(aCommand : RBnepControl*)" + quid "415ACC8300D2" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "4" + ordinal 3 + Operation "QueueOnOutput(RBnepControl*)" + quidu "40C6E20800BA") + (object Message "ResumeDataTransfer( )" + quid "415ACD190181" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "7" + ordinal 6 + quidu "40C6E29703C3") + (object Message "Proceed( )" + quid "415ACD2C021F" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "8" + ordinal 7 + quidu "413C2FB60246"))) + (object Link + quid "415ACCEF018B" + supplier "$UNNAMED$25" + quidu "415ACBB4026E" + messages (list Messages + (object Message "SetAwaitingResponse(EFalse)" + quid "415ACCEF018C" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "6" + ordinal 5)))) + class "Logical View::CBnepChannelController" + quidu "40C0512A0181" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$26" + quid "415ACC0B02EC" + class "Logical View::RBnepSetupConnectionResponseControl" + quidu "40C050B10245" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$27" + quid "415ACC6D00BC" + collaborators (list link_list + (object Link + quid "415ACC92014B" + supplier "iGoing" + quidu "415ACC7400A8" + messages (list Messages + (object Message "InsertControl(aCommand : RBnepControl*)" + quid "415ACC92014C" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "5" + ordinal 4 + Operation "InsertControl(RBnepControl*)" + quidu "40C5866203CA")))) + class "Logical View::CBnepLink" + quidu "40C0510D0175" + persistence "Transient" + multi FALSE) + (object Object "iGoing" + quid "415ACC7400A8" + class "Logical View::RBnepFrame" + quidu "40C049510377" + persistence "Transient" + multi FALSE))) + (object Mechanism @138 + logical_models (list unit_reference_list + (object Object "$UNNAMED$28" + quid "415BDACC0095" + collaborators (list link_list + (object Link + quid "415BDACC0096" + supplier "iComing" + quidu "415BDACC009A" + messages (list Messages + (object Message "ExecuteControl(aController : MLinkManager&)" + quid "415BDACC0097" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "1" + ordinal 0 + Operation "ExecuteControl(MLinkManager&)" + quidu "413C32F50010"))) + (object Link + quid "415BDACC0098" + supplier "iGoing" + quidu "415BDACC00AF" + messages (list Messages + (object Message "InsertControl(aCommand : RBnepControl*)" + quid "415BDACC0099" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "7" + ordinal 6 + Operation "InsertControl(RBnepControl*)" + quidu "40C5866203CA")))) + class "Logical View::CBnepLink" + quidu "40C0510D0175" + persistence "Transient" + multi FALSE) + (object Object "iComing" + quid "415BDACC009A" + collaborators (list link_list + (object Link + quid "415BDACC009B" + supplier "$UNNAMED$29" + quidu "415BDACC009D" + messages (list Messages + (object Message "Execute (aCommand : RBnepControl*)" + quid "415BDACC009C" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "2" + ordinal 1 + Operation "Execute(RBnepControl*)" + quidu "40C57C6C0392")))) + class "Logical View::RBnepFrame" + quidu "40C049510377" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$29" + quid "415BDACC009D" + collaborators (list link_list + (object Link + quid "415BDACC009E" + supplier "$UNNAMED$29" + quidu "415BDACC009D" + messages (list Messages + (object Message "HandleUnknownCommandPacket(aControl : RBnepControl*)" + quid "415BDACC009F" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "3" + ordinal 2 + Operation "HandleUnknownCommandPacket(RBnepControl*)" + quidu "4105042701ED"))) + (object Link + quid "415BDACC00A5" + supplier "$UNNAMED$28" + quidu "415BDACC0095" + messages (list Messages + (object Message "QueueOnOutput(aCommand : RBnepControl*)" + quid "415BDACC00A7" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "6" + ordinal 5 + Operation "QueueOnOutput(RBnepControl*)" + quidu "40C6E20800BA"))) + (object Link + quid "415BDACC00A8" + supplier "$UNNAMED$30" + quidu "415BDACC00AE" + messages (list Messages + (object Message "InitL( )" + quid "415BDACC00A9" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "4" + ordinal 3 + quidu "41050B0B012B") + (object Message "SetUnknownControlType(aUnknownControlType : TUint8)" + quid "415BDACC00AA" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "5" + ordinal 4 + Operation "SetUnknownControlType(TUint8)" + quidu "41050B4B0173")))) + class "Logical View::CBnepChannelController" + quidu "40C0512A0181" + persistence "Transient" + multi FALSE) + (object Object "iGoing" + quid "415BDACC00AF" + class "Logical View::RBnepFrame" + quidu "40C049510377" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$30" + quid "415BDACC00AE" + class "Logical View::RBnepNotUnderstoodResponseControl" + quidu "410509070129" + persistence "Transient" + multi FALSE))) + (object Mechanism @139 + logical_models (list unit_reference_list + (object Object "$UNNAMED$31" + quid "415BE0AD0162" + collaborators (list link_list + (object Link + quid "415BE10700DF" + supplier "$UNNAMED$31" + quidu "415BE0AD0162" + messages (list Messages + (object Message "SendFrame(aFrame : RBnepFrame&)" + quid "415BE10700E0" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "1" + ordinal 0 + Operation "SendFrame(RBnepFrame&)" + quidu "40F6780900E4"))) + (object Link + quid "415BE1550312" + supplier "iGoing" + quidu "415BE0BD033B" + messages (list Messages + (object Message "BuildBnepFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" + quid "415BE1550313" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "2" + ordinal 1 + Operation "BuildBnepFrameL(RMBufChain&, const TBTDevAddr&, const TBTDevAddr&)" + quidu "40C5873800ED"))) + (object Link + quid "415BE19B02EA" + supplier "$UNNAMED$32" + quidu "415BE17601A7" + messages (list Messages + (object Message "Write(aChain : RMBufChain&)" + quid "415BE19B02EB" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "4" + ordinal 3 + Operation "Write(RMBufChain&)" + quidu "40C6E8850330")))) + class "Logical View::CBnepLink" + quidu "40C0510D0175" + persistence "Transient" + multi FALSE) + (object Object "iGoing" + quid "415BE0BD033B" + collaborators (list link_list + (object Link + quid "415BE19002D0" + supplier "iGoing" + quidu "415BE0BD033B" + messages (list Messages + (object Message "BuildBnepControlFrameL(aChain : RMBufChain&)" + quid "415BE19002D1" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "3" + ordinal 2 + Operation "BuildBnepControlFrameL(RMBufChain&)" + quidu "40C58CD803DD")))) + class "Logical View::RBnepFrame" + quidu "40C049510377" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$32" + quid "415BE17601A7" + class "Logical View::CSocketWriter" + quidu "40C0651F0155" + persistence "Transient" + multi FALSE))) + (object Mechanism @140 + logical_models (list unit_reference_list + (object Object "$UNNAMED$33" + quid "415BF99B0367" + collaborators (list link_list + (object Link + quid "415BF9F803BB" + supplier "$UNNAMED$34" + quidu "415BF9A2024F" + messages (list Messages + (object Message "ReadComplete(aChain : RMBufChain&)" + quid "415BF9F803BC" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "1" + ordinal 0 + Operation "ReadComplete(RMBufChain&)" + quidu "40C6E2350065")))) + class "Logical View::CSocketReader" + quidu "40C0652B0094" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$34" + quid "415BF9A2024F" + collaborators (list link_list + (object Link + quid "415BFA020062" + supplier "iComing" + quidu "415BF9D601BD" + messages (list Messages + (object Message "Reset( )" + quid "415BFA020063" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "2" + ordinal 1 + quidu "40C58657008F") + (object Message "ParseBnepFrameL(aInboundChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" + quid "415BFA09038D" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "3" + ordinal 2 + Operation "ParseBnepFrameL(RMBufChain&, const TBTDevAddr&, const TBTDevAddr&)" + quidu "40C5868B00EE"))) + (object Link + quid "415BFA6D01CF" + supplier "$UNNAMED$34" + quidu "415BF9A2024F" + messages (list Messages + (object Message "Proceed( )" + quid "415BFA6D01D0" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "5" + ordinal 4 + quidu "413C2FB60246"))) + (object Link + quid "415BFA93009D" + supplier "$UNNAMED$35" + quidu "415BFA8C0396" + messages (list Messages + (object Message "Process(aPacket : RBnepFrame&, aSourceIfAddr : const TBTDevAddr&)" + quid "415BFA93009E" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "6" + ordinal 5 + Operation "Process(RBnepFrame&, const TBTDevAddr&)" + quidu "40C065C50059")))) + class "Logical View::CBnepLink" + quidu "40C0510D0175" + persistence "Transient" + multi FALSE) + (object Object "iComing" + quid "415BF9D601BD" + collaborators (list link_list + (object Link + quid "415BFA3203BE" + supplier "iComing" + quidu "415BF9D601BD" + messages (list Messages + (object Message "SetContents(aContent : TPacketContents)" + quid "415BFA3203BF" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "4" + ordinal 3 + Operation "SetContents(TPacketContents)" + quidu "40C58E0201E6")))) + class "Logical View::RBnepFrame" + quidu "40C049510377" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$35" + quid "415BFA8C0396" + collaborators (list link_list + (object Link + quid "415BFAD202E2" + supplier "$UNNAMED$36" + quidu "415BFAB90047" + messages (list Messages + (object Message "Process(aFrame : RBnepFrame&)" + quid "415BFAD202E3" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "7" + ordinal 6 + Operation "Process(RBnepFrame&)" + quidu "40C6DB8C0031")))) + class "Logical View::CBnepBridge" + quidu "40C049600007" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$36" + quid "415BFAB90047" + collaborators (list link_list + (object Link + quid "415BFB020100" + supplier "iComing" + quidu "415BF9D601BD" + messages (list Messages + (object Message "BuildEthernetFrameL(aChain : RMBufPacket&)" + quid "415BFB020101" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "8" + ordinal 7 + Operation "BuildEthernetFrameL(RMBufPacket&)" + quidu "40C5879E025C"))) + (object Link + quid "415BFB200031" + supplier "$UNNAMED$37" + quidu "415BFB1702C3" + messages (list Messages + (object Message "Process(RMBufPacket&)" + quid "415BFB200032" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "9" + ordinal 8 + Operation "Process(RMBufPkt&)")))) + class "Logical View::CBnepLocalDevice" + quidu "40C049420180" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$37" + quid "415BFB1702C3" + class "Use Case View::Ethint.NIF" + quidu "41500F360395" + persistence "Transient" + multi FALSE))) + (object Mechanism @141 + logical_models (list unit_reference_list + (object Object "$UNNAMED$38" + quid "415BFB9602F8" + collaborators (list link_list + (object Link + quid "415BFB9602F9" + supplier "source" + quidu "415BFB9602FB" + messages (list Messages + (object Message "ReadComplete(aChain : RMBufChain&)" + quid "415BFB9602FA" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "1" + ordinal 0 + Operation "ReadComplete(RMBufChain&)" + quidu "40C6E2350065")))) + class "Logical View::CSocketReader" + quidu "40C0652B0094" + persistence "Transient" + multi FALSE) + (object Object "source" + quid "415BFB9602FB" + collaborators (list link_list + (object Link + quid "415BFB9602FC" + supplier "iComing" + quidu "415BFB960303" + messages (list Messages + (object Message "Reset( )" + quid "415BFB9602FD" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "2" + ordinal 1 + quidu "40C58657008F") + (object Message "ParseBnepFrameL(aInboundChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" + quid "415BFB9602FE" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "3" + ordinal 2 + Operation "ParseBnepFrameL(RMBufChain&, const TBTDevAddr&, const TBTDevAddr&)" + quidu "40C5868B00EE"))) + (object Link + quid "415BFB9602FF" + supplier "source" + quidu "415BFB9602FB" + messages (list Messages + (object Message "Proceed( )" + quid "415BFB960300" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "5" + ordinal 4 + quidu "413C2FB60246"))) + (object Link + quid "415BFB960301" + supplier "$UNNAMED$39" + quidu "415BFB96030D" + messages (list Messages + (object Message "Process(aPacket : RBnepFrame&, aSourceIfAddr : const TBTDevAddr&)" + quid "415BFB960302" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "6" + ordinal 5 + Operation "Process(RBnepFrame&, const TBTDevAddr&)" + quidu "40C065C50059")))) + class "Logical View::CBnepLink" + quidu "40C0510D0175" + persistence "Transient" + multi FALSE) + (object Object "iComing" + quid "415BFB960303" + collaborators (list link_list + (object Link + quid "415BFB960304" + supplier "iComing" + quidu "415BFB960303" + messages (list Messages + (object Message "SetContents(aContent : TPacketContents)" + quid "415BFB960305" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "4" + ordinal 3 + Operation "SetContents(TPacketContents)" + quidu "40C58E0201E6") + (object Message "BuildBnepDataFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" + quid "415BFF560367" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "12" + ordinal 11 + Operation "BuildBnepDataFrameL(RMBufChain&, const TBTDevAddr&, const TBTDevAddr&)" + quidu "40C58CF602EF")))) + class "Logical View::RBnepFrame" + quidu "40C049510377" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$39" + quid "415BFB96030D" + collaborators (list link_list + (object Link + quid "415BFB96030C" + supplier "dest" + quidu "415BFB960308" + messages (list Messages + (object Message "Process(aFrame : RBnepFrame&)" + quid "415BFB96030B" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "8" + ordinal 7 + Operation "Process(RBnepFrame&)" + quidu "40C6E1DD02E9"))) + (object Link + quid "415BFEE8006F" + supplier "$UNNAMED$39" + quidu "415BFB96030D" + messages (list Messages + (object Message "Identify Unicast Destination Link or Iterate Across All Links" + quid "415BFEE80070" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "7" + ordinal 6)))) + class "Logical View::CBnepBridge" + quidu "40C049600007" + persistence "Transient" + multi FALSE) + (object Object "dest" + quid "415BFB960308" + collaborators (list link_list + (object Link + quid "415BFB960307" + supplier "iComing" + quidu "415BFB960303" + messages (list Messages + (object Message "BuildBnepFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" + quid "415BFF3F0115" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "11" + ordinal 10 + Operation "BuildBnepFrameL(RMBufChain&, const TBTDevAddr&, const TBTDevAddr&)" + quidu "40C5873800ED"))) + (object Link + quid "415BFECD0071" + supplier "dest" + quidu "415BFB960308" + messages (list Messages + (object Message "SendFrame(aFrame : RBnepFrame&)" + quid "415BFECD0072" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "9" + ordinal 8 + Operation "SendFrame(RBnepFrame&)" + quidu "40F6780900E4") + (object Message "Apply Filters" + quid "415BFFBE03DE" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "10" + ordinal 9))) + (object Link + quid "415BFF96001F" + supplier "$UNNAMED$40" + quidu "415BFF8E0050" + messages (list Messages + (object Message "Write(aChain : RMBufChain&)" + quid "415BFF960020" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "13" + ordinal 12 + Operation "Write(RMBufChain&)" + quidu "40C6E8850330")))) + class "Logical View::CBnepLink" + quidu "40C0510D0175" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$40" + quid "415BFF8E0050" + class "Logical View::CSocketWriter" + quidu "40C0651F0155" + persistence "Transient" + multi FALSE))) + (object Mechanism @142 + logical_models (list unit_reference_list + (object Object "$UNNAMED$41" + quid "415C0BAF03DA" + collaborators (list link_list + (object Link + quid "415C0BAF03DB" + supplier " " + quidu "415C0BAF03DD" + messages (list Messages + (object Message "Send(aPkt : RMBufChain&)" + quid "415C0BAF03DC" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "1" + ordinal 0 + Operation "Send(RMBufChain&)" + quidu "40C6D65700F3")))) + class "Use Case View::Ethint.NIF" + quidu "41500F360395" + persistence "Transient" + multi FALSE) + (object Object " " + quid "415C0BAF03DD" + collaborators (list link_list + (object Link + quid "415C0BAF03DE" + supplier "$UNNAMED$42" + quidu "415C0BAF03E5" + messages (list Messages + (object Message "ParseEthernetFrameL(aFrame : RMBufChain&)" + quid "415C0BAF03E0" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "2" + ordinal 1 + Operation "ParseEthernetFrameL(RMBufChain&)" + quidu "40C587080094"))) + (object Link + quid "415C0BAF03E1" + supplier " " + quidu "415C0BAF03DD") + (object Link + quid "415C0BAF03E3" + supplier "$UNNAMED$43" + quidu "415C0BAF03F3" + messages (list Messages + (object Message "Process(aPacket : RBnepFrame&, aSourceIfAddr : const TBTDevAddr&)" + quid "415C0BAF03E4" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "4" + ordinal 3 + Operation "Process(RBnepFrame&, const TBTDevAddr&)" + quidu "40C065C50059")))) + class "Logical View::CBnepLocalDevice" + quidu "40C049420180" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$42" + quid "415C0BAF03E5" + collaborators (list link_list + (object Link + quid "415C0BAF03E6" + supplier "$UNNAMED$42" + quidu "415C0BAF03E5" + messages (list Messages + (object Message "SetContents(aContent : TPacketContents)" + quid "415C0BAF03E7" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "3" + ordinal 2 + Operation "SetContents(TPacketContents)" + quidu "40C58E0201E6") + (object Message "BuildBnepDataFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" + quid "415C0BAF03E8" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "10" + ordinal 9 + Operation "BuildBnepDataFrameL(RMBufChain&, const TBTDevAddr&, const TBTDevAddr&)" + quidu "40C58CF602EF")))) + class "Logical View::RBnepFrame" + quidu "40C049510377" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$43" + quid "415C0BAF03F3" + collaborators (list link_list + (object Link + quid "415C0BAF03F2" + supplier "dest" + quidu "415C0BAF03EB" + messages (list Messages + (object Message "Process(aFrame : RBnepFrame&)" + quid "415C0BAF03F1" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "6" + ordinal 5 + Operation "Process(RBnepFrame&)" + quidu "40C6E1DD02E9"))) + (object Link + quid "415C0BAF03F4" + supplier "$UNNAMED$43" + quidu "415C0BAF03F3" + messages (list Messages + (object Message "Identify Unicast Destination Link or Iterate Across All Links" + quid "415C0BAF03F5" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "5" + ordinal 4)))) + class "Logical View::CBnepBridge" + quidu "40C049600007" + persistence "Transient" + multi FALSE) + (object Object "dest" + quid "415C0BAF03EB" + collaborators (list link_list + (object Link + quid "415C0BAF03EA" + supplier "$UNNAMED$42" + quidu "415C0BAF03E5" + messages (list Messages + (object Message "BuildBnepFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" + quid "415C0BAF03E9" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "9" + ordinal 8 + Operation "BuildBnepFrameL(RMBufChain&, const TBTDevAddr&, const TBTDevAddr&)" + quidu "40C5873800ED"))) + (object Link + quid "415C0BAF03EC" + supplier "dest" + quidu "415C0BAF03EB" + messages (list Messages + (object Message "SendFrame(aFrame : RBnepFrame&)" + quid "415C0BAF03ED" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "7" + ordinal 6 + Operation "SendFrame(RBnepFrame&)" + quidu "40F6780900E4") + (object Message "Apply Filters" + quid "415C0BAF03EE" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "8" + ordinal 7))) + (object Link + quid "415C0BAF03EF" + supplier "$UNNAMED$44" + quidu "415C0BAF03F6" + messages (list Messages + (object Message "Write(aChain : RMBufChain&)" + quid "415C0BAF03F0" + frequency "Aperiodic" + synchronization "Simple" + dir "FromClientToSupplier" + sequence "11" + ordinal 10 + Operation "Write(RMBufChain&)" + quidu "40C6E8850330")))) + class "Logical View::CBnepLink" + quidu "40C0510D0175" + persistence "Transient" + multi FALSE) + (object Object "$UNNAMED$44" + quid "415C0BAF03F6" + class "Logical View::CSocketWriter" + quidu "40C0651F0155" + persistence "Transient" + multi FALSE)))) + logical_presentations (list unit_reference_list + (object InteractionDiagram "Instantiation" + mechanism_ref @131 + quid "415136650231" + title "Instantiation" + documentation +|This diagram shows the normal sequence of calls that result in the correct instantiation of the BNEP packet driver. The sequence is driven by Ethint.NIF requesting a new driver from CBnepPktDrvFactory (1). The factory immediately constructs the CBnepLocalDevice (2). During construction, the local device invokes the construction of the CBnepBridge and the CBTAddrSubscriber (3,4). +|As part of initialisation CBTAddrSubscriber will attempt to fetch the device's Bluetooth address as a synchronous call (5). As part of that call, the subscriber will schedule the active object and subscribe to the RProperty such that it will be notified if the property changes (i.e. if the Bluetooth stack was not present but was later created and published an update to the address property). +|At the end of this sequence, Ethint.NIF should have recieved a pointer to CBnepLocalDevice, as a CPktDrv-derived object, and a copy of this pointer will also have been attached to the bridge array of links in the space reserved for the local device. + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 56 + origin_y 0 + items (list diagram_item_list + (object InterObjView "$UNNAMED$0" @143 + location (249, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @143 + location (249, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "4151369A0300" + width 300 + height 660 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @144 + location (249, 405) + line_color 3342489 + InterObjView @143 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$1" @145 + location (690, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @145 + location (690, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 470 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415136B700EF" + width 488 + height 660 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @146 + location (690, 405) + line_color 3342489 + InterObjView @145 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @147 + location (690, 495) + line_color 3342489 + InterObjView @145 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$2" @148 + location (1155, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @148 + location (1155, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 382 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415136DB01D7" + width 400 + height 660 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @149 + location (1155, 495) + line_color 3342489 + InterObjView @148 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @150 + location (1155, 588) + line_color 3342489 + InterObjView @148 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @151 + location (1155, 699) + line_color 3342489 + InterObjView @148 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$3" @152 + location (1542, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @152 + location (1542, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415136FA01D1" + width 300 + height 660 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @153 + location (1542, 588) + line_color 3342489 + InterObjView @152 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$4" @154 + location (1935, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @154 + location (1935, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 407 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "4151372C0025" + width 425 + height 660 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @155 + location (1935, 699) + line_color 3342489 + InterObjView @154 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @156 + location (1935, 795) + line_color 3342489 + InterObjView @154 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @157 + location (1935, 795) + line_color 3342489 + InterObjView @154 + height 0 + y_coord 0 + Nested TRUE)) + (object InterMessView "" @158 + location (3, 405) + label (object SegLabel @159 + Parent_View @158 + location (469, 361) + quidu "4151376601C4" + anchor_loc 1 + nlines 1 + max_width 810 + justify 0 + label "NewDriverL(aParent : CLANLinkCommon*)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @143 + supplier @145 + Focus_Src @144 + Focus_Entry @146 + origin (249, 405) + terminus (689, 405) + ordinal 0) + (object InterMessView "" @160 + location (3, 495) + label (object SegLabel @161 + Parent_View @160 + location (922, 451) + quidu "4151377103E6" + anchor_loc 1 + nlines 1 + max_width 1245 + justify 0 + label "NewL(aFactory : CPktDrvFactory&, aParent : CLANLinkCommon*)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @145 + supplier @148 + Focus_Src @147 + Focus_Entry @149 + origin (690, 495) + terminus (1154, 495) + ordinal 1) + (object InterMessView "" @162 + location (3, 588) + label (object SegLabel @163 + Parent_View @162 + location (1348, 544) + quidu "415137960281" + anchor_loc 1 + nlines 1 + max_width 701 + justify 0 + label "NewL(aLocalDevice : MPanDevice&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @148 + supplier @152 + Focus_Src @150 + Focus_Entry @153 + origin (1155, 588) + terminus (1541, 588) + ordinal 2) + (object InterMessView "" @164 + location (3, 699) + label (object SegLabel @165 + Parent_View @164 + location (1544, 655) + quidu "415137A401D7" + anchor_loc 1 + nlines 1 + max_width 1114 + justify 0 + label "NewL(aAddr : TBTDevAddr&, aLocal : CBnepLocalDevice&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @148 + supplier @154 + Focus_Src @151 + Focus_Entry @155 + origin (1155, 699) + terminus (1934, 699) + ordinal 3) + (object SelfMessView "" @166 + location (3, 795) + label (object SegLabel @167 + Parent_View @166 + location (2011, 751) + quidu "415137CD035C" + anchor_loc 1 + nlines 1 + max_width 563 + justify 0 + label "SyncFetch(aRestart : TBool)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @154 + supplier @154 + Focus_Src @157 + Focus_Entry @156 + origin (1936, 795) + terminus (2086, 795) + ordinal 4) + (object NoteView @168 + location (549, 720) + label (object ItemLabel + Parent_View @168 + location (199, 651) + fill_color 13434879 + nlines 2 + max_width 665 + label "CBnepLocalDevice::ConstructL() has been called here.") + line_color 3342489 + fill_color 13434879 + width 725 + height 150) + (object AttachView "" @169 + stereotype TRUE + line_color 3342489 + client @168 + supplier @163 + line_style 0) + (object NoteView @170 + location (1416, 972) + label (object ItemLabel + Parent_View @170 + location (1035, 881) + fill_color 13434879 + nlines 3 + max_width 727 + label "CBTAddrSubscriber will be set as an active subscriber to the BT address property as a consequence of this call.") + line_color 3342489 + fill_color 13434879 + width 787 + height 194) + (object AttachView "" @171 + stereotype TRUE + line_color 3342489 + client @170 + supplier @167 + line_style 0))) + (object InteractionDiagram "Create a Connection" + mechanism_ref @132 + quid "415191080364" + title "Create a Connection" + documentation +|PAN Agent requests a new connection from CBnepBridge, passing it a socket and a reference back to itself (1). The bridge creates a CBnepChannelController for the connection which in turn creates a CBnepLink object for the connection (2,3). +|The first thing the link object has to do is take ownership of the socket, from which it constructs two active objects. The first is a dedicated input object, CSocketReader, upon which is then queued an asynchronous Read() waiting for input (4,5). The other active object is a dedicated output object, CSocketWriter, which has no immediate work to do (6). Finally the link uattaches to the bridge (7). If the bridge is already fully loaded with connections, this attempt will force a leave and the link has to be deleted. +|On successful completion, CBnepBridge will return a reference to the CBnepChannelController, through which PAN Agent can make link-specific requests via the MBnepChannelControl interface. + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 1544 + origin_y 0 + items (list diagram_item_list + (object InterObjView "$UNNAMED$5" @172 + location (645, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @172 + location (645, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "4151914400F4" + width 300 + height 975 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @173 + location (645, 402) + line_color 3342489 + InterObjView @172 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$6" @174 + location (1065, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @174 + location (1065, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "4151914F017C" + width 300 + height 975 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @175 + location (1065, 402) + line_color 3342489 + InterObjView @174 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @176 + location (1065, 519) + line_color 3342489 + InterObjView @174 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @177 + location (1065, 1110) + line_color 3342489 + InterObjView @174 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$7" @178 + location (1500, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @178 + location (1500, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 513 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "4151915600DC" + width 531 + height 975 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @179 + location (1500, 519) + line_color 3342489 + InterObjView @178 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @180 + location (1500, 621) + line_color 3342489 + InterObjView @178 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$8" @181 + location (1929, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @181 + location (1929, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "4151916500F1" + width 300 + height 975 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @182 + location (1929, 621) + line_color 3342489 + InterObjView @181 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @183 + location (1929, 735) + line_color 3342489 + InterObjView @181 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @184 + location (1929, 1020) + line_color 3342489 + InterObjView @181 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @185 + location (1929, 1110) + line_color 3342489 + InterObjView @181 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$9" @186 + location (2289, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @186 + location (2289, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 363 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "4151919F0221" + width 381 + height 975 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @187 + location (2289, 735) + line_color 3342489 + InterObjView @186 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @188 + location (2289, 885) + line_color 3342489 + InterObjView @186 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @189 + location (2289, 885) + line_color 3342489 + InterObjView @186 + height 0 + y_coord 0 + Nested TRUE)) + (object InterObjView "$UNNAMED$10" @190 + location (2682, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @190 + location (2682, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 350 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415191B70262" + width 368 + height 975 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @191 + location (2682, 1020) + line_color 3342489 + InterObjView @190 + height 0 + y_coord 0 + Nested FALSE)) + (object InterMessView "" @192 + location (3, 402) + label (object SegLabel @193 + Parent_View @192 + location (854, 358) + quidu "415191F8025C" + anchor_loc 1 + nlines 1 + max_width 1804 + justify 0 + label "NewBnepConnectionL(aConnectedSocket : RInternalSocket&, aNotify : MPanConnectionNotify&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @172 + supplier @174 + Focus_Src @173 + Focus_Entry @175 + origin (645, 402) + terminus (1064, 402) + ordinal 0) + (object InterMessView "" @194 + location (3, 519) + label (object SegLabel @195 + Parent_View @194 + location (1282, 475) + quidu "4151923F00E2" + anchor_loc 1 + nlines 1 + max_width 1973 + justify 0 + label "NewL(aBridge : CBnepBridge&, aConnectedSocket : RInternalSocket&, aNotify : MPanConnectionNotify&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @174 + supplier @178 + Focus_Src @176 + Focus_Entry @179 + origin (1065, 519) + terminus (1499, 519) + ordinal 1) + (object InterMessView "" @196 + location (3, 621) + label (object SegLabel @197 + Parent_View @196 + location (1714, 577) + quidu "41519253004A" + anchor_loc 1 + nlines 1 + max_width 1751 + justify 0 + label "NewL(aBridge : MPanDeviceOwner&, aSocket : RInternalSocket&, aParser : MLinkManager&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @178 + supplier @181 + Focus_Src @180 + Focus_Entry @182 + origin (1500, 621) + terminus (1928, 621) + ordinal 2) + (object InterMessView "" @198 + location (3, 735) + label (object SegLabel @199 + Parent_View @198 + location (2108, 691) + quidu "415192690196" + anchor_loc 1 + nlines 1 + max_width 1110 + justify 0 + label "NewL(aSocket : RInternalSocket&, aOwner : CBnepLink&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @181 + supplier @186 + Focus_Src @183 + Focus_Entry @187 + origin (1929, 735) + terminus (2288, 735) + ordinal 3) + (object SelfMessView "" @200 + location (3, 885) + label (object SegLabel @201 + Parent_View @200 + location (2365, 841) + quidu "4151928702EE" + anchor_loc 1 + nlines 1 + max_width 188 + justify 0 + label "Read( )" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @186 + supplier @186 + Focus_Src @189 + Focus_Entry @188 + origin (2290, 885) + terminus (2440, 885) + ordinal 4) + (object InterMessView "" @202 + location (3, 1020) + label (object SegLabel @203 + Parent_View @202 + location (2305, 976) + quidu "415192A60339" + anchor_loc 1 + nlines 1 + max_width 1110 + justify 0 + label "NewL(aSocket : RInternalSocket&, aOwner : CBnepLink&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @181 + supplier @190 + Focus_Src @184 + Focus_Entry @191 + origin (1929, 1020) + terminus (2681, 1020) + ordinal 5) + (object InterMessView "" @204 + location (3, 1110) + label (object SegLabel @205 + Parent_View @204 + location (1497, 1066) + quidu "415192CE0246" + anchor_loc 1 + nlines 1 + max_width 751 + justify 0 + label "AttachDevice(aDevice : MPanDevice&)" + pctDist 0.500000 + height 45 + orientation 1) + line_color 3342489 + client @181 + supplier @174 + Focus_Src @185 + Focus_Entry @177 + origin (1928, 1110) + terminus (1066, 1110) + ordinal 6) + (object NoteView @206 + location (318, 915) + label (object ItemLabel + Parent_View @206 + location (58, 812) + fill_color 13434879 + nlines 4 + max_width 484 + label "Should return a CBnepChannelController reference to the caller on success.") + line_color 3342489 + fill_color 13434879 + width 544 + height 219) + (object AttachView "" @207 + stereotype TRUE + line_color 3342489 + client @206 + supplier @193 + line_style 0))) + (object InteractionDiagram "Receiving a BNEP Packet - High Level" + mechanism_ref @133 + quid "4151984D01BC" + title "Receiving a BNEP Packet - High Level" + documentation +|When new input arrives across the socket, the CSocketReader::RunL() executes and passes the input into the link using the ReadComplete() method (1). The link passes the buffer to its dedicated input handling RBnepFrame (InComing) via the ParseBnepFrameL() method (2). For a BNEP Control, this method is able to extract sufficient information to determine the presence of a control, extensions and/or data. +|After this first-pass inspection the remains of the buffer are passed to an internal handler ParseL() which can extract control information in a form that can be executed by later stages of the process (3) [this detail is covered in the Parsing and Processing Controls scenario description]. Having parsed the input, the link is then able to call Proceed() which will take the appropriate actions based on the contents of InComing (4). + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 163 + origin_y 0 + items (list diagram_item_list + (object InterObjView "$UNNAMED$11" @208 + location (450, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @208 + location (450, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 308 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415198A701E3" + width 326 + height 600 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @209 + location (450, 408) + line_color 3342489 + InterObjView @208 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$12" @210 + location (1035, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @210 + location (1035, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415198B00222" + width 300 + height 600 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @211 + location (1035, 408) + line_color 3342489 + InterObjView @210 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @212 + location (1035, 507) + line_color 3342489 + InterObjView @210 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @213 + location (1035, 735) + line_color 3342489 + InterObjView @210 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @214 + location (1035, 735) + line_color 3342489 + InterObjView @210 + height 0 + y_coord 0 + Nested TRUE)) + (object InterObjView "iComing" @215 + location (1638, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @215 + location (1638, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "iComing") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415198C80263" + width 300 + height 600 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @216 + location (1638, 507) + line_color 3342489 + InterObjView @215 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @217 + location (1638, 603) + line_color 3342489 + InterObjView @215 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @218 + location (1638, 603) + line_color 3342489 + InterObjView @215 + height 0 + y_coord 0 + Nested TRUE)) + (object InterMessView "" @219 + location (3, 408) + label (object SegLabel @220 + Parent_View @219 + location (742, 364) + quidu "415199A5032A" + anchor_loc 1 + nlines 1 + max_width 763 + justify 0 + label "ReadComplete(aChain : RMBufChain&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @208 + supplier @210 + Focus_Src @209 + Focus_Entry @211 + origin (450, 408) + terminus (1034, 408) + ordinal 0) + (object InterMessView "" @221 + location (1341, 507) + label (object SegLabel @222 + Parent_View @221 + location (1336, 463) + quidu "415199BF02F5" + anchor_loc 1 + nlines 1 + max_width 2276 + justify 0 + label "ParseBnepFrameL(aInboundChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @210 + supplier @215 + Focus_Src @212 + Focus_Entry @216 + origin (1035, 507) + terminus (1637, 507) + ordinal 1) + (object SelfMessView "" @223 + location (3, 603) + label (object SegLabel @224 + Parent_View @223 + location (1714, 559) + quidu "415199CE00F8" + anchor_loc 1 + nlines 1 + max_width 1519 + justify 0 + label "ParseL(aInboundChain : RMBufChain&, aType : TBnepPacketType, aExt : TBool)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @215 + supplier @215 + Focus_Src @218 + Focus_Entry @217 + origin (1639, 603) + terminus (1789, 603) + ordinal 2) + (object SelfMessView "" @225 + location (3, 735) + label (object SegLabel @226 + Parent_View @225 + location (1111, 691) + quidu "415199DB0269" + anchor_loc 1 + nlines 1 + max_width 244 + justify 0 + label "Proceed( )" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @210 + supplier @210 + Focus_Src @213 + Focus_Entry @214 + origin (1036, 735) + terminus (1186, 735) + ordinal 3))) + (object InteractionDiagram "Receiving a BNEP Packet - Parsing and Processing Controls" + mechanism_ref @134 + quid "4151A3DC001C" + title "Receiving a BNEP Packet - Parsing and Processing Controls" + documentation +|When parsing a BNEP frame for control messages, itis important to remember that there are three possible scenarios allowed by the BNEP specification [1]. +|A - A pure control frame. +|B - A data frame with one or more extension headers. +|C - A control frame with one or more extension headers. +|The ParseBnepFrameL() method performs a first-pass inspection of the input buffer to determine the presence of a control frame and/or extensions (1). This information is then passed to the helper ParseL() so that it can process correctly (2). There are two lower-level helper methods on RBnepFrame, ExtractControlL() and ExtractExtensionL() which are used in the appropriate combinations to pull out all the controls present in the frame. +|For scenario A, ExtractControlL() is used in isolation to create a RBnepControl object and place it on the command queue of the iComing RBnepFrame. +|For scenario B, ExtractExtensionL() is called repeatedly until all the extensions have been converted into RBnepControl objects and placed on the command queue. +|For scenario C, ExtractControlL is called followed by repeated calls to ExtractExtensionL() until the control contents of the frame are exhausted. +|It should be noted that scenario C is explicitly tested in the BNEP Test Cases [3] wherein a maximal control plus extensions combination is processed through a BNEP link. Given the limited set of defined control messages available, a maximal control message would contain a setup request (which must be a control and never an extension) plus two filter setup requests: one for a multicast address filter and one for a network protocol type filter. +|Once ParseL() is complete (and note that all the helpers have the potential to leave if the frame has been incorrectly constructed by the sender at any level), the link calls its own Proceed() method which processes the controls in the input command queue in the order in which they were inserted(7). + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 406 + origin_y 0 + items (list diagram_item_list + (object InterObjView "$UNNAMED$13" @227 + location (1620, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @227 + location (1620, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "4151A51F00D5" + width 300 + height 975 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @228 + location (1620, 405) + line_color 3342489 + InterObjView @227 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @229 + location (1620, 546) + line_color 3342489 + InterObjView @227 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @230 + location (1620, 546) + line_color 3342489 + InterObjView @227 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @231 + location (1620, 684) + line_color 3342489 + InterObjView @227 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @232 + location (1620, 684) + line_color 3342489 + InterObjView @227 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @233 + location (1620, 831) + line_color 3342489 + InterObjView @227 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @234 + location (1620, 963) + line_color 3342489 + InterObjView @227 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @235 + location (1620, 963) + line_color 3342489 + InterObjView @227 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @236 + location (1620, 1071) + line_color 3342489 + InterObjView @227 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "iCommandQueue" @237 + location (2064, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @237 + location (2064, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "iCommandQueue") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "4151A56D0181" + width 300 + height 975 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @238 + location (2064, 831) + line_color 3342489 + InterObjView @237 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @239 + location (2064, 1071) + line_color 3342489 + InterObjView @237 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$14" @240 + location (765, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @240 + location (765, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "4151A5EF028C" + width 300 + height 975 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @241 + location (765, 405) + line_color 3342489 + InterObjView @240 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @242 + location (765, 1110) + line_color 3342489 + InterObjView @240 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @243 + location (765, 1110) + line_color 3342489 + InterObjView @240 + height 0 + y_coord 0 + Nested TRUE)) + (object InterMessView "" @244 + location (3, 405) + label (object SegLabel @245 + Parent_View @244 + location (1502, 363) + quidu "4151A5FA01FD" + anchor_loc 1 + nlines 1 + max_width 2276 + justify 0 + label "ParseBnepFrameL(aInboundChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" + pctDist 0.862998 + height 42 + orientation 0) + line_color 3342489 + client @240 + supplier @227 + Focus_Src @241 + Focus_Entry @228 + origin (765, 405) + terminus (1619, 405) + ordinal 0) + (object SelfMessView "" @246 + location (3, 546) + label (object SegLabel @247 + Parent_View @246 + location (1696, 502) + quidu "4151A61A0343" + anchor_loc 1 + nlines 1 + max_width 1519 + justify 0 + label "ParseL(aInboundChain : RMBufChain&, aType : TBnepPacketType, aExt : TBool)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @227 + supplier @227 + Focus_Src @230 + Focus_Entry @229 + origin (1621, 546) + terminus (1771, 546) + ordinal 1) + (object SelfMessView "" @248 + location (3, 684) + label (object SegLabel @249 + Parent_View @248 + location (1696, 640) + quidu "4151A6580342" + anchor_loc 1 + nlines 1 + max_width 1191 + justify 0 + label "ExtractControlL(aInboundChain : RMBufChain&, aLength : TInt)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @227 + supplier @227 + Focus_Src @232 + Focus_Entry @231 + origin (1621, 684) + terminus (1771, 684) + ordinal 2) + (object SelfMessView "" @250 + location (3, 963) + label (object SegLabel @251 + Parent_View @250 + location (1696, 919) + quidu "4151A66902D8" + anchor_loc 1 + nlines 1 + max_width 973 + justify 0 + label "ExtractExtensionL(aInboundChain : RMBufChain&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @227 + supplier @227 + Focus_Src @235 + Focus_Entry @234 + origin (1621, 963) + terminus (1771, 963) + ordinal 4) + (object InterMessView "" @252 + location (1851, 831) + label (object SegLabel @253 + Parent_View @252 + location (1841, 787) + quidu "4151A67C0358" + anchor_loc 1 + nlines 1 + max_width 498 + justify 0 + label "AddLast(RBnepControl*)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @227 + supplier @237 + Focus_Src @233 + Focus_Entry @238 + origin (1620, 831) + terminus (2063, 831) + ordinal 3) + (object InterMessView "" @254 + location (3, 1071) + label (object SegLabel @255 + Parent_View @254 + location (1841, 1027) + quidu "4151A69200F6" + anchor_loc 1 + nlines 1 + max_width 498 + justify 0 + label "AddLast(RBnepControl*)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @227 + supplier @237 + Focus_Src @236 + Focus_Entry @239 + origin (1620, 1071) + terminus (2063, 1071) + ordinal 5) + (object SelfMessView "" @256 + location (3, 1110) + label (object SegLabel @257 + Parent_View @256 + location (841, 1066) + quidu "4151A6DD024A" + anchor_loc 1 + nlines 1 + max_width 244 + justify 0 + label "Proceed( )" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @240 + supplier @240 + Focus_Src @243 + Focus_Entry @242 + origin (766, 1110) + terminus (916, 1110) + ordinal 6))) + (object InteractionDiagram "Executing BNEP Controls - Setup Connection Request part 1" + mechanism_ref @135 + quid "415AC80D0075" + title "Executing BNEP Controls - Setup Connection Request part 1" + documentation +|Within the CBnepLink::Proceed() execution, the link instructs the InComing RBnepFrame to execute the controls on it's queue (1). The first control (a Setup Connection Request in this scenario) is popped off the queue and passed to the channel controller for execution (2) - note that the channel controller now owns the control object and is ultimately responsible for disposing of it correctly. On recognising the control type, the channel controller delegates the processing to a specific control handler (3). The handler obtains role information from the control (4,5). +|Before notifying the PAN Agent, the controller sets an internal flag indicating a state change(6). While this flag is set, the link will process no further controls from the input queue. Finally, the controller notifies PAN Agent of the role request (7). + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 181 + origin_y 69 + items (list diagram_item_list + (object InterObjView "$UNNAMED$15" @258 + location (450, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @258 + location (450, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415AC86702A5" + width 300 + height 906 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @259 + location (450, 387) + line_color 3342489 + InterObjView @258 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "iComing" @260 + location (759, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @260 + location (759, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "iComing") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415AC92B0008" + width 300 + height 906 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @261 + location (759, 387) + line_color 3342489 + InterObjView @260 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @262 + location (759, 492) + line_color 3342489 + InterObjView @260 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$16" @263 + location (1209, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @263 + location (1209, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 561 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415AC93F0332" + width 579 + height 906 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @264 + location (1209, 492) + line_color 3342489 + InterObjView @263 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @265 + location (1209, 579) + line_color 3342489 + InterObjView @263 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @266 + location (1209, 579) + line_color 3342489 + InterObjView @263 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @267 + location (1209, 696) + line_color 3342489 + InterObjView @263 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @268 + location (1209, 780) + line_color 3342489 + InterObjView @263 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @269 + location (1209, 918) + line_color 3342489 + InterObjView @263 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @270 + location (1209, 918) + line_color 3342489 + InterObjView @263 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @271 + location (1209, 1041) + line_color 3342489 + InterObjView @263 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$17" @272 + location (1938, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @272 + location (1938, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 795 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415AC95301F0" + width 813 + height 906 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @273 + location (1938, 696) + line_color 3342489 + InterObjView @272 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @274 + location (1938, 780) + line_color 3342489 + InterObjView @272 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$18" @275 + location (2517, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @275 + location (2517, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415ACA270245" + width 300 + height 906 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @276 + location (2517, 1041) + line_color 3342489 + InterObjView @275 + height 0 + y_coord 0 + Nested FALSE)) + (object InterMessView "" @277 + location (3, 387) + label (object SegLabel @278 + Parent_View @277 + location (604, 343) + quidu "415AC9630245" + anchor_loc 1 + nlines 1 + max_width 10 + justify 0 + label "ExecuteControl(aController : MLinkManager&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @258 + supplier @260 + Focus_Src @259 + Focus_Entry @261 + origin (450, 387) + terminus (758, 387) + ordinal 0) + (object InterMessView "" @279 + location (3, 492) + label (object SegLabel @280 + Parent_View @279 + location (983, 448) + quidu "415AC97500C4" + anchor_loc 1 + nlines 1 + max_width 10 + justify 0 + label "Execute(aCommand : RBnepControl*)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @260 + supplier @263 + Focus_Src @262 + Focus_Entry @264 + origin (759, 492) + terminus (1208, 492) + ordinal 1) + (object SelfMessView "" @281 + location (3, 579) + label (object SegLabel @282 + Parent_View @281 + location (1285, 535) + quidu "415AC990028F" + anchor_loc 1 + nlines 1 + max_width 1248 + justify 0 + label "Handle(aSetupRequest : RBnepSetupConnectionRequestControl*)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @263 + supplier @263 + Focus_Src @266 + Focus_Entry @265 + origin (1210, 579) + terminus (1360, 579) + ordinal 2) + (object InterMessView "" @283 + location (3, 696) + label (object SegLabel @284 + Parent_View @283 + location (1573, 652) + quidu "415AC99F0241" + anchor_loc 1 + nlines 1 + max_width 544 + justify 0 + label "LocalRole(aRole : TUUID&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @263 + supplier @272 + Focus_Src @267 + Focus_Entry @273 + origin (1209, 696) + terminus (1937, 696) + ordinal 3) + (object InterMessView "" @285 + location (3, 780) + label (object SegLabel @286 + Parent_View @285 + location (1573, 736) + quidu "415AC9E201BA" + anchor_loc 1 + nlines 1 + max_width 588 + justify 0 + label "RemoteRole(aRole : TUUID&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @263 + supplier @272 + Focus_Src @268 + Focus_Entry @274 + origin (1209, 780) + terminus (1937, 780) + ordinal 4) + (object InterMessView "" @287 + location (3, 1041) + label (object SegLabel @288 + Parent_View @287 + location (1862, 997) + quidu "415ACA2F0085" + anchor_loc 1 + nlines 1 + max_width 735 + justify 0 + label "BnepRoleRequestFromRemoteDevice" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @263 + supplier @275 + Focus_Src @271 + Focus_Entry @276 + origin (1209, 1041) + terminus (2516, 1041) + ordinal 6) + (object SelfMessView "" @289 + location (3, 918) + label (object SegLabel @290 + Parent_View @289 + location (1285, 874) + quidu "415ACB040149" + anchor_loc 1 + nlines 1 + max_width 585 + justify 0 + label "SetAwaitingResponse(ETrue)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @263 + supplier @263 + Focus_Src @270 + Focus_Entry @269 + origin (1210, 918) + terminus (1360, 918) + ordinal 5) + (object NoteView @291 + location (453, 765) + label (object ItemLabel + Parent_View @291 + location (112, 637) + fill_color 13434879 + nlines 5 + max_width 646 + label "CBnepLink is currently executing it's Proceed() method which should return at the end of this sequence under normal circumstances.") + line_color 3342489 + fill_color 13434879 + width 706 + height 268) + (object AttachView "" @292 + stereotype TRUE + line_color 3342489 + client @291 + supplier @278 + line_style 0) + (object NoteView @293 + location (1665, 1293) + label (object ItemLabel + Parent_View @293 + location (987, 1159) + fill_color 13434879 + nlines 5 + max_width 1321 + label "This should result in asynchronous processing in PAN Agent so that we return here and CBnepLink::Proceed is then finished for the time being. However, sometimes this is not asynchronous and PAN Agent may call straight back into BNEP synchronously from here. This will mean that we are still in Proceed() as part 2 begins below.") + line_color 3342489 + fill_color 13434879 + width 1381 + height 281) + (object AttachView "" @294 + stereotype TRUE + line_color 3342489 + client @293 + supplier @288 + line_style 0))) + (object InteractionDiagram "Executing BNEP Controls - Filter Setup Requests" + mechanism_ref @136 + quid "415AC82F031D" + title "Executing BNEP Controls - Filter Setup Requests" + documentation +|The example shown is the sequence that responds to a network protocol type filter request. However, a multicast address filter request is essentially the same with different control/response types. +|The link is in the Proceed() method and calls on the InComing RBnepFrame to execute the controls in it's queue (1). The frame pops the first control from the queue and passes it to the channel controller for execution (2). On identifying the control type, the channel controller delegates the processing to a dedicated handler for that type of object(3). The handler extracts the pair of values representing the start and end points of the permitted range, and inserts them into a filter table newly created for the purpose (4,5). This sequence is repeated until the control object's set of filter specifications is depleted. Having reached the end of the filter specification with a valid set of ranges, the table is installed on the link, replacing any previous table that may have existed (6). +|The original control message is freed and deleted at this point, as it is no longer needed (7). A new response is created and set to the appropriate response value (8,9) and then placed on the link's output queue in preparation for transmission back to the requestor (10,11). + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object InterObjView "$UNNAMED$19" @295 + location (450, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @295 + location (450, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BC9CD02FD" + width 300 + height 1239 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @296 + location (450, 405) + line_color 3342489 + InterObjView @295 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @297 + location (450, 984) + line_color 3342489 + InterObjView @295 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @298 + location (450, 1284) + line_color 3342489 + InterObjView @295 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @299 + location (450, 1374) + line_color 3342489 + InterObjView @295 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "iComing" @300 + location (780, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @300 + location (780, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "iComing") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BC9D90192" + width 300 + height 1239 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @301 + location (780, 405) + line_color 3342489 + InterObjView @300 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @302 + location (780, 519) + line_color 3342489 + InterObjView @300 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$20" @303 + location (1227, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @303 + location (1227, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 507 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BC9E40007" + width 525 + height 1239 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @304 + location (1227, 519) + line_color 3342489 + InterObjView @303 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @305 + location (1227, 618) + line_color 3342489 + InterObjView @303 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @306 + location (1227, 618) + line_color 3342489 + InterObjView @303 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @307 + location (1227, 753) + line_color 3342489 + InterObjView @303 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @308 + location (1227, 867) + line_color 3342489 + InterObjView @303 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @309 + location (1227, 984) + line_color 3342489 + InterObjView @303 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @310 + location (1227, 1056) + line_color 3342489 + InterObjView @303 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @311 + location (1227, 1134) + line_color 3342489 + InterObjView @303 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @312 + location (1227, 1212) + line_color 3342489 + InterObjView @303 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @313 + location (1227, 1284) + line_color 3342489 + InterObjView @303 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$21" @314 + location (1893, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @314 + location (1893, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 751 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BCA05038A" + width 769 + height 1239 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @315 + location (1893, 753) + line_color 3342489 + InterObjView @314 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @316 + location (1893, 1056) + line_color 3342489 + InterObjView @314 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "iGoing" @317 + location (2907, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @317 + location (2907, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "iGoing") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BCA24024E" + width 300 + height 1239 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @318 + location (2907, 1374) + line_color 3342489 + InterObjView @317 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$23" @319 + location (3531, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @319 + location (3531, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 838 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BCB93016F" + width 856 + height 1239 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @320 + location (3531, 1134) + line_color 3342489 + InterObjView @319 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @321 + location (3531, 1212) + line_color 3342489 + InterObjView @319 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$22" @322 + location (2520, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @322 + location (2520, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 407 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BCA310120" + width 425 + height 1239 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @323 + location (2520, 867) + line_color 3342489 + InterObjView @322 + height 0 + y_coord 0 + Nested FALSE)) + (object InterMessView "" @324 + location (3, 405) + label (object SegLabel @325 + Parent_View @324 + location (614, 361) + quidu "415BCA4F02E7" + anchor_loc 1 + nlines 1 + max_width 10 + justify 0 + label "ExecuteControl(aController : MLinkManager&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @295 + supplier @300 + Focus_Src @296 + Focus_Entry @301 + origin (450, 405) + terminus (779, 405) + ordinal 0) + (object InterMessView "" @326 + location (1005, 519) + label (object SegLabel @327 + Parent_View @326 + location (1003, 475) + quidu "415BCA6C02C1" + anchor_loc 1 + nlines 1 + max_width 10 + justify 0 + label "Execute (aCommand : RBnepControl*)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @300 + supplier @303 + Focus_Src @302 + Focus_Entry @304 + origin (780, 519) + terminus (1226, 519) + ordinal 1) + (object SelfMessView "" @328 + location (3, 618) + label (object SegLabel @329 + Parent_View @328 + location (1303, 574) + quidu "415BCA81005E" + anchor_loc 1 + nlines 1 + max_width 1438 + justify 0 + label "Handle(aFilterNetTypeSetRequest : RBnepFilterNetTypeSetRequestControl*)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @303 + supplier @303 + Focus_Src @306 + Focus_Entry @305 + origin (1228, 618) + terminus (1378, 618) + ordinal 2) + (object InterMessView "" @330 + location (1560, 753) + label (object SegLabel @331 + Parent_View @330 + location (1559, 709) + quidu "415BCAD50004" + anchor_loc 1 + nlines 1 + max_width 10 + justify 0 + label "NetworkProtocolTypeRange(aStartValue : TUint16&, aEndValue : TUint16&, aIndex : TUint)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @303 + supplier @314 + Focus_Src @307 + Focus_Entry @315 + origin (1227, 753) + terminus (1892, 753) + ordinal 3) + (object InterMessView "" @332 + location (1878, 867) + label (object SegLabel @333 + Parent_View @332 + location (1873, 823) + quidu "415BCAEE03C1" + anchor_loc 1 + nlines 1 + max_width 10 + justify 0 + label "Insert(aStart : const TUint16, aEnd : const TUint16)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @303 + supplier @322 + Focus_Src @308 + Focus_Entry @323 + origin (1227, 867) + terminus (2519, 867) + ordinal 4) + (object InterMessView "" @334 + location (822, 984) + label (object SegLabel @335 + Parent_View @334 + location (839, 940) + quidu "415BCB2701E3" + anchor_loc 1 + nlines 1 + max_width 816 + justify 0 + label "Install(aFilterTable : CNetTypeFilterTable*)" + pctDist 0.500000 + height 45 + orientation 1) + line_color 3342489 + client @303 + supplier @295 + Focus_Src @309 + Focus_Entry @297 + origin (1226, 984) + terminus (451, 984) + ordinal 5) + (object InterMessView "" @336 + location (3, 1056) + label (object SegLabel @337 + Parent_View @336 + location (1559, 1012) + quidu "415BCB5803CD" + anchor_loc 1 + nlines 1 + max_width 163 + justify 0 + label "Free()" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @303 + supplier @314 + Focus_Src @310 + Focus_Entry @316 + origin (1227, 1056) + terminus (1892, 1056) + ordinal 6) + (object InterMessView "" @338 + location (3, 1134) + label (object SegLabel @339 + Parent_View @338 + location (2378, 1090) + quidu "415BCBB4027C" + anchor_loc 1 + nlines 1 + max_width 169 + justify 0 + label "InitL( )" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @303 + supplier @319 + Focus_Src @311 + Focus_Entry @320 + origin (1227, 1134) + terminus (3530, 1134) + ordinal 7) + (object InterMessView "" @340 + location (3, 1212) + label (object SegLabel @341 + Parent_View @340 + location (2378, 1168) + quidu "415BCBC203B2" + anchor_loc 1 + nlines 1 + max_width 1669 + justify 0 + label "SetConnectionSetupResponseL(aResponse : TBnepSetupConnectionResponseMessage)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @303 + supplier @319 + Focus_Src @312 + Focus_Entry @321 + origin (1227, 1212) + terminus (3530, 1212) + ordinal 8) + (object InterMessView "" @342 + location (3, 1284) + label (object SegLabel @343 + Parent_View @342 + location (839, 1240) + quidu "415BCBF50120" + anchor_loc 1 + nlines 1 + max_width 10 + justify 0 + label "QueueOnOutput(aCommand : RBnepControl*)" + pctDist 0.500000 + height 45 + orientation 1) + line_color 3342489 + client @303 + supplier @295 + Focus_Src @313 + Focus_Entry @298 + origin (1226, 1284) + terminus (451, 1284) + ordinal 9) + (object InterMessView "" @344 + location (3, 1374) + label (object SegLabel @345 + Parent_View @344 + location (1678, 1330) + quidu "415BCC030258" + anchor_loc 1 + nlines 1 + max_width 10 + justify 0 + label "InsertControl(aCommand : RBnepControl*)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @295 + supplier @317 + Focus_Src @299 + Focus_Entry @318 + origin (450, 1374) + terminus (2906, 1374) + ordinal 10))) + (object InteractionDiagram "Executing BNEP Controls - Setup Connection Request part 2" + mechanism_ref @137 + quid "415ACA8F017D" + title "Executing BNEP Controls - Setup Connection Request part 2" + documentation "Having determined it's response to a request for connection, PAN Agent calls back into the channel controller (1). The channel controller creates a Setup Connection Response Control object and sets the response value according to what PAN Agent has passed it (2,3). The response control object is passed out of channel controller and onto the command queue of the OutGoing RBnepFrame held by the link (4,5). The channel controller changes state such that it can continue processing input controls (6) and re-enables data transfer in case it was suspended during role negotiations (7). At this point, the channel controller then calls back into the link and retriggers the Proceed() method (8), which is why this method must support synchronous recursive calls." + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object InterObjView "$UNNAMED$24" @346 + location (450, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @346 + location (450, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415ACBAD0305" + width 300 + height 924 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @347 + location (450, 396) + line_color 3342489 + InterObjView @346 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$25" @348 + location (903, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @348 + location (903, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 520 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415ACBB4026E" + width 538 + height 924 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @349 + location (903, 396) + line_color 3342489 + InterObjView @348 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @350 + location (903, 474) + line_color 3342489 + InterObjView @348 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @351 + location (903, 570) + line_color 3342489 + InterObjView @348 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @352 + location (903, 663) + line_color 3342489 + InterObjView @348 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @353 + location (903, 840) + line_color 3342489 + InterObjView @348 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @354 + location (903, 840) + line_color 3342489 + InterObjView @348 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @355 + location (903, 942) + line_color 3342489 + InterObjView @348 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @356 + location (903, 1059) + line_color 3342489 + InterObjView @348 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$26" @357 + location (1596, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @357 + location (1596, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 807 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415ACC0B02EC" + width 825 + height 924 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @358 + location (1596, 474) + line_color 3342489 + InterObjView @357 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @359 + location (1596, 570) + line_color 3342489 + InterObjView @357 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$27" @360 + location (2163, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @360 + location (2163, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415ACC6D00BC" + width 300 + height 924 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @361 + location (2163, 663) + line_color 3342489 + InterObjView @360 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @362 + location (2163, 744) + line_color 3342489 + InterObjView @360 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @363 + location (2163, 942) + line_color 3342489 + InterObjView @360 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @364 + location (2163, 1059) + line_color 3342489 + InterObjView @360 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "iGoing" @365 + location (2493, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @365 + location (2493, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "iGoing") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415ACC7400A8" + width 300 + height 924 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @366 + location (2493, 744) + line_color 3342489 + InterObjView @365 + height 0 + y_coord 0 + Nested FALSE)) + (object InterMessView "" @367 + location (3, 396) + label (object SegLabel @368 + Parent_View @367 + location (1112, 347) + quidu "415ACBDB02A8" + anchor_loc 1 + nlines 1 + max_width 1935 + justify 0 + label "BnepRoleResponseFromLocalDevice(aRoleResponseCode : TBnepSetupConnectionResponseMessage)" + pctDist 1.464602 + height 49 + orientation 0) + line_color 3342489 + client @346 + supplier @348 + Focus_Src @347 + Focus_Entry @349 + origin (450, 396) + terminus (902, 396) + ordinal 0) + (object InterMessView "" @369 + location (1248, 474) + label (object SegLabel @370 + Parent_View @369 + location (1249, 430) + quidu "415ACC18001A" + anchor_loc 1 + nlines 1 + max_width 169 + justify 0 + label "InitL( )" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @348 + supplier @357 + Focus_Src @350 + Focus_Entry @358 + origin (903, 474) + terminus (1595, 474) + ordinal 1) + (object InterMessView "" @371 + location (3, 570) + label (object SegLabel @372 + Parent_View @371 + location (1249, 526) + quidu "415ACC4402C6" + anchor_loc 1 + nlines 1 + max_width 1669 + justify 0 + label "SetConnectionSetupResponseL(aResponse : TBnepSetupConnectionResponseMessage)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @348 + supplier @357 + Focus_Src @351 + Focus_Entry @359 + origin (903, 570) + terminus (1595, 570) + ordinal 2) + (object InterMessView "" @373 + location (3, 663) + label (object SegLabel @374 + Parent_View @373 + location (1532, 619) + quidu "415ACC8300D2" + anchor_loc 1 + nlines 1 + max_width 10 + justify 0 + label "QueueOnOutput(aCommand : RBnepControl*)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @348 + supplier @360 + Focus_Src @352 + Focus_Entry @361 + origin (903, 663) + terminus (2162, 663) + ordinal 3) + (object InterMessView "" @375 + location (3, 744) + label (object SegLabel @376 + Parent_View @375 + location (2327, 700) + quidu "415ACC92014C" + anchor_loc 1 + nlines 1 + max_width 10 + justify 0 + label "InsertControl(aCommand : RBnepControl*)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @360 + supplier @365 + Focus_Src @362 + Focus_Entry @366 + origin (2163, 744) + terminus (2492, 744) + ordinal 4) + (object SelfMessView "" @377 + location (3, 840) + label (object SegLabel @378 + Parent_View @377 + location (979, 796) + quidu "415ACCEF018C" + anchor_loc 1 + nlines 1 + max_width 607 + justify 0 + label "SetAwaitingResponse(EFalse)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @348 + supplier @348 + Focus_Src @354 + Focus_Entry @353 + origin (904, 840) + terminus (1054, 840) + ordinal 5) + (object InterMessView "" @379 + location (3, 942) + label (object SegLabel @380 + Parent_View @379 + location (1532, 898) + quidu "415ACD190181" + anchor_loc 1 + nlines 1 + max_width 473 + justify 0 + label "ResumeDataTransfer( )" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @348 + supplier @360 + Focus_Src @355 + Focus_Entry @363 + origin (903, 942) + terminus (2162, 942) + ordinal 6) + (object InterMessView "" @381 + location (3, 1059) + label (object SegLabel @382 + Parent_View @381 + location (1532, 1015) + quidu "415ACD2C021F" + anchor_loc 1 + nlines 1 + max_width 244 + justify 0 + label "Proceed( )" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @348 + supplier @360 + Focus_Src @356 + Focus_Entry @364 + origin (903, 1059) + terminus (2162, 1059) + ordinal 7) + (object NoteView @383 + location (1479, 1380) + label (object ItemLabel + Parent_View @383 + location (1029, 1224) + fill_color 13434879 + nlines 6 + max_width 865 + label "So, if we were still in Proceed() at the end of part 1, here we are again re-entering it. Maintainers beware! Make no changes to Proceed() that are likely to disrupt it's ability to recursively re-enter itself or BNEP will hang.") + line_color 3342489 + fill_color 13434879 + width 925 + height 325) + (object AttachView "" @384 + stereotype TRUE + line_color 3342489 + client @383 + supplier @382 + line_style 0))) + (object InteractionDiagram "Executing BNEP Controls - Responding to Unrecognised Controls" + mechanism_ref @138 + quid "415BDA7F0239" + title "Executing BNEP Controls - Responding to Unrecognised Controls" + documentation "The link is executing the Proceed() method and calls on the InComing RBnepFrame to execute the controls in it's queue (1). The frame pops the first control from the queue and passes it to the channel controller for execution (2). On failing to identify the control type, the channel controller delegates the processing to a dedicated handler for unknown types (3). A Not Understood Response Control is instantiated and queued on the link output for subsequent transmission (4,5,6,7)." + zoom 100 + max_height 28350 + max_width 21600 + origin_x 519 + origin_y 0 + items (list diagram_item_list + (object InterObjView "$UNNAMED$28" @385 + location (450, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @385 + location (450, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BDACC0095" + width 300 + height 873 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @386 + location (450, 405) + line_color 3342489 + InterObjView @385 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @387 + location (450, 897) + line_color 3342489 + InterObjView @385 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @388 + location (450, 1008) + line_color 3342489 + InterObjView @385 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "iComing" @389 + location (780, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @389 + location (780, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "iComing") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BDACC009A" + width 300 + height 873 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @390 + location (780, 405) + line_color 3342489 + InterObjView @389 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @391 + location (780, 519) + line_color 3342489 + InterObjView @389 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$29" @392 + location (1227, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @392 + location (1227, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 507 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BDACC009D" + width 525 + height 873 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @393 + location (1227, 519) + line_color 3342489 + InterObjView @392 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @394 + location (1227, 618) + line_color 3342489 + InterObjView @392 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @395 + location (1227, 618) + line_color 3342489 + InterObjView @392 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @396 + location (1227, 723) + line_color 3342489 + InterObjView @392 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @397 + location (1227, 819) + line_color 3342489 + InterObjView @392 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @398 + location (1227, 897) + line_color 3342489 + InterObjView @392 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "iGoing" @399 + location (1659, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @399 + location (1659, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "iGoing") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BDACC00AF" + width 300 + height 873 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @400 + location (1659, 1008) + line_color 3342489 + InterObjView @399 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$30" @401 + location (2244, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @401 + location (2244, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 838 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BDACC00AE" + width 856 + height 873 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @402 + location (2244, 723) + line_color 3342489 + InterObjView @401 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @403 + location (2244, 819) + line_color 3342489 + InterObjView @401 + height 0 + y_coord 0 + Nested FALSE)) + (object InterMessView "" @404 + location (3, 405) + label (object SegLabel @405 + Parent_View @404 + location (614, 361) + quidu "415BDACC0097" + anchor_loc 1 + nlines 1 + max_width 10 + justify 0 + label "ExecuteControl(aController : MLinkManager&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @385 + supplier @389 + Focus_Src @386 + Focus_Entry @390 + origin (450, 405) + terminus (779, 405) + ordinal 0) + (object InterMessView "" @406 + location (1005, 519) + label (object SegLabel @407 + Parent_View @406 + location (1003, 475) + quidu "415BDACC009C" + anchor_loc 1 + nlines 1 + max_width 10 + justify 0 + label "Execute (aCommand : RBnepControl*)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @389 + supplier @392 + Focus_Src @391 + Focus_Entry @393 + origin (780, 519) + terminus (1226, 519) + ordinal 1) + (object SelfMessView "" @408 + location (3, 618) + label (object SegLabel @409 + Parent_View @408 + location (1303, 574) + quidu "415BDACC009F" + anchor_loc 1 + nlines 1 + max_width 1138 + justify 0 + label "HandleUnknownCommandPacket(aControl : RBnepControl*)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @392 + supplier @392 + Focus_Src @394 + Focus_Entry @395 + origin (1228, 618) + terminus (1378, 618) + ordinal 2) + (object InterMessView "" @410 + location (837, 897) + label (object SegLabel @411 + Parent_View @410 + location (839, 853) + quidu "415BDACC00A7" + anchor_loc 1 + nlines 1 + max_width 10 + justify 0 + label "QueueOnOutput(aCommand : RBnepControl*)" + pctDist 0.500000 + height 45 + orientation 1) + line_color 3342489 + client @392 + supplier @385 + Focus_Src @398 + Focus_Entry @387 + origin (1226, 897) + terminus (451, 897) + ordinal 5) + (object InterMessView "" @412 + location (1068, 1008) + label (object SegLabel @413 + Parent_View @412 + location (1054, 964) + quidu "415BDACC0099" + anchor_loc 1 + nlines 1 + max_width 10 + justify 0 + label "InsertControl(aCommand : RBnepControl*)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @385 + supplier @399 + Focus_Src @388 + Focus_Entry @400 + origin (450, 1008) + terminus (1658, 1008) + ordinal 6) + (object InterMessView "" @414 + location (1761, 723) + label (object SegLabel @415 + Parent_View @414 + location (1735, 679) + quidu "415BDACC00A9" + anchor_loc 1 + nlines 1 + max_width 169 + justify 0 + label "InitL( )" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @392 + supplier @401 + Focus_Src @396 + Focus_Entry @402 + origin (1227, 723) + terminus (2243, 723) + ordinal 3) + (object InterMessView "" @416 + location (1761, 819) + label (object SegLabel @417 + Parent_View @416 + location (1735, 775) + quidu "415BDACC00AA" + anchor_loc 1 + nlines 1 + max_width 10 + justify 0 + label "SetUnknownControlType(aUnknownControlType : TUint8)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @392 + supplier @401 + Focus_Src @397 + Focus_Entry @403 + origin (1227, 819) + terminus (2243, 819) + ordinal 4))) + (object InteractionDiagram "Responding to a BNEP Control" + mechanism_ref @139 + quid "415BE0120263" + title "Responding to a BNEP Control" + documentation "From within the Proceed() method, the link calls the SendFrame() method, passing the OutGoing frame as the parameter (1). From within the SendFrame method, the OutGoing frame is instructed to build a BNEP output frame into a RMBufChain (2) which, in this case, triggers a call to the helper function responsible for building a BNEP Control frame (3). Once the RMBufChain is completely populated, it is written out to the Socket Writer (4) for delivery to the remote device." + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object InterObjView "$UNNAMED$31" @418 + location (450, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @418 + location (450, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BE0AD0162" + width 300 + height 606 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @419 + location (450, 378) + line_color 3342489 + InterObjView @418 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @420 + location (450, 378) + line_color 3342489 + InterObjView @418 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @421 + location (450, 507) + line_color 3342489 + InterObjView @418 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @422 + location (450, 741) + line_color 3342489 + InterObjView @418 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "iGoing" @423 + location (963, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @423 + location (963, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "iGoing") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BE0BD033B" + width 300 + height 606 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @424 + location (963, 507) + line_color 3342489 + InterObjView @423 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @425 + location (963, 627) + line_color 3342489 + InterObjView @423 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @426 + location (963, 627) + line_color 3342489 + InterObjView @423 + height 0 + y_coord 0 + Nested TRUE)) + (object InterObjView "$UNNAMED$32" @427 + location (1425, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @427 + location (1425, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 401 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BE17601A7" + width 419 + height 606 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @428 + location (1425, 741) + line_color 3342489 + InterObjView @427 + height 0 + y_coord 0 + Nested FALSE)) + (object SelfMessView "" @429 + location (0, 378) + label (object SegLabel @430 + Parent_View @429 + location (526, 334) + quidu "415BE10700E0" + anchor_loc 1 + nlines 1 + max_width 732 + justify 0 + label "SendFrame(aFrame : RBnepFrame&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @418 + supplier @418 + Focus_Src @419 + Focus_Entry @420 + origin (451, 378) + terminus (601, 378) + ordinal 0) + (object InterMessView "" @431 + location (621, 507) + label (object SegLabel @432 + Parent_View @431 + location (1173, 456) + quidu "415BE1550313" + anchor_loc 1 + nlines 1 + max_width 2119 + justify 0 + label "BuildBnepFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" + pctDist 1.412109 + height 51 + orientation 0) + line_color 3342489 + client @418 + supplier @423 + Focus_Src @421 + Focus_Entry @424 + origin (450, 507) + terminus (962, 507) + ordinal 1) + (object SelfMessView "" @433 + location (3, 627) + label (object SegLabel @434 + Parent_View @433 + location (1039, 583) + quidu "415BE19002D1" + anchor_loc 1 + nlines 1 + max_width 948 + justify 0 + label "BuildBnepControlFrameL(aChain : RMBufChain&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @423 + supplier @423 + Focus_Src @426 + Focus_Entry @425 + origin (964, 627) + terminus (1114, 627) + ordinal 2) + (object InterMessView "" @435 + location (3, 741) + label (object SegLabel @436 + Parent_View @435 + location (937, 697) + quidu "415BE19B02EB" + anchor_loc 1 + nlines 1 + max_width 594 + justify 0 + label "Write(aChain : RMBufChain&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @418 + supplier @427 + Focus_Src @422 + Focus_Entry @428 + origin (450, 741) + terminus (1424, 741) + ordinal 3))) + (object InteractionDiagram "Deliver BNEP Data Packet Locally" + mechanism_ref @140 + quid "415BF95100F4" + title "Deliver BNEP Data Packet Locally" + documentation +|This scenario describes the sequence involved in reading a data packet on a BNEP link and passing it up to the Ethernet stack. +|The socket reader RunL() is invoked as the asynchronous read request completes and the links ReadComplete() method is called to process the packet (1). The link resets the InComing frame to ensure a known start state (2) and parses the frame (3). During the parsing process, the contents of the frame are set to indicate that it contains data (4). +|Having parsed the packet into the InComing frame, the link invokes it's own Proceed() method to deal with the frame contents (5). As the frame is a data frame, it is forwarded to the bridge for processing (6). At this point the bridge will identify the destination as the local device and deliver it for processing (7). The local device will then build the RMBufPacket for output by using the frame's factory helpers (8). Once the RMBufPacket is fully constructed, it is delivered to Ethint.NIF (9) . + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 563 + origin_y 0 + items (list diagram_item_list + (object InterObjView "$UNNAMED$33" @437 + location (450, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @437 + location (450, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 376 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BF99B0367" + width 394 + height 981 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @438 + location (450, 375) + line_color 3342489 + InterObjView @437 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$34" @439 + location (816, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @439 + location (816, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BF9A2024F" + width 300 + height 981 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @440 + location (816, 375) + line_color 3342489 + InterObjView @439 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @441 + location (816, 438) + line_color 3342489 + InterObjView @439 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @442 + location (816, 531) + line_color 3342489 + InterObjView @439 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @443 + location (816, 729) + line_color 3342489 + InterObjView @439 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @444 + location (816, 729) + line_color 3342489 + InterObjView @439 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @445 + location (816, 840) + line_color 3342489 + InterObjView @439 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "iComing" @446 + location (1146, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @446 + location (1146, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "iComing") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BF9D601BD" + width 300 + height 981 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @447 + location (1146, 438) + line_color 3342489 + InterObjView @446 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @448 + location (1146, 531) + line_color 3342489 + InterObjView @446 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @449 + location (1146, 621) + line_color 3342489 + InterObjView @446 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @450 + location (1146, 621) + line_color 3342489 + InterObjView @446 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @451 + location (1146, 1017) + line_color 3342489 + InterObjView @446 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$35" @452 + location (1476, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @452 + location (1476, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BFA8C0396" + width 300 + height 981 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @453 + location (1476, 840) + line_color 3342489 + InterObjView @452 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @454 + location (1476, 927) + line_color 3342489 + InterObjView @452 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$36" @455 + location (1899, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @455 + location (1899, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 482 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BFAB90047" + width 500 + height 981 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @456 + location (1899, 927) + line_color 3342489 + InterObjView @455 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @457 + location (1899, 1017) + line_color 3342489 + InterObjView @455 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @458 + location (1899, 1116) + line_color 3342489 + InterObjView @455 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$37" @459 + location (2331, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @459 + location (2331, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BFB1702C3" + width 300 + height 981 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @460 + location (2331, 1116) + line_color 3342489 + InterObjView @459 + height 0 + y_coord 0 + Nested FALSE)) + (object InterMessView "" @461 + location (630, 375) + label (object SegLabel @462 + Parent_View @461 + location (632, 331) + quidu "415BF9F803BC" + anchor_loc 1 + nlines 1 + max_width 763 + justify 0 + label "ReadComplete(aChain : RMBufChain&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @437 + supplier @439 + Focus_Src @438 + Focus_Entry @440 + origin (450, 375) + terminus (815, 375) + ordinal 0) + (object InterMessView "" @463 + location (3, 438) + label (object SegLabel @464 + Parent_View @463 + location (980, 394) + quidu "415BFA020063" + anchor_loc 1 + nlines 1 + max_width 201 + justify 0 + label "Reset( )" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @439 + supplier @446 + Focus_Src @441 + Focus_Entry @447 + origin (816, 438) + terminus (1145, 438) + ordinal 1) + (object InterMessView "" @465 + location (3, 531) + label (object SegLabel @466 + Parent_View @465 + location (1455, 491) + quidu "415BFA09038D" + anchor_loc 1 + nlines 1 + max_width 2276 + justify 0 + label "ParseBnepFrameL(aInboundChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" + pctDist 1.942249 + height 40 + orientation 0) + line_color 3342489 + client @439 + supplier @446 + Focus_Src @442 + Focus_Entry @448 + origin (816, 531) + terminus (1145, 531) + ordinal 2) + (object SelfMessView "" @467 + location (3, 621) + label (object SegLabel @468 + Parent_View @467 + location (1222, 577) + quidu "415BFA3203BF" + anchor_loc 1 + nlines 1 + max_width 819 + justify 0 + label "SetContents(aContent : TPacketContents)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @446 + supplier @446 + Focus_Src @450 + Focus_Entry @449 + origin (1147, 621) + terminus (1297, 621) + ordinal 3) + (object SelfMessView "" @469 + location (3, 729) + label (object SegLabel @470 + Parent_View @469 + location (892, 685) + quidu "415BFA6D01D0" + anchor_loc 1 + nlines 1 + max_width 244 + justify 0 + label "Proceed( )" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @439 + supplier @439 + Focus_Src @444 + Focus_Entry @443 + origin (817, 729) + terminus (967, 729) + ordinal 4) + (object InterMessView "" @471 + location (1152, 840) + label (object SegLabel @472 + Parent_View @471 + location (1145, 796) + quidu "415BFA93009E" + anchor_loc 1 + nlines 1 + max_width 1363 + justify 0 + label "Process(aPacket : RBnepFrame&, aSourceIfAddr : const TBTDevAddr&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @439 + supplier @452 + Focus_Src @445 + Focus_Entry @453 + origin (816, 840) + terminus (1475, 840) + ordinal 5) + (object InterMessView "" @473 + location (1689, 927) + label (object SegLabel @474 + Parent_View @473 + location (1687, 883) + quidu "415BFAD202E3" + anchor_loc 1 + nlines 1 + max_width 673 + justify 0 + label "Process(aFrame : RBnepFrame&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @452 + supplier @455 + Focus_Src @454 + Focus_Entry @456 + origin (1476, 927) + terminus (1898, 927) + ordinal 6) + (object InterMessView "" @475 + location (3, 1017) + label (object SegLabel @476 + Parent_View @475 + location (1523, 973) + quidu "415BFB020101" + anchor_loc 1 + nlines 1 + max_width 904 + justify 0 + label "BuildEthernetFrameL(aChain : RMBufPacket&)" + pctDist 0.500000 + height 45 + orientation 1) + line_color 3342489 + client @455 + supplier @446 + Focus_Src @457 + Focus_Entry @451 + origin (1898, 1017) + terminus (1147, 1017) + ordinal 7) + (object InterMessView "" @477 + location (2118, 1116) + label (object SegLabel @478 + Parent_View @477 + location (2114, 1072) + quidu "415BFB200032" + anchor_loc 1 + nlines 1 + max_width 510 + justify 0 + label "Process(RMBufPacket&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @455 + supplier @459 + Focus_Src @458 + Focus_Entry @460 + origin (1899, 1116) + terminus (2330, 1116) + ordinal 8))) + (object InteractionDiagram "Deliver BNEP Data Packet to Remote Device" + mechanism_ref @141 + quid "415BFB7100F6" + title "Deliver BNEP Data Packet to Remote Device" + documentation +|This scenario describes the sequence for reading a data packet on one BNEP link and routing it through to either a specified Unicast device or all the available links as a Multicast. The fundamentals of the sequences for both eventualities are the same with one distinction which is documented below. +|The socket reader RunL() is invoked as the asynchronous read request completes and the link's ReadComplete() method is called to process the packet (1). The link resets the InComing frame to ensure a known start state (2) and parses the packet into the frame (3). During the parsing process, the contents of the frame are set to indicate that it contains data (4). +|Having parsed the packet into the InComing frame, the link invokes it's own Proceed() method to deal with the frame contents (5). As the frame is a data frame, it is sent to the bridge for processing (6). At this point the bridge will either select the destination link for the packet (in the case of a Unicast packet) or iterate across all of its extant links (for a Multicast packet) for processing (7). Each valid destination link will receive the frame and will attempt to send it (8,9). +|During a send request, any filters present will be applied appropriately (10). The link will then use the frame helper BuildBnepFrameL to populate a RMBufChain (11,12). Once the RMBufChain is fully constructed, it is written out via the Socket Writer (13). + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 825 + origin_y 175 + items (list diagram_item_list + (object InterObjView "$UNNAMED$38" @479 + location (450, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @479 + location (450, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 357 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BFB9602F8" + width 375 + height 1509 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @480 + location (450, 375) + line_color 3342489 + InterObjView @479 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "source" @481 + location (816, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @481 + location (816, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "source") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BFB9602FB" + width 300 + height 1509 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @482 + location (816, 375) + line_color 3342489 + InterObjView @481 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @483 + location (816, 438) + line_color 3342489 + InterObjView @481 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @484 + location (816, 531) + line_color 3342489 + InterObjView @481 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @485 + location (816, 729) + line_color 3342489 + InterObjView @481 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @486 + location (816, 729) + line_color 3342489 + InterObjView @481 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @487 + location (816, 840) + line_color 3342489 + InterObjView @481 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "iComing" @488 + location (1146, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @488 + location (1146, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "iComing") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BFB960303" + width 300 + height 1509 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @489 + location (1146, 438) + line_color 3342489 + InterObjView @488 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @490 + location (1146, 531) + line_color 3342489 + InterObjView @488 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @491 + location (1146, 621) + line_color 3342489 + InterObjView @488 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @492 + location (1146, 621) + line_color 3342489 + InterObjView @488 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @493 + location (1146, 1419) + line_color 3342489 + InterObjView @488 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @494 + location (1146, 1557) + line_color 3342489 + InterObjView @488 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @495 + location (1146, 1557) + line_color 3342489 + InterObjView @488 + height 0 + y_coord 0 + Nested TRUE)) + (object InterObjView "$UNNAMED$39" @496 + location (1476, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @496 + location (1476, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BFB96030D" + width 300 + height 1509 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @497 + location (1476, 840) + line_color 3342489 + InterObjView @496 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @498 + location (1476, 969) + line_color 3342489 + InterObjView @496 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @499 + location (1476, 969) + line_color 3342489 + InterObjView @496 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @500 + location (1476, 1101) + line_color 3342489 + InterObjView @496 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "dest" @501 + location (1830, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @501 + location (1830, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "dest") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BFB960308" + width 300 + height 1509 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @502 + location (1830, 1101) + line_color 3342489 + InterObjView @501 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @503 + location (1830, 1191) + line_color 3342489 + InterObjView @501 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @504 + location (1830, 1191) + line_color 3342489 + InterObjView @501 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @505 + location (1830, 1308) + line_color 3342489 + InterObjView @501 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @506 + location (1830, 1308) + line_color 3342489 + InterObjView @501 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @507 + location (1830, 1419) + line_color 3342489 + InterObjView @501 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @508 + location (1830, 1644) + line_color 3342489 + InterObjView @501 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$40" @509 + location (2196, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @509 + location (2196, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 350 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415BFF8E0050" + width 368 + height 1509 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @510 + location (2196, 1644) + line_color 3342489 + InterObjView @509 + height 0 + y_coord 0 + Nested FALSE)) + (object InterMessView "" @511 + location (630, 375) + label (object SegLabel @512 + Parent_View @511 + location (632, 331) + quidu "415BFB9602FA" + anchor_loc 1 + nlines 1 + max_width 763 + justify 0 + label "ReadComplete(aChain : RMBufChain&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @479 + supplier @481 + Focus_Src @480 + Focus_Entry @482 + origin (450, 375) + terminus (815, 375) + ordinal 0) + (object SelfMessView "" @513 + location (3, 729) + label (object SegLabel @514 + Parent_View @513 + location (892, 685) + quidu "415BFB960300" + anchor_loc 1 + nlines 1 + max_width 244 + justify 0 + label "Proceed( )" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @481 + supplier @481 + Focus_Src @485 + Focus_Entry @486 + origin (817, 729) + terminus (967, 729) + ordinal 4) + (object InterMessView "" @515 + location (3, 438) + label (object SegLabel @516 + Parent_View @515 + location (980, 394) + quidu "415BFB9602FD" + anchor_loc 1 + nlines 1 + max_width 201 + justify 0 + label "Reset( )" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @481 + supplier @488 + Focus_Src @483 + Focus_Entry @489 + origin (816, 438) + terminus (1145, 438) + ordinal 1) + (object InterMessView "" @517 + location (3, 531) + label (object SegLabel @518 + Parent_View @517 + location (1455, 492) + quidu "415BFB9602FE" + anchor_loc 1 + nlines 1 + max_width 2276 + justify 0 + label "ParseBnepFrameL(aInboundChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" + pctDist 1.942249 + height 40 + orientation 0) + line_color 3342489 + client @481 + supplier @488 + Focus_Src @484 + Focus_Entry @490 + origin (816, 531) + terminus (1145, 531) + ordinal 2) + (object SelfMessView "" @519 + location (3, 621) + label (object SegLabel @520 + Parent_View @519 + location (1222, 577) + quidu "415BFB960305" + anchor_loc 1 + nlines 1 + max_width 819 + justify 0 + label "SetContents(aContent : TPacketContents)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @488 + supplier @488 + Focus_Src @492 + Focus_Entry @491 + origin (1147, 621) + terminus (1297, 621) + ordinal 3) + (object InterMessView "" @521 + location (1152, 840) + label (object SegLabel @522 + Parent_View @521 + location (1145, 796) + quidu "415BFB960302" + anchor_loc 1 + nlines 1 + max_width 1363 + justify 0 + label "Process(aPacket : RBnepFrame&, aSourceIfAddr : const TBTDevAddr&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @481 + supplier @496 + Focus_Src @487 + Focus_Entry @497 + origin (816, 840) + terminus (1475, 840) + ordinal 5) + (object InterMessView "" @523 + location (1689, 1101) + label (object SegLabel @524 + Parent_View @523 + location (1652, 1057) + quidu "415BFB96030B" + anchor_loc 1 + nlines 1 + max_width 673 + justify 0 + label "Process(aFrame : RBnepFrame&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @496 + supplier @501 + Focus_Src @500 + Focus_Entry @502 + origin (1476, 1101) + terminus (1829, 1101) + ordinal 7) + (object SelfMessView "" @525 + location (3, 1191) + label (object SegLabel @526 + Parent_View @525 + location (1906, 1147) + quidu "415BFECD0072" + anchor_loc 1 + nlines 1 + max_width 744 + justify 0 + label "SendFrame(aFrame : RBnepFrame&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @501 + supplier @501 + Focus_Src @504 + Focus_Entry @503 + origin (1831, 1191) + terminus (1981, 1191) + ordinal 8) + (object SelfMessView "" @527 + location (3, 969) + label (object SegLabel @528 + Parent_View @527 + location (1552, 925) + quidu "415BFEE80070" + anchor_loc 1 + nlines 1 + max_width 1119 + justify 0 + label "Identify Unicast Destination Link or Iterate Across All Links" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @496 + supplier @496 + Focus_Src @499 + Focus_Entry @498 + origin (1477, 969) + terminus (1627, 969) + ordinal 6) + (object InterMessView "" @529 + location (1527, 1419) + label (object SegLabel @530 + Parent_View @529 + location (1488, 1375) + quidu "415BFF3F0115" + anchor_loc 1 + nlines 1 + max_width 2141 + justify 0 + label "BuildBnepFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" + pctDist 0.500000 + height 45 + orientation 1) + line_color 3342489 + client @501 + supplier @488 + Focus_Src @507 + Focus_Entry @493 + origin (1829, 1419) + terminus (1147, 1419) + ordinal 10) + (object SelfMessView "" @531 + location (3, 1557) + label (object SegLabel @532 + Parent_View @531 + location (1621, 1501) + quidu "415BFF560367" + anchor_loc 1 + nlines 1 + max_width 2226 + justify 0 + label "BuildBnepDataFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" + pctDist 3.160000 + height 57 + orientation 0) + line_color 3342489 + client @488 + supplier @488 + Focus_Src @495 + Focus_Entry @494 + origin (1147, 1557) + terminus (1297, 1557) + ordinal 11) + (object InterMessView "" @533 + location (2079, 1644) + label (object SegLabel @534 + Parent_View @533 + location (2012, 1600) + quidu "415BFF960020" + anchor_loc 1 + nlines 1 + max_width 616 + justify 0 + label "Write(aChain : RMBufChain&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @501 + supplier @509 + Focus_Src @508 + Focus_Entry @510 + origin (1830, 1644) + terminus (2195, 1644) + ordinal 12) + (object SelfMessView "" @535 + location (3, 1308) + label (object SegLabel @536 + Parent_View @535 + location (1906, 1264) + quidu "415BFFBE03DE" + anchor_loc 1 + nlines 1 + max_width 297 + justify 0 + label "Apply Filters" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @501 + supplier @501 + Focus_Src @506 + Focus_Entry @505 + origin (1831, 1308) + terminus (1981, 1308) + ordinal 9))) + (object InteractionDiagram "Deliver Ethernet Packet into PAN Network" + mechanism_ref @142 + quid "415C0B7B0209" + title "Deliver Ethernet Packet into PAN Network" + documentation +|This scenario describes the sequence delivering an Ethernet packet into the local device and routing it through to either a specified Unicast device or all the available links as a Multicast. The fundamentals of the sequences for both eventualities are the same with one distinction which is documented below. +|Ethint.NIF sends the packet to the local device (1). The local device parse the packet into a RBnepFrame (2). During the parsing process, the contents of the frame are set to indicate that it contains data (3). +|The frame is forwarded to the bridge for processing (4). At this point the bridge will either select the destination link for the packet (in the case of a Unicast packet) or iterate across all of its extant links (for a Multicast packet) for processing (5). A valid destination link will receive the frame for processing and it will attempt to send the frame (6,7). +|During this attempt, any filters present will be applied appropriately (8). The link will then use the frame helper BuildBnepFrameL to populate a RMBufChain (9,10). Once theR MBufChain is fully constructed, it is written out on the Socket Writer (11). + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 319 + origin_y 38 + items (list diagram_item_list + (object InterObjView "$UNNAMED$41" @537 + location (342, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @537 + location (342, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 357 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415C0BAF03DA" + width 375 + height 1509 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @538 + location (342, 375) + line_color 3342489 + InterObjView @537 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView " " @539 + location (786, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @539 + location (786, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 425 + justify 0 + label " ") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415C0BAF03DD" + width 443 + height 1509 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @540 + location (786, 375) + line_color 3342489 + InterObjView @539 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @541 + location (786, 474) + line_color 3342489 + InterObjView @539 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @542 + location (786, 801) + line_color 3342489 + InterObjView @539 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$42" @543 + location (1146, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @543 + location (1146, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415C0BAF03E5" + width 300 + height 1509 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @544 + location (1146, 474) + line_color 3342489 + InterObjView @543 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @545 + location (1146, 621) + line_color 3342489 + InterObjView @543 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @546 + location (1146, 621) + line_color 3342489 + InterObjView @543 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @547 + location (1146, 1419) + line_color 3342489 + InterObjView @543 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @548 + location (1146, 1557) + line_color 3342489 + InterObjView @543 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @549 + location (1146, 1557) + line_color 3342489 + InterObjView @543 + height 0 + y_coord 0 + Nested TRUE)) + (object InterObjView "$UNNAMED$43" @550 + location (1476, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @550 + location (1476, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415C0BAF03F3" + width 300 + height 1509 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @551 + location (1476, 801) + line_color 3342489 + InterObjView @550 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @552 + location (1476, 915) + line_color 3342489 + InterObjView @550 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @553 + location (1476, 915) + line_color 3342489 + InterObjView @550 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @554 + location (1476, 1074) + line_color 3342489 + InterObjView @550 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "dest" @555 + location (1830, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @555 + location (1830, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 282 + justify 0 + label "dest") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415C0BAF03EB" + width 300 + height 1509 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @556 + location (1830, 1074) + line_color 3342489 + InterObjView @555 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @557 + location (1830, 1191) + line_color 3342489 + InterObjView @555 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @558 + location (1830, 1191) + line_color 3342489 + InterObjView @555 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @559 + location (1830, 1308) + line_color 3342489 + InterObjView @555 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @560 + location (1830, 1308) + line_color 3342489 + InterObjView @555 + height 0 + y_coord 0 + Nested TRUE) + Focus_Of_Control (object Focus_Of_Control "" @561 + location (1830, 1419) + line_color 3342489 + InterObjView @555 + height 0 + y_coord 0 + Nested FALSE) + Focus_Of_Control (object Focus_Of_Control "" @562 + location (1830, 1644) + line_color 3342489 + InterObjView @555 + height 0 + y_coord 0 + Nested FALSE)) + (object InterObjView "$UNNAMED$44" @563 + location (2196, 225) + font (object Font + underline TRUE) + label (object ItemLabel + Parent_View @563 + location (2196, 225) + fill_color 13434879 + anchor_loc 1 + nlines 2 + max_width 350 + justify 0 + label "") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "415C0BAF03F6" + width 368 + height 1509 + icon_height 0 + icon_width 0 + icon_y_offset 0 + annotation 1 + Focus_Of_Control (object Focus_Of_Control "" @564 + location (2196, 1644) + line_color 3342489 + InterObjView @563 + height 0 + y_coord 0 + Nested FALSE)) + (object InterMessView "" @565 + location (630, 375) + label (object SegLabel @566 + Parent_View @565 + location (563, 331) + quidu "415C0BAF03DC" + anchor_loc 1 + nlines 1 + max_width 551 + justify 0 + label "Send(aPkt : RMBufChain&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @537 + supplier @539 + Focus_Src @538 + Focus_Entry @540 + origin (342, 375) + terminus (785, 375) + ordinal 0) + (object InterMessView "" @567 + location (969, 474) + label (object SegLabel @568 + Parent_View @567 + location (1057, 438) + quidu "415C0BAF03E0" + anchor_loc 1 + nlines 1 + max_width 907 + justify 0 + label "ParseEthernetFrameL(aFrame : RMBufChain&)" + pctDist 0.757660 + height 37 + orientation 0) + line_color 3342489 + client @539 + supplier @543 + Focus_Src @541 + Focus_Entry @544 + origin (786, 474) + terminus (1145, 474) + ordinal 1) + (object SelfMessView "" @569 + location (3, 621) + label (object SegLabel @570 + Parent_View @569 + location (1222, 577) + quidu "415C0BAF03E7" + anchor_loc 1 + nlines 1 + max_width 819 + justify 0 + label "SetContents(aContent : TPacketContents)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @543 + supplier @543 + Focus_Src @546 + Focus_Entry @545 + origin (1147, 621) + terminus (1297, 621) + ordinal 2) + (object SelfMessView "" @571 + location (3, 1557) + label (object SegLabel @572 + Parent_View @571 + location (1621, 1501) + quidu "415C0BAF03E8" + anchor_loc 1 + nlines 1 + max_width 2226 + justify 0 + label "BuildBnepDataFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" + pctDist 3.160000 + height 57 + orientation 0) + line_color 3342489 + client @543 + supplier @543 + Focus_Src @549 + Focus_Entry @548 + origin (1147, 1557) + terminus (1297, 1557) + ordinal 9) + (object InterMessView "" @573 + location (1137, 801) + label (object SegLabel @574 + Parent_View @573 + location (1130, 757) + quidu "415C0BAF03E4" + anchor_loc 1 + nlines 1 + max_width 1363 + justify 0 + label "Process(aPacket : RBnepFrame&, aSourceIfAddr : const TBTDevAddr&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @539 + supplier @550 + Focus_Src @542 + Focus_Entry @551 + origin (786, 801) + terminus (1475, 801) + ordinal 3) + (object SelfMessView "" @575 + location (3, 915) + label (object SegLabel @576 + Parent_View @575 + location (1552, 871) + quidu "415C0BAF03F5" + anchor_loc 1 + nlines 1 + max_width 1119 + justify 0 + label "Identify Unicast Destination Link or Iterate Across All Links" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @550 + supplier @550 + Focus_Src @553 + Focus_Entry @552 + origin (1477, 915) + terminus (1627, 915) + ordinal 4) + (object InterMessView "" @577 + location (1653, 1074) + label (object SegLabel @578 + Parent_View @577 + location (1652, 1030) + quidu "415C0BAF03F1" + anchor_loc 1 + nlines 1 + max_width 673 + justify 0 + label "Process(aFrame : RBnepFrame&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @550 + supplier @555 + Focus_Src @554 + Focus_Entry @556 + origin (1476, 1074) + terminus (1829, 1074) + ordinal 5) + (object SelfMessView "" @579 + location (3, 1191) + label (object SegLabel @580 + Parent_View @579 + location (1906, 1147) + quidu "415C0BAF03ED" + anchor_loc 1 + nlines 1 + max_width 744 + justify 0 + label "SendFrame(aFrame : RBnepFrame&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @555 + supplier @555 + Focus_Src @558 + Focus_Entry @557 + origin (1831, 1191) + terminus (1981, 1191) + ordinal 6) + (object InterMessView "" @581 + location (1527, 1419) + label (object SegLabel @582 + Parent_View @581 + location (1488, 1375) + quidu "415C0BAF03E9" + anchor_loc 1 + nlines 1 + max_width 2141 + justify 0 + label "BuildBnepFrameL(aChain : RMBufChain&, aLocalAddr : const TBTDevAddr&, aRemoteAddr : const TBTDevAddr&)" + pctDist 0.500000 + height 45 + orientation 1) + line_color 3342489 + client @555 + supplier @543 + Focus_Src @561 + Focus_Entry @547 + origin (1829, 1419) + terminus (1147, 1419) + ordinal 8) + (object SelfMessView "" @583 + location (3, 1308) + label (object SegLabel @584 + Parent_View @583 + location (1906, 1264) + quidu "415C0BAF03EE" + anchor_loc 1 + nlines 1 + max_width 297 + justify 0 + label "Apply Filters" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @555 + supplier @555 + Focus_Src @560 + Focus_Entry @559 + origin (1831, 1308) + terminus (1981, 1308) + ordinal 7) + (object InterMessView "" @585 + location (2079, 1644) + label (object SegLabel @586 + Parent_View @585 + location (2012, 1600) + quidu "415C0BAF03F0" + anchor_loc 1 + nlines 1 + max_width 616 + justify 0 + label "Write(aChain : RMBufChain&)" + pctDist 0.500000 + height 45 + orientation 0) + line_color 3342489 + client @555 + supplier @563 + Focus_Src @562 + Focus_Entry @564 + origin (1830, 1644) + terminus (2195, 1644) + ordinal 10))))) + (object Class_Category "BNEP Packet Driver Classes" + quid "4141944900E0" + documentation "What follows is a set of diagrammatic and textual descriptions of the classes developed for BNEP. " + exportControl "Public" + logical_models (list unit_reference_list) + logical_presentations (list unit_reference_list + (object ClassDiagram "BnepUtils" + quid "4140629601F4" + title "BnepUtils" + documentation +|BnepUtils is a catch-all class for colocating a set of what would otherwise be unencapsulated functions. +|BnepUtils provides two global services, implemented as static methods. +|The first is concerned with acquiring and allocating thread-local storage. The method is primarily of interest in UDEB builds since only the logging system uses TLS in this driver. +|The second method is a simple test to determine whether a Bluetooth address is set for multicast address or not. + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::BnepUtils" @587 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (492, 648) + label (object ItemLabel + Parent_View @587 + location (388, 598) + fill_color 13434879 + nlines 1 + max_width 208 + justify 0 + label "BnepUtils") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B2D3013F" + width 226 + height 124 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Epoc32::TInt" @588 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (174, 1197) + label (object ItemLabel + Parent_View @588 + location (93, 1151) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "TInt") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C059E301D2" + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CBnepLog" @589 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (492, 1197) + label (object ItemLabel + Parent_View @589 + location (376, 1151) + fill_color 13434879 + nlines 1 + max_width 232 + justify 0 + label "CBnepLog") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B5A9014D" + width 250 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::TBnepTls" @590 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (834, 1197) + label (object ItemLabel + Parent_View @590 + location (733, 1151) + fill_color 13434879 + nlines 1 + max_width 202 + justify 0 + label "TBnepTls") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B5000031" + width 220 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTDevAddr" @591 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (735, 1359) + label (object ItemLabel + Parent_View @591 + location (607, 1313) + fill_color 13434879 + nlines 1 + max_width 256 + justify 0 + label "TBTDevAddr") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C05A14029A" + width 274 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepFrame" @592 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (495, 243) + label (object ItemLabel + Parent_View @592 + location (362, 197) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "RBnepFrame") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049510377" + width 284 + height 117 + autoResize TRUE) + (object UsesView "" @593 + stereotype TRUE + line_color 3342489 + quidu "40CD9C1D014E" + client @592 + supplier @587 + line_style 0) + (object UsesView "" @594 + stereotype TRUE + line_color 3342489 + quidu "40D2D6BD0288" + client @587 + supplier @588 + line_style 0) + (object UsesView "" @595 + stereotype TRUE + line_color 3342489 + quidu "40DAE9A60366" + client @587 + supplier @589 + vertices (list Points + (510, 710) + (565, 891) + (505, 1138)) + line_style 0) + (object UsesView "" @596 + stereotype TRUE + line_color 3342489 + quidu "40DAEA110233" + client @587 + supplier @590 + line_style 0) + (object UsesView "" @597 + stereotype TRUE + line_color 3342489 + quidu "414059170221" + client @587 + supplier @591 + line_style 0) + (object UsesView "" @598 + stereotype TRUE + line_color 3342489 + quidu "40DAEA8103BB" + client @589 + supplier @587 + vertices (list Points + (479, 1138) + (434, 891) + (476, 710)) + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Epoc32::TBool" @599 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (888, 954) + label (object ItemLabel + Parent_View @599 + location (807, 908) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "TBool") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C060B001DF" + height 117 + autoResize TRUE) + (object UsesView "" @600 + stereotype TRUE + line_color 3342489 + quidu "416E76C202F1" + client @587 + supplier @599 + line_style 0))) + (object ClassDiagram "CBnepChannelController" + quid "4140684F0056" + title "CBnepChannelController" + documentation +|CBnepChannelController objects are closely and mutually coupled to CBnepLinks. The external entity (e.g. PAN Agent) obtains a pointer to a CBnepChannelController object for every CBnepLink that is successfully created and attached into CBnepBridge. It is through the two BnepRole methods that the PAN Agent makes synchronous calls into CBnepChannelController. The PAN Agent can also Close() the channel, effectively tearing down the link, at any time. This the normal way links are expected to be deleted. +|CBnepChannelController is also responsible for executing controls that come in from a remote device on it's peer link. It has a set of private handling methods, one for each possible type of incoming control message and a catch-all for any controls unknown to it. Controls, once parsed, are passed directly from the link into it's channel controller for processing. The controller is responsible for constructing and queueing the responses in preparation for transmission back to the remote device. +|Notice that the Channel Controller is also a Link Manager, which confuses understanding, since we also find that CBnepBridge is a Connection Manager. + + zoom 75 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::CBnepChannelController" @601 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1254, 840) + label (object ItemLabel + Parent_View @601 + location (953, 791) + fill_color 13434879 + nlines 1 + max_width 602 + justify 0 + label "CBnepChannelController") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0512A0181" + width 620 + height 122 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Epoc32::CBase" @602 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (897, 126) + label (object ItemLabel + Parent_View @602 + location (801, 80) + fill_color 13434879 + nlines 1 + max_width 192 + justify 0 + label "CBase") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C052FD00B0" + width 210 + height 117 + autoResize TRUE) + (object InheritView "" @603 + stereotype TRUE + line_color 3342489 + quidu "410DFEC602F1" + client @601 + supplier @602 + line_style 0) + (object ClassView "Class" "Logical View::MBnepChannelControl" @604 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1248, 126) + label (object ItemLabel + Parent_View @604 + location (972, 80) + fill_color 13434879 + nlines 1 + max_width 552 + justify 0 + label "MBnepChannelControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0513D0066" + width 570 + height 117 + autoResize TRUE) + (object InheritView "" @605 + stereotype TRUE + line_color 3342489 + quidu "410DFECB0027" + client @601 + supplier @604 + line_style 0) + (object ClassView "Class" "Logical View::MLinkManager" @606 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1656, 126) + label (object ItemLabel + Parent_View @606 + location (1466, 80) + fill_color 13434879 + nlines 1 + max_width 380 + justify 0 + label "MLinkManager") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C050FF0107" + width 398 + height 117 + autoResize TRUE) + (object InheritView "" @607 + stereotype TRUE + line_color 3342489 + quidu "410DFECE01D0" + client @601 + supplier @606 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Epoc32::TBool" @608 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1974, 1917) + label (object ItemLabel + Parent_View @608 + location (1886, 1871) + fill_color 13434879 + nlines 1 + max_width 176 + justify 0 + label "TBool") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C060B001DF" + width 194 + height 117 + autoResize TRUE) + (object HasView "SetupInProgress" @609 + label (object ItemLabel + Parent_View @609 + location (1614, 1379) + anchor_loc 1 + nlines 1 + max_width 306 + justify 0 + label "SetupInProgress") + stereotype TRUE + line_color 3342489 + quidu "40C578F90049" + client @601 + supplier @608 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLink" @610 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2196, 1671) + label (object ItemLabel + Parent_View @610 + location (2052, 1625) + fill_color 13434879 + nlines 1 + max_width 288 + justify 0 + label "CBnepLink") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0510D0175" + width 306 + height 117 + autoResize TRUE) + (object HasView "Link" @611 + label (object ItemLabel + Parent_View @611 + location (1727, 1257) + anchor_loc 1 + nlines 1 + max_width 79 + justify 0 + label "Link") + stereotype TRUE + line_color 3342489 + quidu "40C579450305" + client @601 + supplier @610 + line_style 0) + (object ClassView "Class" "Logical View::MPanConnectionNotify" @612 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1596, 2094) + label (object ItemLabel + Parent_View @612 + location (1316, 2048) + fill_color 13434879 + nlines 1 + max_width 560 + justify 0 + label "MPanConnectionNotify") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0607803DD" + width 578 + height 117 + autoResize TRUE) + (object UsesView "" @613 + stereotype TRUE + line_color 3342489 + quidu "40C57A5D03B2" + client @601 + supplier @612 + line_style 0) + (object ClassView "Class" "Logical View::CBnepBridge" @614 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (231, 1626) + label (object ItemLabel + Parent_View @614 + location (59, 1580) + fill_color 13434879 + nlines 1 + max_width 344 + justify 0 + label "CBnepBridge") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049600007" + width 362 + height 117 + autoResize TRUE) + (object UsesView "" @615 + stereotype TRUE + line_color 3342489 + quidu "40C57A9A025B" + client @601 + supplier @614 + line_style 0) + (object UsesView "" @616 + stereotype TRUE + line_color 3342489 + quidu "40C97A9A01D2" + client @614 + supplier @601 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Comms-infras::RInternalSocket" @617 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1551, 2250) + label (object ItemLabel + Parent_View @617 + location (1351, 2204) + fill_color 13434879 + nlines 1 + max_width 400 + justify 0 + label "RInternalSocket") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C46FE80331" + width 418 + height 117 + autoResize TRUE) + (object UsesView "" @618 + stereotype TRUE + line_color 3342489 + quidu "40C57ACF00E5" + client @601 + supplier @617 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Networking::TBluetoothPanRole" @619 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1680, 2001) + label (object ItemLabel + Parent_View @619 + location (1439, 1955) + fill_color 13434879 + nlines 1 + max_width 482 + justify 0 + label "TBluetoothPanRole") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C06019037D" + width 500 + height 117 + autoResize TRUE) + (object UsesView "" @620 + stereotype TRUE + line_color 3342489 + quidu "40C583270118" + client @601 + supplier @619 + line_style 0) + (object ClassView "Class" "Logical View::RBnepSetupConnectionResponseControl" @621 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (687, 2739) + label (object ItemLabel + Parent_View @621 + location (199, 2693) + fill_color 13434879 + nlines 1 + max_width 976 + justify 0 + label "RBnepSetupConnectionResponseControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C050B10245" + width 994 + height 117 + autoResize TRUE) + (object UsesView "" @622 + stereotype TRUE + line_color 3342489 + quidu "40C583560256" + client @601 + supplier @621 + line_style 0) + (object ClassView "Class" "Logical View::RBnepSetupConnectionRequestControl" @623 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (657, 2595) + label (object ItemLabel + Parent_View @623 + location (190, 2549) + fill_color 13434879 + nlines 1 + max_width 934 + justify 0 + label "RBnepSetupConnectionRequestControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C04FE6035B" + width 952 + height 117 + autoResize TRUE) + (object UsesView "" @624 + stereotype TRUE + line_color 3342489 + quidu "40C58359020A" + client @601 + supplier @623 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLog" @625 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (972, 2433) + label (object ItemLabel + Parent_View @625 + location (833, 2387) + fill_color 13434879 + nlines 1 + max_width 278 + justify 0 + label "CBnepLog") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B5A9014D" + width 296 + height 117 + autoResize TRUE) + (object UsesView "" @626 + stereotype TRUE + line_color 3342489 + quidu "40C867E90133" + client @601 + supplier @625 + line_style 0) + (object ClassView "Class" "Logical View::BnepUtils" @627 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1638, 1770) + label (object ItemLabel + Parent_View @627 + location (1504, 1724) + fill_color 13434879 + nlines 1 + max_width 268 + justify 0 + label "BnepUtils") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B2D3013F" + width 286 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepFilterNetTypeSetRequestControl" @628 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (654, 2433) + label (object ItemLabel + Parent_View @628 + location (189, 2387) + fill_color 13434879 + nlines 1 + max_width 930 + justify 0 + label "RBnepFilterNetTypeSetRequestControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68AE302E2" + width 948 + height 117 + autoResize TRUE) + (object UsesView "" @629 + stereotype TRUE + line_color 3342489 + quidu "40F69451036F" + client @601 + supplier @628 + line_style 0) + (object ClassView "Class" "Logical View::RBnepFilterNetTypeResponseControl" @630 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (630, 2265) + label (object ItemLabel + Parent_View @630 + location (181, 2219) + fill_color 13434879 + nlines 1 + max_width 898 + justify 0 + label "RBnepFilterNetTypeResponseControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68B03028E" + width 916 + height 117 + autoResize TRUE) + (object UsesView "" @631 + stereotype TRUE + line_color 3342489 + quidu "40F69454012F" + client @601 + supplier @630 + line_style 0) + (object ClassView "Class" "Logical View::RBnepFilterMultiAddrSetRequestControl" @632 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (672, 2100) + label (object ItemLabel + Parent_View @632 + location (195, 2054) + fill_color 13434879 + nlines 1 + max_width 954 + justify 0 + label "RBnepFilterMultiAddrSetRequestControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68B20014F" + width 972 + height 117 + autoResize TRUE) + (object UsesView "" @633 + stereotype TRUE + line_color 3342489 + quidu "40F694560236" + client @601 + supplier @632 + line_style 0) + (object ClassView "Class" "Logical View::RBnepFilterMultiAddrResponseControl" @634 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (648, 1935) + label (object ItemLabel + Parent_View @634 + location (186, 1889) + fill_color 13434879 + nlines 1 + max_width 924 + justify 0 + label "RBnepFilterMultiAddrResponseControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68B66004C" + width 942 + height 117 + autoResize TRUE) + (object UsesView "" @635 + stereotype TRUE + line_color 3342489 + quidu "40F69458037A" + client @601 + supplier @634 + line_style 0) + (object ClassView "Class" "Logical View::RBnepNotUnderstoodResponseControl" @636 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (657, 1770) + label (object ItemLabel + Parent_View @636 + location (190, 1724) + fill_color 13434879 + nlines 1 + max_width 934 + justify 0 + label "RBnepNotUnderstoodResponseControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "410509070129" + width 952 + height 117 + autoResize TRUE) + (object UsesView "" @637 + stereotype TRUE + line_color 3342489 + quidu "41050A820084" + client @601 + supplier @636 + line_style 0) + (object ClassView "Class" "Logical View::TBnepControlType" @638 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1068, 1770) + label (object ItemLabel + Parent_View @638 + location (836, 1724) + fill_color 13434879 + nlines 1 + max_width 464 + justify 0 + label "TBnepControlType") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C06127015E" + width 482 + height 117 + autoResize TRUE) + (object UsesView "" @639 + stereotype TRUE + line_color 3342489 + quidu "4123479D03CD" + client @601 + supplier @638 + line_style 0) + (object ClassView "Class" "Logical View::CMultiAddrFilterTable" @640 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1071, 2265) + label (object ItemLabel + Parent_View @640 + location (805, 2219) + fill_color 13434879 + nlines 1 + max_width 532 + justify 0 + label "CMultiAddrFilterTable") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "412478830308" + width 550 + height 117 + autoResize TRUE) + (object UsesView "" @641 + stereotype TRUE + line_color 3342489 + quidu "4124B5250357" + client @601 + supplier @640 + line_style 0) + (object ClassView "Class" "Logical View::CNetTypeFilterTable" @642 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1056, 2094) + label (object ItemLabel + Parent_View @642 + location (803, 2048) + fill_color 13434879 + nlines 1 + max_width 506 + justify 0 + label "CNetTypeFilterTable") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "412478A20031" + width 524 + height 117 + autoResize TRUE) + (object UsesView "" @643 + stereotype TRUE + line_color 3342489 + quidu "4124B5290227" + client @601 + supplier @642 + line_style 0) + (object UsesView "" @644 + stereotype TRUE + line_color 3342489 + quidu "416FBA7B01AD" + client @601 + supplier @627 + line_style 0))) + (object ClassDiagram "CBnepBridge" + quid "41406647035C" + title "CBnepBridge" + documentation +|CBnepBridge is a container for MPanDevice-derived objects (i.e. CBnepLinks). Except that it does not own the device references it contains, which makes it slightly more confusing, because removing a device from the bridge ends up being a much circuitous endeavour than merely deleting it. +|Additionally, the bridge is responsible for routing packets to specific device addresses, groups of addresses or applying top-level filtering (e.g. ensuring that packets are not redistributed to their originators). Furthermore, the bridge has embedded in it's Process() method certain assumptions about PAN Profile roles and what it's role is likely to be in the event that it has no direct path to a unicast destination. +|In the implementation, CBnepBridge is a child of MPanDeviceOwner and a grandchild of MBnepConnectionManager, which suggests that there is a category error in the analysis; there exists too much ambiguity between the concept of a PAN Device Owner and a BNEP Connection Manager. +|In this implementation, CBnepBridge manages an array of MPanDevice references. The array length is constrained by the requirements of the BNEP specification which determines that any one device can connect to a maximum of 7 (seven) others. However, this implementation also reserves space for the local device as a special case of MPanDevice and, in fact, CBnepBridge cannot be constructed without a local device. Therefore the internal managed array of devices is actually 8 (eight) since it also includes the local device. +|It is important to note that the local device is stored at the element specified by KLocalDeviceArrayId. For the earliest implementation this was set to 0 (zero), but this was then assumed in later code. Maintainers should never assume that the device at index zero is guaranteed to be the local device for all time. Defective code that did assume this has been repaired and it is now legitimate to set KLocalDeviceArrayId to be equal to any value between 0 to (KMaxPanConnections-1) and there is a performance argument to suggest the later bound could be preferable under certain situations. +|External entities (e.g. PAN Agent) construct new connections in the bridge using NewBnepConnectionL(). If successful, the entity should obtain a handle to the channel controller for the newly created link. + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::CBnepBridge" @645 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1161, 807) + label (object ItemLabel + Parent_View @645 + location (1028, 757) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "CBnepBridge") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049600007" + width 284 + height 124 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Epoc32::CBase" @646 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (666, 126) + label (object ItemLabel + Parent_View @646 + location (585, 80) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "CBase") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C052FD00B0" + height 117 + autoResize TRUE) + (object InheritView "" @647 + stereotype TRUE + line_color 3342489 + quidu "40C05A890248" + client @645 + supplier @646 + line_style 0) + (object ClassView "Class" "Logical View::MPanDeviceOwner" @648 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1161, 126) + label (object ItemLabel + Parent_View @648 + location (970, 80) + fill_color 13434879 + nlines 1 + max_width 382 + justify 0 + label "MPanDeviceOwner") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0497600BD" + width 400 + height 117 + autoResize TRUE) + (object InheritView "" @649 + stereotype TRUE + line_color 3342489 + quidu "40C05A93018F" + client @645 + supplier @648 + line_style 0) + (object ClassView "InstantiatedClass" "Logical View::( TFixedArray < MPanDevice*, KMaxPanConnections > )" @650 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1161, 1833) + label (object ItemLabel + Parent_View @650 + location (631, 1787) + fill_color 13434879 + nlines 1 + max_width 1060 + justify 0 + label "( TFixedArray < MPanDevice*, KMaxPanConnections > )") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C440B501D8" + width 1078 + height 117 + autoResize TRUE) + (object HasView "Links" @651 + label (object ItemLabel + Parent_View @651 + location (1161, 1321) + anchor_loc 1 + nlines 1 + max_width 107 + justify 0 + label "Links") + stereotype TRUE + line_color 3342489 + quidu "40C44171025A" + client @645 + supplier @650 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTDevAddr" @652 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (348, 1548) + label (object ItemLabel + Parent_View @652 + location (220, 1502) + fill_color 13434879 + nlines 1 + max_width 256 + justify 0 + label "TBTDevAddr") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C05A14029A" + width 274 + height 117 + autoResize TRUE) + (object UsesView "" @653 + stereotype TRUE + line_color 3342489 + quidu "40C7194D022F" + client @645 + supplier @652 + line_style 0) + (object ClassView "Class" "Logical View::RBnepFrame" @654 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (240, 1320) + label (object ItemLabel + Parent_View @654 + location (107, 1274) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "RBnepFrame") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049510377" + width 284 + height 117 + autoResize TRUE) + (object UsesView "" @655 + stereotype TRUE + line_color 3342489 + quidu "40C7196D01B3" + client @645 + supplier @654 + line_style 0) + (object ClassView "Class" "Logical View::MBnepChannelControl" @656 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (330, 1836) + label (object ItemLabel + Parent_View @656 + location (109, 1790) + fill_color 13434879 + nlines 1 + max_width 442 + justify 0 + label "MBnepChannelControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0513D0066" + width 460 + height 117 + autoResize TRUE) + (object UsesView "" @657 + stereotype TRUE + line_color 3342489 + quidu "40C719C10290" + client @645 + supplier @656 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Comms-infras::RInternalSocket" @658 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (876, 1548) + label (object ItemLabel + Parent_View @658 + location (715, 1502) + fill_color 13434879 + nlines 1 + max_width 322 + justify 0 + label "RInternalSocket") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C46FE80331" + width 340 + height 117 + autoResize TRUE) + (object UsesView "" @659 + stereotype TRUE + line_color 3342489 + quidu "40C71A220376" + client @645 + supplier @658 + line_style 0) + (object ClassView "Class" "Logical View::MPanConnectionNotify" @660 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1467, 1551) + label (object ItemLabel + Parent_View @660 + location (1243, 1505) + fill_color 13434879 + nlines 1 + max_width 448 + justify 0 + label "MPanConnectionNotify") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0607803DD" + width 466 + height 117 + autoResize TRUE) + (object UsesView "" @661 + stereotype TRUE + line_color 3342489 + quidu "40C71A440072" + client @645 + supplier @660 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLog" @662 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1905, 267) + label (object ItemLabel + Parent_View @662 + location (1789, 221) + fill_color 13434879 + nlines 1 + max_width 232 + justify 0 + label "CBnepLog") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B5A9014D" + width 250 + height 117 + autoResize TRUE) + (object UsesView "" @663 + stereotype TRUE + line_color 3342489 + quidu "40C868330193" + client @645 + supplier @662 + line_style 0) + (object ClassView "Class" "Logical View::BnepUtils" @664 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2115, 1305) + label (object ItemLabel + Parent_View @664 + location (2011, 1259) + fill_color 13434879 + nlines 1 + max_width 208 + justify 0 + label "BnepUtils") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B2D3013F" + width 226 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CBnepChannelController" @665 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2028, 1830) + label (object ItemLabel + Parent_View @665 + location (1789, 1784) + fill_color 13434879 + nlines 1 + max_width 478 + justify 0 + label "CBnepChannelController") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0512A0181" + width 496 + height 117 + autoResize TRUE) + (object UsesView "" @666 + stereotype TRUE + line_color 3342489 + quidu "40C97A9A01D2" + client @645 + supplier @665 + line_style 0) + (object UsesView "" @667 + stereotype TRUE + line_color 3342489 + quidu "40C57A9A025B" + client @665 + supplier @645 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::inc::TIeee802Addr" @668 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (510, 267) + label (object ItemLabel + Parent_View @668 + location (366, 221) + fill_color 13434879 + nlines 1 + max_width 288 + justify 0 + label "TIeee802Addr") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5BC280234" + width 306 + height 117 + autoResize TRUE) + (object UsesView "" @669 + stereotype TRUE + line_color 3342489 + quidu "40F6403200A8" + client @645 + supplier @668 + line_style 0) + (object ClassView "Class" "Logical View::MPanDevice" @670 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2067, 1548) + label (object ItemLabel + Parent_View @670 + location (1938, 1502) + fill_color 13434879 + nlines 1 + max_width 258 + justify 0 + label "MPanDevice") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049CB02DC" + width 276 + height 117 + autoResize TRUE) + (object UsesView "" @671 + stereotype TRUE + line_color 3342489 + quidu "4108F9FD02A7" + client @645 + supplier @670 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLocalDevice" @672 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1674, 126) + label (object ItemLabel + Parent_View @672 + location (1490, 80) + fill_color 13434879 + nlines 1 + max_width 368 + justify 0 + label "CBnepLocalDevice") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049420180" + width 386 + height 117 + autoResize TRUE) + (object UsesView "" @673 + stereotype TRUE + line_color 3342489 + quidu "4108F40700A4" + client @672 + supplier @645 + line_style 0) + (object UsesView "" @674 + stereotype TRUE + line_color 3342489 + quidu "41766D9A03E1" + client @645 + supplier @664 + line_style 0))) + (object ClassDiagram "CBnepLink" + quid "414194C203E7" + title "CBnepLink" + documentation +|A CBnepLink exists for every connection that is made between BNEP and a remote device. The link serves as the driver, or engine, for processing packets in both directions. The link is responsible for the ownership of the socket it is passed during construction. As part of the construction process, the link will use the socket to create two active objects (CSocketReader and CSocketWriter) to seperately implement asynchronous input and output operations. It is responsible for initiating the parsing mechanisms in the RBnepFrame dedicated to input processing, the results of which are then executed through the link's associated channel controller such that BNEP controls can be honoured. The link is then responsible for initiating the marshalling activities of the output-dedicated RBnepFrame prior to transmission. +|All packet filtering is implemented in the link, which can respond to requests from remote devices to implement multicast address and/or network protocol type filtering such that Bluetooth bandwidth can be conserved. However, since this version of BNEP cannot emit filter requests because the higher-layer support mechanisms do not exist, a piconet can only make use of this facility on links where the far end is both something other than a Symbian device and capable of emitting filter requests. + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::CBnepLink" @675 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1080, 1098) + label (object ItemLabel + Parent_View @675 + location (107, 467) + fill_color 13434879 + nlines 1 + max_width 1946 + justify 0 + label "CBnepLink") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0510D0175" + width 1964 + height 1286 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Epoc32::CBase" @676 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (795, 126) + label (object ItemLabel + Parent_View @676 + location (714, 80) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "CBase") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C052FD00B0" + height 117 + autoResize TRUE) + (object InheritView "" @677 + stereotype TRUE + line_color 3342489 + quidu "40C6E1360040" + client @675 + supplier @676 + line_style 0) + (object ClassView "Class" "Logical View::MPanDevice" @678 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1080, 126) + label (object ItemLabel + Parent_View @678 + location (951, 80) + fill_color 13434879 + nlines 1 + max_width 258 + justify 0 + label "MPanDevice") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049CB02DC" + width 276 + height 117 + autoResize TRUE) + (object InheritView "" @679 + stereotype TRUE + line_color 3342489 + quidu "40C6E14801CD" + client @675 + supplier @678 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Comms-infras::RInternalSocket" @680 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1923, 2067) + label (object ItemLabel + Parent_View @680 + location (1762, 2021) + fill_color 13434879 + nlines 1 + max_width 322 + justify 0 + label "RInternalSocket") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C46FE80331" + width 340 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CSocketReader" @681 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (243, 2352) + label (object ItemLabel + Parent_View @681 + location (86, 2306) + fill_color 13434879 + nlines 1 + max_width 314 + justify 0 + label "CSocketReader") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0652B0094" + width 332 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CSocketWriter" @682 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (624, 2352) + label (object ItemLabel + Parent_View @682 + location (474, 2306) + fill_color 13434879 + nlines 1 + max_width 300 + justify 0 + label "CSocketWriter") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0651F0155" + width 318 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CMultiAddrFilterTable" @683 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1422, 2121) + label (object ItemLabel + Parent_View @683 + location (1215, 2075) + fill_color 13434879 + nlines 1 + max_width 414 + justify 0 + label "CMultiAddrFilterTable") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "412478830308" + width 432 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CNetTypeFilterTable" @684 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1779, 2256) + label (object ItemLabel + Parent_View @684 + location (1582, 2210) + fill_color 13434879 + nlines 1 + max_width 394 + justify 0 + label "CNetTypeFilterTable") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "412478A20031" + width 412 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepFrame" @685 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1080, 2352) + label (object ItemLabel + Parent_View @685 + location (947, 2306) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "RBnepFrame") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049510377" + width 284 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CBnepChannelController" @686 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (414, 126) + label (object ItemLabel + Parent_View @686 + location (175, 80) + fill_color 13434879 + nlines 1 + max_width 478 + justify 0 + label "CBnepChannelController") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0512A0181" + width 496 + height 117 + autoResize TRUE) + (object HasView "Link" @687 + label (object ItemLabel + Parent_View @687 + location (545, 318) + anchor_loc 1 + nlines 1 + max_width 79 + justify 0 + label "Link") + stereotype TRUE + line_color 3342489 + quidu "40C579450305" + client @686 + supplier @675 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTSockAddr" @688 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1671, 255) + label (object ItemLabel + Parent_View @688 + location (1527, 209) + fill_color 13434879 + nlines 1 + max_width 288 + justify 0 + label "TBTSockAddr") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F65CE8003D" + width 306 + height 117 + autoResize TRUE) + (object UsesView "" @689 + stereotype TRUE + line_color 3342489 + quidu "40F65CFF0068" + client @675 + supplier @688 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Epoc32::TInt64" @690 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1941, 252) + label (object ItemLabel + Parent_View @690 + location (1860, 206) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "TInt64") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "411769FE0042" + height 117 + autoResize TRUE) + (object UsesView "" @691 + stereotype TRUE + line_color 3342489 + quidu "41176E8A00AA" + client @675 + supplier @690 + line_style 0) + (object UsesView "" @692 + stereotype TRUE + line_color 3342489 + quidu "40C6E9F20077" + client @682 + supplier @675 + vertices (list Points + (630, 2293) + (661, 2046) + (794, 1741)) + line_style 0) + (object HasView "Socket" @693 + label (object ItemLabel + Parent_View @693 + location (1755, 1875) + anchor_loc 1 + nlines 1 + max_width 133 + justify 0 + label "Socket") + stereotype TRUE + line_color 3342489 + quidu "40C6E3B701A0" + client @675 + supplier @680 + line_style 0) + (object HasView "Reader" @694 + label (object ItemLabel + Parent_View @694 + location (464, 2017) + anchor_loc 1 + nlines 1 + max_width 138 + justify 0 + label "Reader") + stereotype TRUE + line_color 3342489 + quidu "40C6E3B9038E" + client @675 + supplier @681 + line_style 0) + (object HasView "Writer" @695 + label (object ItemLabel + Parent_View @695 + location (744, 2017) + anchor_loc 1 + nlines 1 + max_width 114 + justify 0 + label "Writer") + stereotype TRUE + line_color 3342489 + quidu "40C6E3BD0022" + client @675 + supplier @682 + line_style 0) + (object HasView "MultiAddrFilters" @696 + label (object ItemLabel + Parent_View @696 + location (1347, 1901) + anchor_loc 1 + nlines 1 + max_width 296 + justify 0 + label "MultiAddrFilters") + stereotype TRUE + line_color 3342489 + quidu "4124A191036E" + client @675 + supplier @683 + line_style 0) + (object HasView "NetTypeFilters" @697 + label (object ItemLabel + Parent_View @697 + location (1605, 1969) + anchor_loc 1 + nlines 1 + max_width 272 + justify 0 + label "NetTypeFilters") + stereotype TRUE + line_color 3342489 + quidu "4124A19800BC" + client @675 + supplier @684 + line_style 0) + (object HasView "OutGoing" @698 + label (object ItemLabel + Parent_View @698 + location (1080, 2017) + anchor_loc 1 + nlines 1 + max_width 188 + justify 0 + label "OutGoing") + stereotype TRUE + line_color 3342489 + quidu "413C294A01B6" + client @675 + supplier @685 + line_style 0) + (object HasView "InComing" @699 + label (object ItemLabel + Parent_View @699 + location (972, 2026) + anchor_loc 1 + nlines 1 + max_width 168 + justify 0 + label "InComing") + stereotype TRUE + line_color 3342489 + quidu "413C296E01CC" + client @675 + supplier @685 + vertices (list Points + (1004, 1741) + (964, 2102) + (1052, 2293)) + line_style 0) + (object UsesView "" @700 + stereotype TRUE + line_color 3342489 + quidu "40C6EBEB0363" + client @681 + supplier @675 + vertices (list Points + (304, 2293) + (528, 2085) + (719, 1741)) + line_style 0) + (object ClassView "Class" "Logical View::BnepUtils" @701 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (198, 1890) + label (object ItemLabel + Parent_View @701 + location (94, 1844) + fill_color 13434879 + nlines 1 + max_width 208 + justify 0 + label "BnepUtils") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B2D3013F" + width 226 + height 117 + autoResize TRUE) + (object UsesView "" @702 + stereotype TRUE + line_color 3342489 + quidu "417506FF0070" + client @675 + supplier @701 + line_style 0))) + (object ClassDiagram "CBnepLocalDevice" + quid "414198960260" + title "CBnepLocalDevice" + documentation +|CBnepLocalDevice is a specialisation of MPanDevice that represents the particular device upon which a BNEP instance resides. It is also derived from CPktDrvBase because it provides the interface and underlying implementation to sit beneath Ethint.NIF as a packet driver. Ethernet packets pushed down into the PAN network are delivered via CBnepLocalDevice. +|As a packet driver, it provides implementation for a wide range of interfaces that it does not, in fact, support; interfaces such as InterfacePowerDown(), GetRxMode(), etc. +|The interfaces of direct interest for BNEP are the static NewL() constructor (called by the packet driver factory to trigger the instantiation of the driver) and the two data delivery interfaces. +|The first, Send(), is the method called by the higher layer (Ethint.NIF) to push packets down into the PAN network. +|The second, Process(), is the method called by the bridge to push data up out of the PAN network and into Ethint.NIF. + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::CBnepLocalDevice" @703 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1500, 1140) + label (object ItemLabel + Parent_View @703 + location (1316, 1090) + fill_color 13434879 + nlines 1 + max_width 368 + justify 0 + label "CBnepLocalDevice") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049420180" + width 386 + height 124 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::inc::CPktDrvBase" @704 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (531, 132) + label (object ItemLabel + Parent_View @704 + location (395, 86) + fill_color 13434879 + nlines 1 + max_width 272 + justify 0 + label "CPktDrvBase") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5BB5D014C" + width 290 + height 117 + autoResize TRUE) + (object InheritView "" @705 + stereotype TRUE + line_color 3342489 + quidu "4107BDAB0145" + client @703 + supplier @704 + line_style 0) + (object ClassView "Class" "Logical View::MPanDevice" @706 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (969, 132) + label (object ItemLabel + Parent_View @706 + location (840, 86) + fill_color 13434879 + nlines 1 + max_width 258 + justify 0 + label "MPanDevice") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049CB02DC" + width 276 + height 117 + autoResize TRUE) + (object InheritView "" @707 + stereotype TRUE + line_color 3342489 + quidu "4107BDB201EF" + client @703 + supplier @706 + line_style 0) + (object ClassView "Class" "Logical View::CBTAddrSubscriber" @708 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1500, 2148) + label (object ItemLabel + Parent_View @708 + location (1306, 2102) + fill_color 13434879 + nlines 1 + max_width 388 + justify 0 + label "CBTAddrSubscriber") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B9A6014B" + width 406 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::inc::CLANLinkCommon" @709 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2052, 2148) + label (object ItemLabel + Parent_View @709 + location (1860, 2102) + fill_color 13434879 + nlines 1 + max_width 384 + justify 0 + label "CLANLinkCommon") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C47D840240" + width 402 + height 117 + autoResize TRUE) + (object UsesView "" @710 + stereotype TRUE + line_color 3342489 + quidu "40CEE2DF014D" + client @703 + supplier @709 + line_style 0) + (object ClassView "Class" "Logical View::CBnepBridge" @711 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2565, 2148) + label (object ItemLabel + Parent_View @711 + location (2432, 2102) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "CBnepBridge") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049600007" + width 284 + height 117 + autoResize TRUE) + (object UsesView "" @712 + stereotype TRUE + line_color 3342489 + quidu "4108F40700A4" + client @703 + supplier @711 + line_style 0) + (object ClassView "Class" "Logical View::CBnepPktDrvFactory" @713 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1500, 132) + label (object ItemLabel + Parent_View @713 + location (1290, 86) + fill_color 13434879 + nlines 1 + max_width 420 + justify 0 + label "CBnepPktDrvFactory") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C969BB025E" + width 438 + height 117 + autoResize TRUE) + (object UsesView "" @714 + stereotype TRUE + line_color 3342489 + quidu "40C9B35A036B" + client @713 + supplier @703 + line_style 0) + (object UsesView "" @715 + stereotype TRUE + line_color 3342489 + quidu "40CEC4DC0122" + client @708 + supplier @703 + line_style 0) + (object HasView "Subscriber" @716 + label (object ItemLabel + Parent_View @716 + location (1547, 1650) + anchor_loc 1 + nlines 1 + max_width 194 + justify 0 + label "Subscriber") + stereotype TRUE + line_color 3342489 + quidu "40C6DDA601ED" + client @703 + supplier @708 + vertices (list Points + (1504, 1202) + (1576, 1959) + (1522, 2089)) + line_style 0))) + (object ClassDiagram "CBnepLog" + quid "4141995802C3" + title "CBnepLog" + documentation +|CBnepLog is only instantiated and used in UDEB builds. It is usually accessed through the BNEPLOG or INSTRUMENT macros defined in CBnepLog.h. The static method CBnepLog::Printf() is also accessible for direct use, but has no meaning in a non-debug build. CBnepLog uses RFileLogger and requires its own piece of thread-local storage, hence the dependencies on TBnepTls and BnepUtils. +|Naturally every class whose implementation includes some debug logging has a dependency on CBnepLog. + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::CBnepLog" @717 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (741, 504) + label (object ItemLabel + Parent_View @717 + location (625, 454) + fill_color 13434879 + nlines 1 + max_width 232 + justify 0 + label "CBnepLog") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B5A9014D" + width 250 + height 124 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Epoc32::CBase" @718 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (747, 126) + label (object ItemLabel + Parent_View @718 + location (666, 80) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "CBase") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C052FD00B0" + height 117 + autoResize TRUE) + (object InheritView "" @719 + stereotype TRUE + line_color 3342489 + quidu "40D2CE9201C3" + client @717 + supplier @718 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Comms-infras::RFileLogger" @720 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (267, 1113) + label (object ItemLabel + Parent_View @720 + location (142, 1067) + fill_color 13434879 + nlines 1 + max_width 250 + justify 0 + label "RFileLogger") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40D2D0FC0149" + width 268 + height 117 + autoResize TRUE) + (object HasView "MainLog" @721 + label (object ItemLabel + Parent_View @721 + location (501, 811) + anchor_loc 1 + nlines 1 + max_width 156 + justify 0 + label "MainLog") + stereotype TRUE + line_color 3342489 + quidu "40D2D19302D7" + client @717 + supplier @720 + line_style 0) + (object ClassView "Class" "Logical View::TBnepTls" @722 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (741, 1113) + label (object ItemLabel + Parent_View @722 + location (640, 1067) + fill_color 13434879 + nlines 1 + max_width 202 + justify 0 + label "TBnepTls") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B5000031" + width 220 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::BnepUtils" @723 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1197, 1113) + label (object ItemLabel + Parent_View @723 + location (1093, 1067) + fill_color 13434879 + nlines 1 + max_width 208 + justify 0 + label "BnepUtils") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B2D3013F" + width 226 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepFrame" @724 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1158, 126) + label (object ItemLabel + Parent_View @724 + location (1025, 80) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "RBnepFrame") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049510377" + width 284 + height 117 + autoResize TRUE) + (object UsesView "" @725 + stereotype TRUE + line_color 3342489 + quidu "40C9BB240119" + client @724 + supplier @717 + line_style 0) + (object ClassView "Class" "Logical View::CBnepBridge" @726 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (390, 1662) + label (object ItemLabel + Parent_View @726 + location (257, 1616) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "CBnepBridge") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049600007" + width 284 + height 117 + autoResize TRUE) + (object UsesView "" @727 + stereotype TRUE + line_color 3342489 + quidu "40C868330193" + client @726 + supplier @717 + line_style 0) + (object ClassView "Class" "Logical View::RBnepSetupConnectionRequestControl" @728 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1104, 1995) + label (object ItemLabel + Parent_View @728 + location (734, 1949) + fill_color 13434879 + nlines 1 + max_width 740 + justify 0 + label "RBnepSetupConnectionRequestControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C04FE6035B" + width 758 + height 117 + autoResize TRUE) + (object UsesView "" @729 + stereotype TRUE + line_color 3342489 + quidu "40C9BB98036F" + client @728 + supplier @717 + line_style 0) + (object ClassView "Class" "Logical View::RBnepSetupConnectionResponseControl" @730 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1116, 2145) + label (object ItemLabel + Parent_View @730 + location (729, 2099) + fill_color 13434879 + nlines 1 + max_width 774 + justify 0 + label "RBnepSetupConnectionResponseControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C050B10245" + width 792 + height 117 + autoResize TRUE) + (object UsesView "" @731 + stereotype TRUE + line_color 3342489 + quidu "4104E7CF001D" + client @730 + supplier @717 + line_style 0) + (object ClassView "Class" "Logical View::MLinkManager" @732 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (177, 882) + label (object ItemLabel + Parent_View @732 + location (24, 836) + fill_color 13434879 + nlines 1 + max_width 306 + justify 0 + label "MLinkManager") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C050FF0107" + width 324 + height 117 + autoResize TRUE) + (object UsesView "" @733 + stereotype TRUE + line_color 3342489 + quidu "40E4193D038C" + client @732 + supplier @717 + line_style 0) + (object ClassView "Class" "Logical View::CBnepChannelController" @734 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1440, 927) + label (object ItemLabel + Parent_View @734 + location (1201, 881) + fill_color 13434879 + nlines 1 + max_width 478 + justify 0 + label "CBnepChannelController") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0512A0181" + width 496 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::TBnepConnectionManager" @735 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (318, 126) + label (object ItemLabel + Parent_View @735 + location (61, 80) + fill_color 13434879 + nlines 1 + max_width 514 + justify 0 + label "TBnepConnectionManager") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C47D9300BB" + width 532 + height 117 + autoResize TRUE) + (object UsesView "" @736 + stereotype TRUE + line_color 3342489 + quidu "40E3EB7B037E" + client @735 + supplier @717 + line_style 0) + (object ClassView "Class" "Logical View::CBnepPktDrvFactory" @737 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1557, 126) + label (object ItemLabel + Parent_View @737 + location (1347, 80) + fill_color 13434879 + nlines 1 + max_width 420 + justify 0 + label "CBnepPktDrvFactory") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C969BB025E" + width 438 + height 117 + autoResize TRUE) + (object UsesView "" @738 + stereotype TRUE + line_color 3342489 + quidu "40C9B1F7036A" + client @737 + supplier @717 + line_style 0) + (object ClassView "Class" "Logical View::RBnepFilterNetTypeSetRequestControl" @739 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1101, 1851) + label (object ItemLabel + Parent_View @739 + location (730, 1805) + fill_color 13434879 + nlines 1 + max_width 742 + justify 0 + label "RBnepFilterNetTypeSetRequestControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68AE302E2" + width 760 + height 117 + autoResize TRUE) + (object UsesView "" @740 + stereotype TRUE + line_color 3342489 + quidu "4104E7DB025F" + client @739 + supplier @717 + line_style 0) + (object ClassView "Class" "Logical View::RBnepFilterNetTypeResponseControl" @741 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1089, 1710) + label (object ItemLabel + Parent_View @741 + location (737, 1664) + fill_color 13434879 + nlines 1 + max_width 704 + justify 0 + label "RBnepFilterNetTypeResponseControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68B03028E" + width 722 + height 117 + autoResize TRUE) + (object UsesView "" @742 + stereotype TRUE + line_color 3342489 + quidu "4104E7A502E3" + client @741 + supplier @717 + line_style 0) + (object ClassView "Class" "Logical View::RBnepFilterMultiAddrSetRequestControl" @743 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1116, 1575) + label (object ItemLabel + Parent_View @743 + location (736, 1529) + fill_color 13434879 + nlines 1 + max_width 760 + justify 0 + label "RBnepFilterMultiAddrSetRequestControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68B20014F" + width 778 + height 117 + autoResize TRUE) + (object UsesView "" @744 + stereotype TRUE + line_color 3342489 + quidu "4104E7A20177" + client @743 + supplier @717 + line_style 0) + (object ClassView "Class" "Logical View::RBnepFilterMultiAddrResponseControl" @745 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1101, 1443) + label (object ItemLabel + Parent_View @745 + location (738, 1397) + fill_color 13434879 + nlines 1 + max_width 726 + justify 0 + label "RBnepFilterMultiAddrResponseControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68B66004C" + width 744 + height 117 + autoResize TRUE) + (object UsesView "" @746 + stereotype TRUE + line_color 3342489 + quidu "4104E79F010E" + client @745 + supplier @717 + line_style 0) + (object ClassView "Class" "Logical View::RBnepNotUnderstoodResponseControl" @747 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1110, 1308) + label (object ItemLabel + Parent_View @747 + location (744, 1262) + fill_color 13434879 + nlines 1 + max_width 732 + justify 0 + label "RBnepNotUnderstoodResponseControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "410509070129" + width 750 + height 117 + autoResize TRUE) + (object UsesView "" @748 + stereotype TRUE + line_color 3342489 + quidu "4105092F0159" + client @747 + supplier @717 + line_style 0) + (object ClassView "Class" "Logical View::CNetTypeFilterTable" @749 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (327, 1377) + label (object ItemLabel + Parent_View @749 + location (130, 1331) + fill_color 13434879 + nlines 1 + max_width 394 + justify 0 + label "CNetTypeFilterTable") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "412478A20031" + width 412 + height 117 + autoResize TRUE) + (object UsesView "" @750 + stereotype TRUE + line_color 3342489 + quidu "412483C301E6" + client @749 + supplier @717 + line_style 0) + (object ClassView "Class" "Logical View::TBnepBTDevAddr" @751 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (363, 1515) + label (object ItemLabel + Parent_View @751 + location (186, 1469) + fill_color 13434879 + nlines 1 + max_width 354 + justify 0 + label "TBnepBTDevAddr") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "4125EEA90192" + width 372 + height 117 + autoResize TRUE) + (object UsesView "" @752 + stereotype TRUE + line_color 3342489 + quidu "4125F9C20183" + client @751 + supplier @717 + line_style 0) + (object UsesView "" @753 + stereotype TRUE + line_color 3342489 + quidu "40C867E90133" + client @734 + supplier @717 + line_style 0) + (object UsesView "" @754 + stereotype TRUE + line_color 3342489 + quidu "40DAE9A60366" + client @723 + supplier @717 + line_style 0) + (object HasView "Log" @755 + label (object ItemLabel + Parent_View @755 + location (741, 810) + anchor_loc 1 + nlines 1 + max_width 80 + justify 0 + label "Log") + stereotype TRUE + line_color 3342489 + quidu "40C5B68C0063" + client @722 + supplier @717 + line_style 0) + (object UsesView "" @756 + stereotype TRUE + line_color 3342489 + quidu "40D2D6080224" + client @717 + supplier @722 + line_style 0) + (object UsesView "" @757 + stereotype TRUE + line_color 3342489 + quidu "40DAEA8103BB" + client @717 + supplier @723 + vertices (list Points + (776, 566) + (977, 919) + (1130, 1054)) + line_style 0))) + (object ClassDiagram "CBnepPktDrvFactory" + quid "41419B7103BF" + title "CBnepPktDrvFactory" + documentation "CBnepPktDrvFactory is the main point of access for Ethint.NIF and is the BNEP specialisation of a general packet driver factory for this framework. The static method NewDriverL() should hand back a pointer to an object derived from CPktDrvBase, which in this case is CBnepLocalDevice." + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::CBnepPktDrvFactory" @758 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (840, 672) + label (object ItemLabel + Parent_View @758 + location (630, 622) + fill_color 13434879 + nlines 1 + max_width 420 + justify 0 + label "CBnepPktDrvFactory") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C969BB025E" + width 438 + height 124 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::inc::CPktDrvFactory" @759 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (840, 126) + label (object ItemLabel + Parent_View @759 + location (683, 80) + fill_color 13434879 + nlines 1 + max_width 314 + justify 0 + label "CPktDrvFactory") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5BC6B02A9" + width 332 + height 117 + autoResize TRUE) + (object InheritView "" @760 + stereotype TRUE + line_color 3342489 + quidu "40C96A88014B" + client @758 + supplier @759 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Comms-infras::CNifMan" @761 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (270, 1242) + label (object ItemLabel + Parent_View @761 + location (179, 1196) + fill_color 13434879 + nlines 1 + max_width 182 + justify 0 + label "CNifMan") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C96DB6023B" + width 200 + height 117 + autoResize TRUE) + (object UsesView "" @762 + stereotype TRUE + line_color 3342489 + quidu "40C96E0E004D" + client @758 + supplier @761 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Epoc32::TVersion" @763 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (189, 1116) + label (object ItemLabel + Parent_View @763 + location (95, 1075) + fill_color 13434879 + nlines 1 + max_width 188 + justify 0 + label "TVersion") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C96F9C015E" + width 206 + height 107 + autoResize TRUE) + (object UsesView "" @764 + stereotype TRUE + line_color 3342489 + quidu "40C96FD90115" + client @758 + supplier @763 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Epoc32::CObject" @765 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (687, 1242) + label (object ItemLabel + Parent_View @765 + location (594, 1196) + fill_color 13434879 + nlines 1 + max_width 186 + justify 0 + label "CObject") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C9705600BB" + width 204 + height 117 + autoResize TRUE) + (object UsesView "" @766 + stereotype TRUE + line_color 3342489 + quidu "40C970A901BF" + client @758 + supplier @765 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Comms-infras::RMBufChain" @767 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1419, 1389) + label (object ItemLabel + Parent_View @767 + location (1284, 1343) + fill_color 13434879 + nlines 1 + max_width 270 + justify 0 + label "RMBufChain") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0613602A0" + width 288 + height 117 + autoResize TRUE) + (object UsesView "" @768 + stereotype TRUE + line_color 3342489 + quidu "40C970E50247" + client @758 + supplier @767 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Epoc32::CObjectCon" @769 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1086, 1242) + label (object ItemLabel + Parent_View @769 + location (960, 1196) + fill_color 13434879 + nlines 1 + max_width 252 + justify 0 + label "CObjectCon") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C974440144" + width 270 + height 117 + autoResize TRUE) + (object UsesView "" @770 + stereotype TRUE + line_color 3342489 + quidu "40C97465012D" + client @758 + supplier @769 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Epoc32::RLibrary" @771 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1485, 1242) + label (object ItemLabel + Parent_View @771 + location (1396, 1196) + fill_color 13434879 + nlines 1 + max_width 178 + justify 0 + label "RLibrary") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C9740200C7" + width 196 + height 117 + autoResize TRUE) + (object UsesView "" @772 + stereotype TRUE + line_color 3342489 + quidu "40C974680019" + client @758 + supplier @771 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::inc::CLANLinkFactory" @773 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (840, 1380) + label (object ItemLabel + Parent_View @773 + location (667, 1334) + fill_color 13434879 + nlines 1 + max_width 346 + justify 0 + label "CLANLinkFactory") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C47D4F0399" + width 364 + height 117 + autoResize TRUE) + (object UsesView "" @774 + stereotype TRUE + line_color 3342489 + quidu "40C9750D0107" + client @758 + supplier @773 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLog" @775 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (174, 987) + label (object ItemLabel + Parent_View @775 + location (58, 941) + fill_color 13434879 + nlines 1 + max_width 232 + justify 0 + label "CBnepLog") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B5A9014D" + width 250 + height 117 + autoResize TRUE) + (object UsesView "" @776 + stereotype TRUE + line_color 3342489 + quidu "40C9B1F7036A" + client @758 + supplier @775 + line_style 0) + (object ClassView "Class" "Logical View::TBnepTls" @777 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1503, 1041) + label (object ItemLabel + Parent_View @777 + location (1402, 995) + fill_color 13434879 + nlines 1 + max_width 202 + justify 0 + label "TBnepTls") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B5000031" + width 220 + height 117 + autoResize TRUE) + (object UsesView "" @778 + stereotype TRUE + line_color 3342489 + quidu "40C9B22A0241" + client @758 + supplier @777 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLocalDevice" @779 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (387, 1383) + label (object ItemLabel + Parent_View @779 + location (203, 1337) + fill_color 13434879 + nlines 1 + max_width 368 + justify 0 + label "CBnepLocalDevice") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049420180" + width 386 + height 117 + autoResize TRUE) + (object UsesView "" @780 + stereotype TRUE + line_color 3342489 + quidu "40C9B35A036B" + client @758 + supplier @779 + line_style 0))) + (object ClassDiagram "CBTAddrSubscriber" + quid "41419C0601ED" + title "CBTAddrSubscriber" + documentation +|CBTAddrSubscriber is an active observer of the local Bluetooth device address property which is published by the Bluetooth stack. BNEP depends on the Bluetooth stack being in place for its underlying transport. However, BNEP has no knowledge or control over when the stack is instantiated; it may already be in place or it may not be up during BNEP initialisation. By subscribing to the local address proprty via the kernel Publish & Subscribe interfaces, CBTAddrSubscriber is notified if the subscribed property changes (i.e. the property has been assigned a new value on the instantiation of the Bluetooth stack). If this happens, it is the responsibility of the object to notify the CBnepLocalDevice. +|The notification is a one-shot; that is, the property is only expected to change once during the lifetime of the BNEP. It is not likely to change again during the lifetime of the packet driver, and even if it did, neither BNEP or the upper layers of the ethernet stack have the facilities to deal with a later change. This means that once the notification has been posted, this object will become inactive. + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::CBTAddrSubscriber" @781 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (969, 759) + label (object ItemLabel + Parent_View @781 + location (775, 709) + fill_color 13434879 + nlines 1 + max_width 388 + justify 0 + label "CBTAddrSubscriber") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B9A6014B" + width 406 + height 124 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Epoc32::CActive" @782 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (969, 132) + label (object ItemLabel + Parent_View @782 + location (884, 86) + fill_color 13434879 + nlines 1 + max_width 170 + justify 0 + label "CActive") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0653F024B" + width 188 + height 117 + autoResize TRUE) + (object InheritView "" @783 + stereotype TRUE + line_color 3342489 + quidu "40CEC1CF00ED" + client @781 + supplier @782 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLocalDevice" @784 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (972, 1374) + label (object ItemLabel + Parent_View @784 + location (788, 1328) + fill_color 13434879 + nlines 1 + max_width 368 + justify 0 + label "CBnepLocalDevice") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049420180" + width 386 + height 117 + autoResize TRUE) + (object UsesView "" @785 + stereotype TRUE + line_color 3342489 + quidu "40CEC4DC0122" + client @781 + supplier @784 + line_style 0) + (object HasView "Subscriber" @786 + label (object ItemLabel + Parent_View @786 + location (970, 1068) + anchor_loc 1 + nlines 1 + max_width 194 + justify 0 + label "Subscriber") + stereotype TRUE + line_color 3342489 + quidu "40C6DDA601ED" + client @784 + supplier @781 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Epoc32::RProperty" @787 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1296, 1371) + label (object ItemLabel + Parent_View @787 + location (1191, 1325) + fill_color 13434879 + nlines 1 + max_width 210 + justify 0 + label "RProperty") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40CEC37300A1" + width 228 + height 117 + autoResize TRUE) + (object UsesView "" @788 + stereotype TRUE + line_color 3342489 + quidu "40CEC4FF000A" + client @781 + supplier @787 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTDevAddr" @789 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1566, 1371) + label (object ItemLabel + Parent_View @789 + location (1438, 1325) + fill_color 13434879 + nlines 1 + max_width 256 + justify 0 + label "TBTDevAddr") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C05A14029A" + width 274 + height 117 + autoResize TRUE) + (object UsesView "" @790 + stereotype TRUE + line_color 3342489 + quidu "40CEC50F036B" + client @781 + supplier @789 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Bluetooth::KPropertyUidBluetoothCategory" @791 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (450, 1374) + label (object ItemLabel + Parent_View @791 + location (140, 1328) + fill_color 13434879 + nlines 1 + max_width 620 + justify 0 + label "KPropertyUidBluetoothCategory") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40CEDA4800E2" + width 638 + height 117 + autoResize TRUE) + (object UsesView "" @792 + stereotype TRUE + line_color 3342489 + quidu "40CEDA7C008D" + client @781 + supplier @791 + line_style 0))) + (object ClassDiagram "CMultiAddrFilterTable" + quid "414E989902DE" + title "CMultiAddrFilterTable" + documentation +|CMultiAddrFilterTable is a representation of a list of filter specification ranges that permit the transmission of multicast packets through a particular link. The table is implemented as a fixed-length array of addresses, representing the start- and end-points of a limited set of ranges. +|The practical limit of the filter specifications permitted on any one link is determined by the constant KMaxMultiAddrFilters, which is currently set to an arbitrary value of 10. Theoretically the BNEP specification supports the allocation of up to 140 filter ranges for multicast address filtering. However, any link burdened with the task of checking every multicast packet against a set of 140 potentially non-overlapping address ranges to see if it can pass is likely to suffer from extreme performance degradation. +|Filter specifications are stored in ascending order of start value, using an insertion sort as they are put into the table. The advantage of using this inefficient insertion algorithm is that it speeds up the searching mechanism when FilteredOut() is called. If the start value of the next range to be tested is higher than the address under test, the rest of the table can automatically be discounted and the search terminated immediately. +|Both FilteredOut() and InsertL() are overloaded for TBTDevAddr and TBnepBTDevAddr. The latter is an internal representation that compresses the TBTDevAddr mulit-byte implementation of a 48-bit address down into TInt64 values. This speeds up the direct numeric comparisons that have to be made during searches and sorts. The TBTDevAddr versions of the aforementioned methods are merely conversion wrappers that call the TBnepBTDevAddr versions after conversion. + + zoom 95 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::CMultiAddrFilterTable" @793 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (750, 708) + label (object ItemLabel + Parent_View @793 + location (536, 659) + fill_color 13434879 + nlines 1 + max_width 428 + justify 0 + label "CMultiAddrFilterTable") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "412478830308" + width 446 + height 122 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Epoc32::CBase" @794 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (750, 126) + label (object ItemLabel + Parent_View @794 + location (669, 80) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "CBase") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C052FD00B0" + height 117 + autoResize TRUE) + (object InheritView "" @795 + stereotype TRUE + line_color 3342489 + quidu "4124A37B0355" + client @793 + supplier @794 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Epoc32::TUint" @796 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (174, 1182) + label (object ItemLabel + Parent_View @796 + location (93, 1136) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "TUint") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C6DAE70369" + height 117 + autoResize TRUE) + (object HasView "Ctr" @797 + label (object ItemLabel + Parent_View @797 + location (458, 946) + anchor_loc 1 + nlines 1 + max_width 60 + justify 0 + label "Ctr") + stereotype TRUE + line_color 3342489 + quidu "41247CF80218" + client @793 + supplier @796 + line_style 0) + (object ClassView "InstantiatedClass" "Logical View::( TFixedArray )" @798 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (750, 1785) + label (object ItemLabel + Parent_View @798 + location (118, 1739) + fill_color 13434879 + nlines 1 + max_width 1264 + justify 0 + label "( TFixedArray )") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "41247E2602D1" + width 1282 + height 117 + autoResize TRUE) + (object HasView "Table" @799 + label (object ItemLabel + Parent_View @799 + location (750, 1248) + anchor_loc 1 + nlines 1 + max_width 112 + justify 0 + label "Table") + stereotype TRUE + line_color 3342489 + quidu "41247E970070" + client @793 + supplier @798 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLink" @800 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (294, 126) + label (object ItemLabel + Parent_View @800 + location (176, 80) + fill_color 13434879 + nlines 1 + max_width 236 + justify 0 + label "CBnepLink") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0510D0175" + width 254 + height 117 + autoResize TRUE) + (object HasView "MultiAddrFilters" @801 + label (object ItemLabel + Parent_View @801 + location (520, 415) + anchor_loc 1 + nlines 1 + max_width 296 + justify 0 + label "MultiAddrFilters") + stereotype TRUE + line_color 3342489 + quidu "4124A191036E" + client @800 + supplier @793 + line_style 0) + (object ClassView "Class" "Logical View::TFilterMultiAddrResponse" @802 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1077, 1623) + label (object ItemLabel + Parent_View @802 + location (823, 1577) + fill_color 13434879 + nlines 1 + max_width 508 + justify 0 + label "TFilterMultiAddrResponse") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40FB8FD103B2" + width 526 + height 117 + autoResize TRUE) + (object UsesView "" @803 + stereotype TRUE + line_color 3342489 + quidu "41247F6F01D9" + client @793 + supplier @802 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTDevAddr" @804 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (174, 1362) + label (object ItemLabel + Parent_View @804 + location (41, 1316) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "TBTDevAddr") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C05A14029A" + width 284 + height 117 + autoResize TRUE) + (object UsesView "" @805 + stereotype TRUE + line_color 3342489 + quidu "412481050089" + client @793 + supplier @804 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLog" @806 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (315, 1608) + label (object ItemLabel + Parent_View @806 + location (201, 1562) + fill_color 13434879 + nlines 1 + max_width 228 + justify 0 + label "CBnepLog") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B5A9014D" + width 246 + height 117 + autoResize TRUE) + (object UsesView "" @807 + stereotype TRUE + line_color 3342489 + quidu "412483C6038F" + client @793 + supplier @806 + line_style 0) + (object ClassView "Class" "Logical View::TBnepBTDevAddr" @808 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1311, 1098) + label (object ItemLabel + Parent_View @808 + location (1130, 1052) + fill_color 13434879 + nlines 1 + max_width 362 + justify 0 + label "TBnepBTDevAddr") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "4125EEA90192" + width 380 + height 117 + autoResize TRUE) + (object UsesView "" @809 + stereotype TRUE + line_color 3342489 + quidu "4125EFC2038A" + client @793 + supplier @808 + line_style 0) + (object ClassView "Class" "Logical View::CBnepChannelController" @810 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1242, 126) + label (object ItemLabel + Parent_View @810 + location (1000, 80) + fill_color 13434879 + nlines 1 + max_width 484 + justify 0 + label "CBnepChannelController") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0512A0181" + width 502 + height 117 + autoResize TRUE) + (object UsesView "" @811 + stereotype TRUE + line_color 3342489 + quidu "4124B5250357" + client @810 + supplier @793 + line_style 0))) + (object ClassDiagram "CNetTypeFilterTable" + quid "414EAD34029D" + title "CNetTypeFilterTable" + documentation +|CNetTypeFilterTable is a representation of a set of filter specifications relating to the network protocol types that are of interest to a particular link. The table is implemented as a fixed-length array of protocol types, representing the start- and end-points of a limited set of ranges. InsertL() allows the user to insert a range specification. Range specifications can be added up to the specified KMaxNetTypeFilters (currently set to 10). The method uses an insertion sort in a similar fashion to that used by CMultiAddrFilterTable::InsertL() so that similar search optimisations can be exploited. +|FilteredOut() will test the supplied protocol number to establish whether it should be filtered out or not. + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::CNetTypeFilterTable" @812 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (870, 702) + label (object ItemLabel + Parent_View @812 + location (279, 521) + fill_color 13434879 + nlines 1 + max_width 1182 + justify 0 + label "CNetTypeFilterTable") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "412478A20031" + width 1200 + height 386 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Epoc32::CBase" @813 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (723, 126) + label (object ItemLabel + Parent_View @813 + location (642, 80) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "CBase") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C052FD00B0" + height 117 + autoResize TRUE) + (object InheritView "" @814 + stereotype TRUE + line_color 3342489 + quidu "4124A37F0238" + client @812 + supplier @813 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Epoc32::TUint" @815 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1671, 1311) + label (object ItemLabel + Parent_View @815 + location (1590, 1265) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "TUint") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C6DAE70369" + height 117 + autoResize TRUE) + (object HasView "Ctr" @816 + label (object ItemLabel + Parent_View @816 + location (1359, 1073) + anchor_loc 1 + nlines 1 + max_width 60 + justify 0 + label "Ctr") + stereotype TRUE + line_color 3342489 + quidu "41247CF402BC" + client @812 + supplier @815 + line_style 0) + (object ClassView "InstantiatedClass" "Logical View::( TFixedArray )" @817 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (723, 1311) + label (object ItemLabel + Parent_View @817 + location (147, 1265) + fill_color 13434879 + nlines 1 + max_width 1152 + justify 0 + label "( TFixedArray )") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "41247DA900FA" + width 1170 + height 117 + autoResize TRUE) + (object HasView "Table" @818 + label (object ItemLabel + Parent_View @818 + location (779, 1073) + anchor_loc 1 + nlines 1 + max_width 112 + justify 0 + label "Table") + stereotype TRUE + line_color 3342489 + quidu "41247E9003E1" + client @812 + supplier @817 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLink" @819 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (228, 126) + label (object ItemLabel + Parent_View @819 + location (109, 80) + fill_color 13434879 + nlines 1 + max_width 238 + justify 0 + label "CBnepLink") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0510D0175" + width 256 + height 117 + autoResize TRUE) + (object HasView "NetTypeFilters" @820 + label (object ItemLabel + Parent_View @820 + location (473, 346) + anchor_loc 1 + nlines 1 + max_width 272 + justify 0 + label "NetTypeFilters") + stereotype TRUE + line_color 3342489 + quidu "4124A19800BC" + client @819 + supplier @812 + line_style 0) + (object ClassView "Class" "Logical View::TFilterNetTypeResponse" @821 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1956, 894) + label (object ItemLabel + Parent_View @821 + location (1718, 848) + fill_color 13434879 + nlines 1 + max_width 476 + justify 0 + label "TFilterNetTypeResponse") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40FB8EB8008D" + width 494 + height 117 + autoResize TRUE) + (object UsesView "" @822 + stereotype TRUE + line_color 3342489 + quidu "41247F6D0032" + client @812 + supplier @821 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLog" @823 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1863, 702) + label (object ItemLabel + Parent_View @823 + location (1747, 656) + fill_color 13434879 + nlines 1 + max_width 232 + justify 0 + label "CBnepLog") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B5A9014D" + width 250 + height 117 + autoResize TRUE) + (object UsesView "" @824 + stereotype TRUE + line_color 3342489 + quidu "412483C301E6" + client @812 + supplier @823 + line_style 0) + (object ClassView "Class" "Logical View::CBnepChannelController" @825 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1236, 126) + label (object ItemLabel + Parent_View @825 + location (997, 80) + fill_color 13434879 + nlines 1 + max_width 478 + justify 0 + label "CBnepChannelController") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0512A0181" + width 496 + height 117 + autoResize TRUE) + (object UsesView "" @826 + stereotype TRUE + line_color 3342489 + quidu "4124B5290227" + client @825 + supplier @812 + line_style 0))) + (object ClassDiagram "CSocketReader" + quid "414EAE7902D6" + title "CSocketReader" + documentation "CSocketReader is an active object tasked with monitoring the input side of the link socket. On receipt of some input from the Bluetooth stack, the RunL() is triggered, driving the logic associated with the link for parsing and acting on the messages it receives. For a Bluetooth-transported BNEP frame, this is where everything begins. Once a message has been ingested, the Read() method is called which triggers an asynchronous read request on the socket and activates the object ready for the next delivery. This sequence runs endlessly until the link is deleted." + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::CSocketReader" @827 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (837, 837) + label (object ItemLabel + Parent_View @827 + location (680, 787) + fill_color 13434879 + nlines 1 + max_width 314 + justify 0 + label "CSocketReader") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0652B0094" + width 332 + height 124 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Epoc32::CActive" @828 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (837, 126) + label (object ItemLabel + Parent_View @828 + location (752, 80) + fill_color 13434879 + nlines 1 + max_width 170 + justify 0 + label "CActive") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0653F024B" + width 188 + height 117 + autoResize TRUE) + (object InheritView "" @829 + stereotype TRUE + line_color 3342489 + quidu "40C6EBF101F9" + client @827 + supplier @828 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Comms-infras::RMBufChain" @830 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (837, 1578) + label (object ItemLabel + Parent_View @830 + location (702, 1532) + fill_color 13434879 + nlines 1 + max_width 270 + justify 0 + label "RMBufChain") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0613602A0" + width 288 + height 117 + autoResize TRUE) + (object HasView "RecvMsg" @831 + label (object ItemLabel + Parent_View @831 + location (837, 1209) + anchor_loc 1 + nlines 1 + max_width 175 + justify 0 + label "RecvMsg") + stereotype TRUE + line_color 3342489 + quidu "40F681F30061" + client @827 + supplier @830 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLink" @832 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (174, 126) + label (object ItemLabel + Parent_View @832 + location (55, 80) + fill_color 13434879 + nlines 1 + max_width 238 + justify 0 + label "CBnepLink") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0510D0175" + width 256 + height 117 + autoResize TRUE) + (object UsesView "" @833 + stereotype TRUE + line_color 3342489 + quidu "40C6EBEB0363" + client @827 + supplier @832 + line_style 0) + (object HasView "Reader" @834 + label (object ItemLabel + Parent_View @834 + location (503, 480) + anchor_loc 1 + nlines 1 + max_width 138 + justify 0 + label "Reader") + stereotype TRUE + line_color 3342489 + quidu "40C6E3B9038E" + client @832 + supplier @827 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Comms-infras::RInternalSocket" @835 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2052, 837) + label (object ItemLabel + Parent_View @835 + location (1891, 791) + fill_color 13434879 + nlines 1 + max_width 322 + justify 0 + label "RInternalSocket") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C46FE80331" + width 340 + height 117 + autoResize TRUE) + (object UsesView "" @836 + stereotype TRUE + line_color 3342489 + quidu "40C6EBE80065" + client @827 + supplier @835 + line_style 0))) + (object ClassDiagram "CSocketWriter" + quid "414EAF1103D9" + title "CSocketWriter" + documentation "CSocketWriter is the active object mirroring the output side of the link socket. All messages destined for Bluetooth transportation are passed through this object. This is much simpler than the reader in that the frame is just passed down to the socket and an asynchronous send is queued. Once the send is complete, the work is over until the next write is requested; the RunL() of this active object essentially does nothing in this implementation." + zoom 100 + max_height 28350 + max_width 21600 + origin_x 363 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::CSocketWriter" @837 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (999, 780) + label (object ItemLabel + Parent_View @837 + location (849, 730) + fill_color 13434879 + nlines 1 + max_width 300 + justify 0 + label "CSocketWriter") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0651F0155" + width 318 + height 124 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Epoc32::CActive" @838 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (798, 132) + label (object ItemLabel + Parent_View @838 + location (713, 86) + fill_color 13434879 + nlines 1 + max_width 170 + justify 0 + label "CActive") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0653F024B" + width 188 + height 117 + autoResize TRUE) + (object InheritView "" @839 + stereotype TRUE + line_color 3342489 + quidu "40C6E7280139" + client @837 + supplier @838 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLink" @840 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (324, 132) + label (object ItemLabel + Parent_View @840 + location (205, 86) + fill_color 13434879 + nlines 1 + max_width 238 + justify 0 + label "CBnepLink") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0510D0175" + width 256 + height 117 + autoResize TRUE) + (object UsesView "" @841 + stereotype TRUE + line_color 3342489 + quidu "40C6E9F20077" + client @837 + supplier @840 + line_style 0) + (object HasView "Writer" @842 + label (object ItemLabel + Parent_View @842 + location (659, 453) + anchor_loc 1 + nlines 1 + max_width 114 + justify 0 + label "Writer") + stereotype TRUE + line_color 3342489 + quidu "40C6E3BD0022" + client @840 + supplier @837 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Comms-infras::RInternalSocket" @843 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2283, 741) + label (object ItemLabel + Parent_View @843 + location (2122, 695) + fill_color 13434879 + nlines 1 + max_width 322 + justify 0 + label "RInternalSocket") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C46FE80331" + width 340 + height 117 + autoResize TRUE) + (object UsesView "" @844 + stereotype TRUE + line_color 3342489 + quidu "40C6E9A000CA" + client @837 + supplier @843 + line_style 0) + (object ClassView "ParameterizedClass" "Logical View::Undocument::Epoc32::TSglQue" @845 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (555, 1401) + label (object ItemLabel + Parent_View @845 + location (457, 1374) + fill_color 13434879 + nlines 1 + max_width 196 + justify 0 + label "TSglQue") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5935D0224" + width 214 + height 155 + autoResize TRUE) + (object ClassView "InstantiatedClass" "Logical View::( TSglQue < RBnepLinkChain > )" @846 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1332, 1626) + label (object ItemLabel + Parent_View @846 + location (1021, 1580) + fill_color 13434879 + nlines 1 + max_width 622 + justify 0 + label "( TSglQue < RBnepLinkChain > )") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "416CE2AE0279" + width 640 + height 117 + autoResize TRUE) + (object UsesView "" @847 + stereotype TRUE + line_color 3342489 + quidu "416CE406025F" + client @837 + supplier @845 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Comms-infras::RMBufPktQ" @848 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (777, 1692) + label (object ItemLabel + Parent_View @848 + location (654, 1646) + fill_color 13434879 + nlines 1 + max_width 246 + justify 0 + label "RMBufPktQ") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "416D41B40278" + width 264 + height 117 + autoResize TRUE) + (object HasView "Queue" @849 + label (object ItemLabel + Parent_View @849 + location (887, 1237) + anchor_loc 1 + nlines 1 + max_width 116 + justify 0 + label "Queue") + stereotype TRUE + line_color 3342489 + quidu "416CE34C03B6" + client @837 + supplier @848 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Epoc32::TUint8" @850 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1320, 1347) + label (object ItemLabel + Parent_View @850 + location (1239, 1301) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "TUint8") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C060DE031C" + height 117 + autoResize TRUE) + (object HasView "QueueSize" @851 + label (object ItemLabel + Parent_View @851 + location (1160, 1065) + anchor_loc 1 + nlines 1 + max_width 198 + justify 0 + label "QueueSize") + stereotype TRUE + line_color 3342489 + quidu "417016E103C8" + client @837 + supplier @850 + line_style 0) + (object ClassView "Class" "Logical View::BnepUtils" @852 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1647, 1413) + label (object ItemLabel + Parent_View @852 + location (1543, 1367) + fill_color 13434879 + nlines 1 + max_width 208 + justify 0 + label "BnepUtils") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B2D3013F" + width 226 + height 117 + autoResize TRUE) + (object UsesView "" @853 + stereotype TRUE + line_color 3342489 + quidu "417019B40396" + client @837 + supplier @852 + line_style 0))) + (object ClassDiagram "MBnepChannelControl" + quid "414EB09E039E" + title "MBnepChannelControl" + documentation "MBnepChannelControl provides the interface specification for part of the API used by the PAN Agent for driving CBnepChannelControllers when handling local and remote role requests for PAN Profile." + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::MBnepChannelControl" @854 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1386, 666) + label (object ItemLabel + Parent_View @854 + location (1165, 616) + fill_color 13434879 + nlines 1 + max_width 442 + justify 0 + label "MBnepChannelControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0513D0066" + width 460 + height 124 + autoResize TRUE) + (object ClassView "Class" "Logical View::CBnepChannelController" @855 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1386, 1311) + label (object ItemLabel + Parent_View @855 + location (1147, 1265) + fill_color 13434879 + nlines 1 + max_width 478 + justify 0 + label "CBnepChannelController") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0512A0181" + width 496 + height 117 + autoResize TRUE) + (object InheritView "" @856 + stereotype TRUE + line_color 3342489 + quidu "410DFECB0027" + client @855 + supplier @854 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Networking::TBluetoothPanRole" @857 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1938, 1500) + label (object ItemLabel + Parent_View @857 + location (1744, 1454) + fill_color 13434879 + nlines 1 + max_width 388 + justify 0 + label "TBluetoothPanRole") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C06019037D" + width 406 + height 117 + autoResize TRUE) + (object UsesView "" @858 + stereotype TRUE + line_color 3342489 + quidu "40C82B8E0350" + client @854 + supplier @857 + line_style 0) + (object ClassView "Class" "Logical View::TBnepSetupConnectionResponseMessage" @859 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2319, 1197) + label (object ItemLabel + Parent_View @859 + location (1919, 1151) + fill_color 13434879 + nlines 1 + max_width 800 + justify 0 + label "TBnepSetupConnectionResponseMessage") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C4789702BF" + width 818 + height 117 + autoResize TRUE) + (object UsesView "" @860 + stereotype TRUE + line_color 3342489 + quidu "40C82BCC01FB" + client @854 + supplier @859 + line_style 0) + (object ClassView "Class" "Logical View::MPanConnectionNotify" @861 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (609, 1311) + label (object ItemLabel + Parent_View @861 + location (385, 1265) + fill_color 13434879 + nlines 1 + max_width 448 + justify 0 + label "MPanConnectionNotify") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0607803DD" + width 466 + height 117 + autoResize TRUE) + (object UsesView "" @862 + stereotype TRUE + line_color 3342489 + quidu "40E3EC3002F2" + client @854 + supplier @861 + line_style 0) + (object ClassView "Class" "Logical View::CBnepBridge" @863 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (798, 132) + label (object ItemLabel + Parent_View @863 + location (665, 86) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "CBnepBridge") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049600007" + width 284 + height 117 + autoResize TRUE) + (object UsesView "" @864 + stereotype TRUE + line_color 3342489 + quidu "40C719C10290" + client @863 + supplier @854 + line_style 0) + (object ClassView "Class" "Logical View::MBnepConnectionManager" @865 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1386, 132) + label (object ItemLabel + Parent_View @865 + location (1124, 86) + fill_color 13434879 + nlines 1 + max_width 524 + justify 0 + label "MBnepConnectionManager") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049870017" + width 542 + height 117 + autoResize TRUE) + (object UsesView "" @866 + stereotype TRUE + line_color 3342489 + quidu "40C82B100010" + client @865 + supplier @854 + line_style 0))) + (object ClassDiagram "MBnepConnectionManager" + quid "414EB8C100E6" + title "MBnepConnectionManager" + documentation +|MBnepConnectionManager is a mixin that provides the interface specification for PAN Agent to request the establishment of a new BNEP connection. There is no direct implementation class that represents a BNEP connection manager, since there is also the concept of a PAN Device Owner, codified in the mixin MPanDeviceOwner. MPanDeviceOwner derives from MBnepConnectionManager which suggests that between them, the two classes represent the responsibilities associated with the "bridge", which ultimately descends from both. + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::MBnepConnectionManager" @867 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1293, 609) + label (object ItemLabel + Parent_View @867 + location (1031, 559) + fill_color 13434879 + nlines 1 + max_width 524 + justify 0 + label "MBnepConnectionManager") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049870017" + width 542 + height 124 + annotation 8 + autoResize TRUE) + (object ClassView "Class" "Logical View::MPanDeviceOwner" @868 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1500, 1083) + label (object ItemLabel + Parent_View @868 + location (1309, 1037) + fill_color 13434879 + nlines 1 + max_width 382 + justify 0 + label "MPanDeviceOwner") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0497600BD" + width 400 + height 117 + annotation 8 + autoResize TRUE) + (object InheritView "" @869 + stereotype TRUE + line_color 3342489 + quidu "4108F88201BC" + client @868 + supplier @867 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Comms-infras::RInternalSocket" @870 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2034, 1083) + label (object ItemLabel + Parent_View @870 + location (1873, 1037) + fill_color 13434879 + nlines 1 + max_width 322 + justify 0 + label "RInternalSocket") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C46FE80331" + width 340 + height 117 + annotation 8 + autoResize TRUE) + (object UsesView "" @871 + stereotype TRUE + line_color 3342489 + quidu "40C82B010159" + client @867 + supplier @870 + line_style 0) + (object ClassView "Class" "Logical View::MBnepChannelControl" @872 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (303, 1083) + label (object ItemLabel + Parent_View @872 + location (82, 1037) + fill_color 13434879 + nlines 1 + max_width 442 + justify 0 + label "MBnepChannelControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0513D0066" + width 460 + height 117 + annotation 8 + autoResize TRUE) + (object UsesView "" @873 + stereotype TRUE + line_color 3342489 + quidu "40C82B100010" + client @867 + supplier @872 + line_style 0) + (object ClassView "Class" "Logical View::MPanConnectionNotify" @874 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (912, 1083) + label (object ItemLabel + Parent_View @874 + location (688, 1037) + fill_color 13434879 + nlines 1 + max_width 448 + justify 0 + label "MPanConnectionNotify") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0607803DD" + width 466 + height 117 + annotation 8 + autoResize TRUE) + (object UsesView "" @875 + stereotype TRUE + line_color 3342489 + quidu "40C82CDF02BF" + client @867 + supplier @874 + line_style 0) + (object ClassView "Class" "Logical View::TBnepConnectionManager" @876 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1293, 132) + label (object ItemLabel + Parent_View @876 + location (1036, 86) + fill_color 13434879 + nlines 1 + max_width 514 + justify 0 + label "TBnepConnectionManager") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C47D9300BB" + width 532 + height 117 + annotation 8 + autoResize TRUE) + (object UsesView "" @877 + stereotype TRUE + line_color 3342489 + quidu "40C82E1002DB" + client @876 + supplier @867 + line_style 0))) + (object ClassDiagram "MLinkManager" + quid "414EB91D03E1" + title "MLinkManager" + documentation "MLinkManager is a mixin that establishes the interface used by a BNEP Link to call into its Channel Controller. " + zoom 100 + max_height 28350 + max_width 21600 + origin_x 338 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::MLinkManager" @878 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (609, 609) + label (object ItemLabel + Parent_View @878 + location (456, 559) + fill_color 13434879 + nlines 1 + max_width 306 + justify 0 + label "MLinkManager") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C050FF0107" + width 324 + height 124 + autoResize TRUE) + (object ClassView "Class" "Logical View::CBnepChannelController" @879 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (609, 1140) + label (object ItemLabel + Parent_View @879 + location (370, 1094) + fill_color 13434879 + nlines 1 + max_width 478 + justify 0 + label "CBnepChannelController") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0512A0181" + width 496 + height 117 + autoResize TRUE) + (object InheritView "" @880 + stereotype TRUE + line_color 3342489 + quidu "410DFECE01D0" + client @879 + supplier @878 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Epoc32::TBool" @881 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (174, 1140) + label (object ItemLabel + Parent_View @881 + location (93, 1094) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "TBool") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C060B001DF" + height 117 + autoResize TRUE) + (object HasView "AwaitingResponse" @882 + label (object ItemLabel + Parent_View @882 + location (389, 875) + anchor_loc 1 + nlines 1 + max_width 332 + justify 0 + label "AwaitingResponse") + stereotype TRUE + line_color 3342489 + quidu "413C39C80397" + client @878 + supplier @881 + line_style 0) + (object ClassView "Class" "Logical View::RBnepControl" @883 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1521, 780) + label (object ItemLabel + Parent_View @883 + location (1377, 734) + fill_color 13434879 + nlines 1 + max_width 288 + justify 0 + label "RBnepControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C04FCB02D0" + width 306 + height 117 + autoResize TRUE) + (object UsesView "" @884 + stereotype TRUE + line_color 3342489 + quidu "40C8339A0212" + client @878 + supplier @883 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Epoc32::TInt" @885 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1482, 495) + label (object ItemLabel + Parent_View @885 + location (1401, 449) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "TInt") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C059E301D2" + height 117 + autoResize TRUE) + (object UsesView "" @886 + stereotype TRUE + line_color 3342489 + quidu "40C833A4013A" + client @878 + supplier @885 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLog" @887 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1521, 627) + label (object ItemLabel + Parent_View @887 + location (1405, 581) + fill_color 13434879 + nlines 1 + max_width 232 + justify 0 + label "CBnepLog") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B5A9014D" + width 250 + height 117 + autoResize TRUE) + (object UsesView "" @888 + stereotype TRUE + line_color 3342489 + quidu "40E4193D038C" + client @878 + supplier @887 + line_style 0) + (object ClassView "Class" "Logical View::RBnepFrame" @889 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (381, 126) + label (object ItemLabel + Parent_View @889 + location (248, 80) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "RBnepFrame") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049510377" + width 284 + height 117 + autoResize TRUE) + (object UsesView "" @890 + stereotype TRUE + line_color 3342489 + quidu "40C716FE010D" + client @889 + supplier @878 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLink" @891 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (837, 126) + label (object ItemLabel + Parent_View @891 + location (718, 80) + fill_color 13434879 + nlines 1 + max_width 238 + justify 0 + label "CBnepLink") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0510D0175" + width 256 + height 117 + autoResize TRUE) + (object UsesView "" @892 + stereotype TRUE + line_color 3342489 + quidu "40C83346022F" + client @891 + supplier @878 + line_style 0))) + (object ClassDiagram "MPanConnectionNotify" + quid "414EB9C40265" + title "MPanConnectionNotify" + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::MPanConnectionNotify" @893 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1215, 666) + label (object ItemLabel + Parent_View @893 + location (991, 616) + fill_color 13434879 + nlines 1 + max_width 448 + justify 0 + label "MPanConnectionNotify") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0607803DD" + width 466 + height 124 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Bluetooth::TUUID" @894 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (210, 1197) + label (object ItemLabel + Parent_View @894 + location (129, 1151) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "TUUID") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C05FB10297" + height 117 + autoResize TRUE) + (object UsesView "" @895 + stereotype TRUE + line_color 3342489 + quidu "40C82C530340" + client @893 + supplier @894 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Epoc32::TBool" @896 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (588, 1197) + label (object ItemLabel + Parent_View @896 + location (507, 1151) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "TBool") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C060B001DF" + height 117 + autoResize TRUE) + (object UsesView "" @897 + stereotype TRUE + line_color 3342489 + quidu "40C82C560055" + client @893 + supplier @896 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Epoc32::TInt" @898 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (969, 1197) + label (object ItemLabel + Parent_View @898 + location (888, 1151) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "TInt") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C059E301D2" + height 117 + autoResize TRUE) + (object UsesView "" @899 + stereotype TRUE + line_color 3342489 + quidu "40C82C58027E" + client @893 + supplier @898 + line_style 0) + (object ClassView "Class" "Logical View::TBnepSetupConnectionResponseMessage" @900 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1653, 1197) + label (object ItemLabel + Parent_View @900 + location (1253, 1151) + fill_color 13434879 + nlines 1 + max_width 800 + justify 0 + label "TBnepSetupConnectionResponseMessage") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C4789702BF" + width 818 + height 117 + autoResize TRUE) + (object UsesView "" @901 + stereotype TRUE + line_color 3342489 + quidu "40C82C5B00A2" + client @893 + supplier @900 + line_style 0) + (object ClassView "Class" "Logical View::CBnepBridge" @902 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (228, 132) + label (object ItemLabel + Parent_View @902 + location (95, 86) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "CBnepBridge") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049600007" + width 284 + height 117 + autoResize TRUE) + (object UsesView "" @903 + stereotype TRUE + line_color 3342489 + quidu "40C71A440072" + client @902 + supplier @893 + line_style 0) + (object ClassView "Class" "Logical View::MBnepConnectionManager" @904 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (798, 132) + label (object ItemLabel + Parent_View @904 + location (536, 86) + fill_color 13434879 + nlines 1 + max_width 524 + justify 0 + label "MBnepConnectionManager") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049870017" + width 542 + height 117 + autoResize TRUE) + (object UsesView "" @905 + stereotype TRUE + line_color 3342489 + quidu "40C82CDF02BF" + client @904 + supplier @893 + line_style 0) + (object ClassView "Class" "Logical View::CBnepChannelController" @906 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1464, 132) + label (object ItemLabel + Parent_View @906 + location (1225, 86) + fill_color 13434879 + nlines 1 + max_width 478 + justify 0 + label "CBnepChannelController") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0512A0181" + width 496 + height 117 + autoResize TRUE) + (object UsesView "" @907 + stereotype TRUE + line_color 3342489 + quidu "40C57A5D03B2" + client @906 + supplier @893 + line_style 0) + (object ClassView "Class" "Logical View::MBnepChannelControl" @908 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2091, 132) + label (object ItemLabel + Parent_View @908 + location (1870, 86) + fill_color 13434879 + nlines 1 + max_width 442 + justify 0 + label "MBnepChannelControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0513D0066" + width 460 + height 117 + autoResize TRUE) + (object UsesView "" @909 + stereotype TRUE + line_color 3342489 + quidu "40E3EC3002F2" + client @908 + supplier @893 + line_style 0))) + (object ClassDiagram "MPanDevice" + quid "414EBA240303" + title "MPanDevice" + documentation +|MPanDevice represents the abstraction of a device that can process BNEP frames as output and be "owned" by any object derived from MPanDeviceOwner. There is a potential analysis error in MPanDevice in that it seems to contain a reference to an object of type MPanDeviceOwner. This logically curious, since objects that are owned do not usually hold references to the objects that own (or contain) them. This has implementation consequences when CBnepLocalDevice is destroyed such that allowance has to be made for the pointer offset. But then, CBnepLocalDevice is attempting to delet the object in which it is contained, which is a piece of logic that probably needs to be re-examined. + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::MPanDevice" @910 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (723, 723) + label (object ItemLabel + Parent_View @910 + location (594, 673) + fill_color 13434879 + nlines 1 + max_width 258 + justify 0 + label "MPanDevice") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049CB02DC" + width 276 + height 124 + autoResize TRUE) + (object ClassView "Class" "Logical View::CBnepLocalDevice" @911 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (723, 1425) + label (object ItemLabel + Parent_View @911 + location (539, 1379) + fill_color 13434879 + nlines 1 + max_width 368 + justify 0 + label "CBnepLocalDevice") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049420180" + width 386 + height 117 + autoResize TRUE) + (object InheritView "" @912 + stereotype TRUE + line_color 3342489 + quidu "4107BDB201EF" + client @911 + supplier @910 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLink" @913 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (342, 1425) + label (object ItemLabel + Parent_View @913 + location (223, 1379) + fill_color 13434879 + nlines 1 + max_width 238 + justify 0 + label "CBnepLink") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0510D0175" + width 256 + height 117 + autoResize TRUE) + (object InheritView "" @914 + stereotype TRUE + line_color 3342489 + quidu "40C6E14801CD" + client @913 + supplier @910 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTDevAddr" @915 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1482, 1311) + label (object ItemLabel + Parent_View @915 + location (1354, 1265) + fill_color 13434879 + nlines 1 + max_width 256 + justify 0 + label "TBTDevAddr") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C05A14029A" + width 274 + height 117 + autoResize TRUE) + (object HasView "Addr" @916 + label (object ItemLabel + Parent_View @916 + location (1105, 1018) + anchor_loc 1 + nlines 1 + max_width 85 + justify 0 + label "Addr") + stereotype TRUE + line_color 3342489 + quidu "40C97975027B" + client @910 + supplier @915 + line_style 0) + (object ClassView "Class" "Logical View::MPanDeviceOwner" @917 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1728, 1044) + label (object ItemLabel + Parent_View @917 + location (1537, 998) + fill_color 13434879 + nlines 1 + max_width 382 + justify 0 + label "MPanDeviceOwner") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0497600BD" + width 400 + height 117 + autoResize TRUE) + (object HasView "Owner" @918 + label (object ItemLabel + Parent_View @918 + location (1205, 876) + anchor_loc 1 + nlines 1 + max_width 118 + justify 0 + label "Owner") + stereotype TRUE + line_color 3342489 + quidu "40C979BC001B" + client @910 + supplier @917 + line_style 0) + (object ClassView "Class" "Logical View::RBnepFrame" @919 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1710, 723) + label (object ItemLabel + Parent_View @919 + location (1577, 677) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "RBnepFrame") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049510377" + width 284 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CBnepBridge" @920 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (723, 126) + label (object ItemLabel + Parent_View @920 + location (590, 80) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "CBnepBridge") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049600007" + width 284 + height 117 + autoResize TRUE) + (object UsesView "" @921 + stereotype TRUE + line_color 3342489 + quidu "4108F9FD02A7" + client @920 + supplier @910 + line_style 0) + (object UsesView "" @922 + stereotype TRUE + line_color 3342489 + quidu "40C717DD02DA" + client @910 + supplier @919 + line_style 0) + (object UsesView "" @923 + stereotype TRUE + line_color 3342489 + quidu "40FD30130135" + client @910 + supplier @919 + line_style 0) + (object UsesView "" @924 + stereotype TRUE + line_color 3342489 + quidu "40C7173D00DC" + client @917 + supplier @910 + line_style 0))) + (object ClassDiagram "MPanDeviceOwner" + quid "414EBB28023F" + title "MPanDeviceOwner" + documentation +|MPanDeviceOwner is an interface wrapper for objects which appear to "own" MPanDevice objects. However, in the implementation, it is found that MPanDevices hold a reference to their "owner", which is sometimes used to delete upwards. Similarly, it is also found that CBnepBridge, the MPanDeviceOwner, does not "own" the CBnepLinks (MPanDevices) that it contains, such that it can never delete them. + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::MPanDeviceOwner" @925 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (855, 684) + label (object ItemLabel + Parent_View @925 + location (664, 634) + fill_color 13434879 + nlines 1 + max_width 382 + justify 0 + label "MPanDeviceOwner") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0497600BD" + width 400 + height 124 + autoResize TRUE) + (object ClassView "Class" "Logical View::MBnepConnectionManager" @926 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (855, 132) + label (object ItemLabel + Parent_View @926 + location (593, 86) + fill_color 13434879 + nlines 1 + max_width 524 + justify 0 + label "MBnepConnectionManager") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049870017" + width 542 + height 117 + autoResize TRUE) + (object InheritView "" @927 + stereotype TRUE + line_color 3342489 + quidu "4108F88201BC" + client @925 + supplier @926 + line_style 0) + (object ClassView "Class" "Logical View::CBnepBridge" @928 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (228, 1236) + label (object ItemLabel + Parent_View @928 + location (95, 1190) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "CBnepBridge") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049600007" + width 284 + height 117 + autoResize TRUE) + (object InheritView "" @929 + stereotype TRUE + line_color 3342489 + quidu "40C05A93018F" + client @928 + supplier @925 + line_style 0) + (object ClassView "Class" "Logical View::MPanDevice" @930 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (684, 1236) + label (object ItemLabel + Parent_View @930 + location (555, 1190) + fill_color 13434879 + nlines 1 + max_width 258 + justify 0 + label "MPanDevice") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049CB02DC" + width 276 + height 117 + autoResize TRUE) + (object UsesView "" @931 + stereotype TRUE + line_color 3342489 + quidu "40C7173D00DC" + client @925 + supplier @930 + line_style 0) + (object ClassView "Class" "Logical View::RBnepFrame" @932 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1140, 1236) + label (object ItemLabel + Parent_View @932 + location (1007, 1190) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "RBnepFrame") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049510377" + width 284 + height 117 + autoResize TRUE) + (object UsesView "" @933 + stereotype TRUE + line_color 3342489 + quidu "40C715E5023F" + client @925 + supplier @932 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTDevAddr" @934 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1578, 1236) + label (object ItemLabel + Parent_View @934 + location (1450, 1190) + fill_color 13434879 + nlines 1 + max_width 256 + justify 0 + label "TBTDevAddr") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C05A14029A" + width 274 + height 117 + autoResize TRUE) + (object UsesView "" @935 + stereotype TRUE + line_color 3342489 + quidu "40C717650061" + client @925 + supplier @934 + line_style 0) + (object HasView "Owner" @936 + label (object ItemLabel + Parent_View @936 + location (767, 962) + anchor_loc 1 + nlines 1 + max_width 118 + justify 0 + label "Owner") + stereotype TRUE + line_color 3342489 + quidu "40C979BC001B" + client @930 + supplier @925 + line_style 0))) + (object ClassDiagram "RBnepControl and derivations" + quid "414EBBAD0326" + title "RBnepControl and derivations" + documentation +|RBnepControl is the parent of a set of derived classes representing either BNEP control messages or their responses. Each of these controls is the physical implementation of the message it purports to represent. This means the user must be very careful to make sure that each of these controls have RMBufChain::Free() called at the appropriate times to ensure that MBufManager memory leaks don't occur. +|Note also that RBnepControl has a TSglQueLink member, which allows these objects to be held in TSglQues, as they are routinely in RBnepFrame. +| +|Whenever BNEP receives a control that it cannot interpret, a RBnepNotUnderstoodResponseControl is generated. This contains the faulty control code that caused the response to be generated. BNEP currently has no logic to deal with the arrival of this control response from another BNEP. +| +|RBnepSetConnectionRequestControl can be instantiated in two places. The first is on the input side, on receipt of such a request across a Bluetooth connection, and the other is on the output side when BNEP has been instructed to request a connection from the remote end. +| +|RBnepSetupConnectionResponseControls are instantiated on the input side if the BNEP has previously requested a connection be set up on a remote device, or on the output side when responding to a remote request to set up a connection. +| +|RBnepFilterNetTypeSetRequestControl and RBnepFilterMultiAddrSetRequestControl objects should only appear on the input side, as part of the parsing mechanism, when received from a remote link. This version of BNEP does not emit filter requests, as the mechanisms do not exist in the upper layers of the comms stack to enable this functionality to be used. Therefore the current version of BNEP cannot specify filtering on any link. However, it can honour and respond to filtering requests from other BNEP implementations. Currently, therefore, the setting methods on both of these types of objects are not implemented, since they are not required yet. +| +|RBnepFilterNetTypeResponseControl and RBnepFilterMultiAddrResponseControl objects only appear on the output side, as responses to remote filter requests. Again, the limitations on filter requesting, in this version of BNEP, mean that this BNEP should not expect to receive responses to control requests it cannot emit. The accessor methods on these controls are implemented but not used or tested. + + zoom 95 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 1711 + items (list diagram_item_list + (object ClassView "Class" "Logical View::RBnepControl" @937 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2622, 1017) + label (object ItemLabel + Parent_View @937 + location (2316, 914) + fill_color 13434879 + nlines 1 + max_width 612 + justify 0 + label "RBnepControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C04FCB02D0" + width 630 + height 230 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Comms-infras::RMBufChain" @938 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2622, 144) + label (object ItemLabel + Parent_View @938 + location (2489, 99) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "RMBufChain") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0613602A0" + width 284 + height 114 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepSetupConnectionRequestControl" @939 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (840, 492) + label (object ItemLabel + Parent_View @939 + location (262, 315) + fill_color 13434879 + nlines 1 + max_width 1156 + justify 0 + label "RBnepSetupConnectionRequestControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C04FE6035B" + width 1174 + height 378 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepSetupConnectionResponseControl" @940 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1269, 1443) + label (object ItemLabel + Parent_View @940 + location (395, 1315) + fill_color 13434879 + nlines 1 + max_width 1748 + justify 0 + label "RBnepSetupConnectionResponseControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C050B10245" + width 1766 + height 280 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepFilterNetTypeSetRequestControl" @941 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1389, 1776) + label (object ItemLabel + Parent_View @941 + location (431, 1623) + fill_color 13434879 + nlines 1 + max_width 1916 + justify 0 + label "RBnepFilterNetTypeSetRequestControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68AE302E2" + width 1934 + height 330 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepFilterNetTypeResponseControl" @942 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (903, 834) + label (object ItemLabel + Parent_View @942 + location (280, 731) + fill_color 13434879 + nlines 1 + max_width 1246 + justify 0 + label "RBnepFilterNetTypeResponseControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68B03028E" + width 1264 + height 230 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepFilterMultiAddrSetRequestControl" @943 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1548, 2133) + label (object ItemLabel + Parent_View @943 + location (482, 1981) + fill_color 13434879 + nlines 1 + max_width 2132 + justify 0 + label "RBnepFilterMultiAddrSetRequestControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68B20014F" + width 2150 + height 328 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepFilterMultiAddrResponseControl" @944 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (927, 1131) + label (object ItemLabel + Parent_View @944 + location (288, 1028) + fill_color 13434879 + nlines 1 + max_width 1278 + justify 0 + label "RBnepFilterMultiAddrResponseControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68B66004C" + width 1296 + height 230 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepNotUnderstoodResponseControl" @945 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (840, 150) + label (object ItemLabel + Parent_View @945 + location (260, 47) + fill_color 13434879 + nlines 1 + max_width 1160 + justify 0 + label "RBnepNotUnderstoodResponseControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "410509070129" + width 1178 + height 230 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Epoc32::TSglQueLink" @946 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2625, 1806) + label (object ItemLabel + Parent_View @946 + location (2493, 1761) + fill_color 13434879 + nlines 1 + max_width 264 + justify 0 + label "TSglQueLink") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C583FB031C" + width 282 + height 114 + autoResize TRUE) + (object ClassView "Class" "Logical View::TBnepControlType" @947 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2148, 1296) + label (object ItemLabel + Parent_View @947 + location (1960, 1251) + fill_color 13434879 + nlines 1 + max_width 376 + justify 0 + label "TBnepControlType") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C06127015E" + width 394 + height 114 + autoResize TRUE) + (object UsesView "" @948 + stereotype TRUE + line_color 3342489 + quidu "40C716640256" + client @937 + supplier @947 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLog" @949 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2811, 1446) + label (object ItemLabel + Parent_View @949 + location (2702, 1401) + fill_color 13434879 + nlines 1 + max_width 218 + justify 0 + label "CBnepLog") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B5A9014D" + width 236 + height 114 + autoResize TRUE) + (object UsesView "" @950 + stereotype TRUE + line_color 3342489 + quidu "40C867860361" + client @937 + supplier @949 + line_style 0) + (object ClassView "Class" "Logical View::RBnepFrame" @951 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1713, 204) + label (object ItemLabel + Parent_View @951 + location (1576, 159) + fill_color 13434879 + nlines 1 + max_width 274 + justify 0 + label "RBnepFrame") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049510377" + width 292 + height 114 + autoResize TRUE) + (object UsesView "" @952 + stereotype TRUE + line_color 3342489 + quidu "40C7163303D2" + client @951 + supplier @937 + line_style 0) + (object ClassView "Class" "Logical View::MLinkManager" @953 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2052, 201) + label (object ItemLabel + Parent_View @953 + location (1901, 156) + fill_color 13434879 + nlines 1 + max_width 302 + justify 0 + label "MLinkManager") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C050FF0107" + width 320 + height 114 + autoResize TRUE) + (object UsesView "" @954 + stereotype TRUE + line_color 3342489 + quidu "40C8339A0212" + client @953 + supplier @937 + line_style 0) + (object InheritView "" @955 + stereotype TRUE + line_color 3342489 + quidu "41701E87003E" + client @937 + supplier @938 + line_style 0) + (object HasView "Link" @956 + label (object ItemLabel + Parent_View @956 + location (2623, 1440) + anchor_loc 1 + nlines 1 + max_width 79 + justify 0 + label "Link") + stereotype TRUE + line_color 3342489 + quidu "40C584E10254" + client @937 + supplier @946 + line_style 0) + (object InheritView "" @957 + stereotype TRUE + line_color 3342489 + quidu "414EBD1702D7" + client @940 + supplier @937 + line_style 0) + (object InheritView "" @958 + stereotype TRUE + line_color 3342489 + quidu "40F68D5900AD" + client @943 + supplier @937 + line_style 0) + (object InheritView "" @959 + stereotype TRUE + line_color 3342489 + quidu "40F68D690273" + client @941 + supplier @937 + line_style 0) + (object InheritView "" @960 + stereotype TRUE + line_color 3342489 + quidu "4105092401DF" + client @945 + supplier @937 + line_style 0) + (object InheritView "" @961 + stereotype TRUE + line_color 3342489 + quidu "40C4440D0034" + client @939 + supplier @937 + line_style 0) + (object InheritView "" @962 + stereotype TRUE + line_color 3342489 + quidu "40F68D560243" + client @942 + supplier @937 + line_style 0) + (object InheritView "" @963 + stereotype TRUE + line_color 3342489 + quidu "40F68D6601E2" + client @944 + supplier @937 + line_style 0))) + (object ClassDiagram "RBnepFrame" + quid "414EBDA00139" + title "RBnepFrame" + documentation +|RBnepFrame is probably misnamed as it acts more as a BNEP interpretive factory or message processing engine. The nature of RBnepFrame's piecemeal evolution means that it has encapsulated more responsibilities than is usually healthy for any particular object. It is a prime candidate for refactoring, since it's role is too broadly defined and it sits at the centre of BNEP directing the flow of both input and output. +|Each CBnepLink contains 2 RBnepFrames - iComing and iGoing. As their names suggest, each has specific role responsibilities with regards to the direction in which information is flowing. +|At the heart of RBnepFrame is the command queue; a TSglQue of RBnepControl objects. The parse and extract methods on RBnepFrame will populate the command queue with whatever they find in the BNEP frame in terms of controls and extensions. The results of executing these controls in teh channel controller are likely to be response controls which are similarly collected in the command queue (of a different RBnepFrame instance, in practice). These are then used, in conjunction with any payload, to construct packets for output via the RBnepFrame's build methods. +|When BNEP evolves to emit the full set of controls and handle the responses, the command queue mechanism will still be able to serve, in both directions. +|It is important to note that all instances of RBnepFrame must be routinely reset when appropriate. Failure to reset at the correct times will cause memory leaks because of the ubiquitous use of RMBufChain as both a parent to RBnepControl and as the specific storage medium for the data payload. It is important to ensure, particularly during leaving methods, that any unused portions of RMBufChains are freed before the leave takes place. + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 1694 + items (list diagram_item_list + (object ClassView "Class" "Logical View::RBnepFrame" @964 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1629, 1254) + label (object ItemLabel + Parent_View @964 + location (1491, 565) + fill_color 13434879 + nlines 1 + max_width 276 + justify 0 + label "RBnepFrame") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049510377" + width 294 + height 1402 + autoResize TRUE) + (object ClassView "InstantiatedClass" "Logical View::( TSglQue < RBnepControl > )" @965 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (318, 2409) + label (object ItemLabel + Parent_View @965 + location (18, 2363) + fill_color 13434879 + nlines 1 + max_width 600 + justify 0 + label "( TSglQue < RBnepControl > )") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C594270261" + width 618 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Bluetooth::TBTDevAddr" @966 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2094, 2415) + label (object ItemLabel + Parent_View @966 + location (1966, 2369) + fill_color 13434879 + nlines 1 + max_width 256 + justify 0 + label "TBTDevAddr") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C05A14029A" + width 274 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Epoc32::TUint16" @967 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (822, 2430) + label (object ItemLabel + Parent_View @967 + location (730, 2384) + fill_color 13434879 + nlines 1 + max_width 184 + justify 0 + label "TUint16") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C060EE00D0" + width 202 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Epoc32::TUint8" @968 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1197, 2430) + label (object ItemLabel + Parent_View @968 + location (1116, 2384) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "TUint8") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C060DE031C" + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::Undocument::Comms-infras::RMBufChain" @969 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1617, 2430) + label (object ItemLabel + Parent_View @969 + location (1482, 2384) + fill_color 13434879 + nlines 1 + max_width 270 + justify 0 + label "RMBufChain") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0613602A0" + width 288 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::CBnepLink" @970 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (1626, 126) + label (object ItemLabel + Parent_View @970 + location (1507, 80) + fill_color 13434879 + nlines 1 + max_width 238 + justify 0 + label "CBnepLink") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0510D0175" + width 256 + height 117 + autoResize TRUE) + (object ClassView "Class" "Logical View::RBnepControl" @971 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (3444, 1881) + label (object ItemLabel + Parent_View @971 + location (3300, 1835) + fill_color 13434879 + nlines 1 + max_width 288 + justify 0 + label "RBnepControl") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C04FCB02D0" + width 306 + height 117 + autoResize TRUE) + (object UsesView "" @972 + stereotype TRUE + line_color 3342489 + quidu "40C7163303D2" + client @964 + supplier @971 + line_style 0) + (object ClassView "Class" "Logical View::MLinkManager" @973 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (3450, 1719) + label (object ItemLabel + Parent_View @973 + location (3297, 1673) + fill_color 13434879 + nlines 1 + max_width 306 + justify 0 + label "MLinkManager") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C050FF0107" + width 324 + height 117 + autoResize TRUE) + (object UsesView "" @974 + stereotype TRUE + line_color 3342489 + quidu "40C716FE010D" + client @964 + supplier @973 + line_style 0) + (object ClassView "Class" "Logical View::CBnepLog" @975 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (3450, 1566) + label (object ItemLabel + Parent_View @975 + location (3334, 1520) + fill_color 13434879 + nlines 1 + max_width 232 + justify 0 + label "CBnepLog") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B5A9014D" + width 250 + height 117 + autoResize TRUE) + (object UsesView "" @976 + stereotype TRUE + line_color 3342489 + quidu "40C9BB240119" + client @964 + supplier @975 + line_style 0) + (object ClassView "ParameterizedClass" "Logical View::Undocument::Epoc32::TBuf8" @977 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (3420, 1092) + label (object ItemLabel + Parent_View @977 + location (3339, 1065) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "TBuf8") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C9BBF2029C" + height 155 + autoResize TRUE) + (object UsesView "" @978 + stereotype TRUE + line_color 3342489 + quidu "40C9BCB10391" + client @964 + supplier @977 + line_style 0) + (object ClassView "Class" "Logical View::BnepUtils" @979 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (3453, 1410) + label (object ItemLabel + Parent_View @979 + location (3349, 1364) + fill_color 13434879 + nlines 1 + max_width 208 + justify 0 + label "BnepUtils") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B2D3013F" + width 226 + height 117 + autoResize TRUE) + (object UsesView "" @980 + stereotype TRUE + line_color 3342489 + quidu "40CD9C1D014E" + client @964 + supplier @979 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Comms-infras::RMBufPacket" @981 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (3462, 1257) + label (object ItemLabel + Parent_View @981 + location (3319, 1211) + fill_color 13434879 + nlines 1 + max_width 286 + justify 0 + label "RMBufPacket") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0641D006E" + width 304 + height 117 + autoResize TRUE) + (object UsesView "" @982 + stereotype TRUE + line_color 3342489 + quidu "40CD9DBC02E3" + client @964 + supplier @981 + line_style 0) + (object ClassView "Class" "Logical View::CBnepBridge" @983 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (729, 126) + label (object ItemLabel + Parent_View @983 + location (596, 80) + fill_color 13434879 + nlines 1 + max_width 266 + justify 0 + label "CBnepBridge") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049600007" + width 284 + height 117 + autoResize TRUE) + (object UsesView "" @984 + stereotype TRUE + line_color 3342489 + quidu "40C7196D01B3" + client @983 + supplier @964 + line_style 0) + (object ClassView "Class" "Logical View::MPanDeviceOwner" @985 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2196, 126) + label (object ItemLabel + Parent_View @985 + location (2005, 80) + fill_color 13434879 + nlines 1 + max_width 382 + justify 0 + label "MPanDeviceOwner") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C0497600BD" + width 400 + height 117 + autoResize TRUE) + (object UsesView "" @986 + stereotype TRUE + line_color 3342489 + quidu "40C715E5023F" + client @985 + supplier @964 + line_style 0) + (object ClassView "Class" "Logical View::MPanDevice" @987 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (2568, 126) + label (object ItemLabel + Parent_View @987 + location (2439, 80) + fill_color 13434879 + nlines 1 + max_width 258 + justify 0 + label "MPanDevice") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C049CB02DC" + width 276 + height 117 + autoResize TRUE) + (object UsesView "" @988 + stereotype TRUE + line_color 3342489 + quidu "40C717DD02DA" + client @987 + supplier @964 + line_style 0) + (object UsesView "" @989 + stereotype TRUE + line_color 3342489 + quidu "40FD30130135" + client @987 + supplier @964 + line_style 0) + (object HasView "OutGoing" @990 + label (object ItemLabel + Parent_View @990 + location (1626, 368) + anchor_loc 1 + nlines 1 + max_width 188 + justify 0 + label "OutGoing") + stereotype TRUE + line_color 3342489 + quidu "413C294A01B6" + client @970 + supplier @964 + line_style 0) + (object HasView "InComing" @991 + label (object ItemLabel + Parent_View @991 + location (1626, 368) + anchor_loc 1 + nlines 1 + max_width 168 + justify 0 + label "InComing") + stereotype TRUE + line_color 3342489 + quidu "413C296E01CC" + client @970 + supplier @964 + line_style 0) + (object ClassView "Class" "Logical View::Undocument::Comms-infras::RMBufPktQ" @992 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (174, 2193) + label (object ItemLabel + Parent_View @992 + location (51, 2147) + fill_color 13434879 + nlines 1 + max_width 246 + justify 0 + label "RMBufPktQ") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "416D41B40278" + width 264 + height 117 + autoResize TRUE) + (object HasView "CommandQueue" @993 + label (object ItemLabel + Parent_View @993 + location (931, 1866) + anchor_loc 1 + nlines 1 + max_width 304 + justify 0 + label "CommandQueue") + stereotype TRUE + line_color 3342489 + quidu "40C594A10162" + client @964 + supplier @965 + line_style 0) + (object HasView "DestAddr" @994 + label (object ItemLabel + Parent_View @994 + location (1922, 1989) + anchor_loc 1 + nlines 1 + max_width 175 + justify 0 + label "DestAddr") + stereotype TRUE + line_color 3342489 + quidu "40C5952C0175" + client @964 + supplier @966 + line_style 0) + (object HasView "SrcAddr" @995 + label (object ItemLabel + Parent_View @995 + location (2008, 1923) + anchor_loc 1 + nlines 1 + max_width 146 + justify 0 + label "SrcAddr") + stereotype TRUE + line_color 3342489 + quidu "40C5954001A6" + client @964 + supplier @966 + vertices (list Points + (1776, 1514) + (2138, 2152) + (2103, 2356)) + line_style 0) + (object HasView "Protocol" @996 + label (object ItemLabel + Parent_View @996 + location (1211, 1955) + anchor_loc 1 + nlines 1 + max_width 154 + justify 0 + label "Protocol") + stereotype TRUE + line_color 3342489 + quidu "40C5958700D6" + client @964 + supplier @967 + vertices (list Points + (1481, 1499) + (1023, 2271) + (894, 2371)) + line_style 0) + (object HasView "QTagHeader" @997 + label (object ItemLabel + Parent_View @997 + location (1090, 1872) + anchor_loc 1 + nlines 1 + max_width 233 + justify 0 + label "QTagHeader") + stereotype TRUE + line_color 3342489 + quidu "40C59597006B" + client @964 + supplier @967 + vertices (list Points + (1481, 1422) + (829, 2171) + (822, 2371)) + line_style 0) + (object HasView "PacketContents" @998 + label (object ItemLabel + Parent_View @998 + location (1349, 2012) + anchor_loc 1 + nlines 1 + max_width 307 + justify 0 + label "PacketContents") + stereotype TRUE + line_color 3342489 + quidu "40C595C20117" + client @964 + supplier @968 + line_style 0) + (object HasView "EthernetPayload" @999 + label (object ItemLabel + Parent_View @999 + location (1619, 2163) + anchor_loc 1 + nlines 1 + max_width 315 + justify 0 + label "EthernetPayload") + stereotype TRUE + line_color 3342489 + quidu "40C595E30309" + client @964 + supplier @969 + line_style 0)))))) + logical_presentations (list unit_reference_list + (object ClassDiagram "BNEP - Architectural Context" + quid "40C049150264" + title "BNEP - Architectural Context" + documentation +|As the diagram shows, the BNEP packet driver sits beneath Ethint.NIF and above the Bluetooth L2CAP stack component. The basic purpose of BNEP is both to unwrap Bluetooth-transported Ethernet packets and push them up through the Ethernet stack, and also to wrap Ethernet packets into Bluetooth-compatible frames and push them out via the Bluetooth stack. +|All service discovery and link construction is handled by the PAN Agent, which delivers links, as sockets, to BNEP as they are required. BNEP is implemented as a packet driver, bnep.drv, loaded into the ESOCK thread within the c32 process. This means that RInternalSocket handles have to be used instead of RSockets. PAN Agent is ultimately responsible for allocating and controlling the roles within the PAN Profile, therefore BNEP is almost completely unaware of PAN roles. +|BNEP is also required to recognise and handle a set of BNEP control messages. When control messages are delivered to BNEP, it is BNEP's responsibility to handle them appropriately by either implementing the request, delegating the request to PAN Agent or declining the request. In all cases, BNEP is required to respond to the requesting device. +|The full set of BNEP control messages are defined in [1]. +|BNEP-specific panic codes are only generated from within UDEB builds. In UREL builds, BNEP is implemented to fall over gracefully without taking any other components with it as it goes. + + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Use Case View::BNEP" @1000 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (231, 522) + label (object ItemLabel + Parent_View @1000 + location (150, 476) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "BNEP") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "41500F210074" + height 117 + autoResize TRUE) + (object ClassView "Class" "Use Case View::PAN Agent" @1001 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (870, 519) + label (object ItemLabel + Parent_View @1001 + location (754, 473) + fill_color 13434879 + nlines 1 + max_width 232 + justify 0 + label "PAN Agent") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "41500F2A038E" + width 250 + height 117 + autoResize TRUE) + (object ClassView "Class" "Use Case View::Ethint.NIF" @1002 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (228, 126) + label (object ItemLabel + Parent_View @1002 + location (116, 80) + fill_color 13434879 + nlines 1 + max_width 224 + justify 0 + label "Ethint.NIF") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "41500F360395" + width 242 + height 117 + autoResize TRUE) + (object ClassView "Class" "Use Case View::L2CAP" @1003 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (225, 930) + label (object ItemLabel + Parent_View @1003 + location (143, 884) + fill_color 13434879 + nlines 1 + max_width 164 + justify 0 + label "L2CAP") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "41500F430394" + width 182 + height 117 + autoResize TRUE) + (object ClassView "Class" "Use Case View::SDP" @1004 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (873, 933) + label (object ItemLabel + Parent_View @1004 + location (792, 887) + fill_color 13434879 + nlines 1 + max_width 162 + justify 0 + label "SDP") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "41500F540172" + height 117 + autoResize TRUE) + (object UsesView "" @1005 + stereotype TRUE + line_color 3342489 + quidu "41500F8B0058" + client @1001 + supplier @1000 + line_style 0) + (object UsesView "" @1006 + stereotype TRUE + line_color 3342489 + quidu "41500F9202BB" + client @1001 + supplier @1004 + line_style 0) + (object UsesView "" @1007 + stereotype TRUE + line_color 3342489 + quidu "41500F810343" + client @1002 + supplier @1000 + line_style 0) + (object UsesView "" @1008 + stereotype TRUE + line_color 3342489 + quidu "41500F84038E" + client @1000 + supplier @1002 + line_style 0) + (object UsesView "" @1009 + stereotype TRUE + line_color 3342489 + quidu "41500F870298" + client @1000 + supplier @1001 + vertices (list Points + (321, 498) + (491, 456) + (744, 497)) + line_style 0) + (object UsesView "" @1010 + stereotype TRUE + line_color 3342489 + quidu "41500F960181" + client @1000 + supplier @1003 + line_style 0) + (object UsesView "" @1011 + stereotype TRUE + line_color 3342489 + quidu "41500F990077" + client @1003 + supplier @1000 + line_style 0) + (object ClassView "Class" "Use Case View::Eintsock" @1012 + ShowCompartmentStereotypes TRUE + SuppressAttribute TRUE + SuppressOperation TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + ShowOperationSignature TRUE + location (561, 753) + label (object ItemLabel + Parent_View @1012 + location (466, 707) + fill_color 13434879 + nlines 1 + max_width 190 + justify 0 + label "Eintsock") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "416BE8EC0324" + width 208 + height 117 + autoResize TRUE) + (object UsesView "" @1013 + stereotype TRUE + line_color 3342489 + quidu "416BE90D02AA" + client @1000 + supplier @1012 + line_style 0) + (object UsesView "" @1014 + stereotype TRUE + line_color 3342489 + quidu "416BE910033A" + client @1001 + supplier @1012 + line_style 0))))) + root_subsystem (object SubSystem "Component View" + quid "40C049140277" + physical_models (list unit_reference_list + (object SubSystem "epoc32" + quid "40C057C70199" + physical_models (list unit_reference_list + (object module "e32base" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include <$file> +| + ))) + quid "40C0580902B6" + stereotype "" + language "C++") + (object module "e32std" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include <$file> +| + ))) + quid "40C0581B02E4" + stereotype "" + language "C++") + (object module "bt_sock" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE)) + quid "40C059C102A5" + stereotype "" + language "C++") + (object module "e32def" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include <$file> +| + ))) + quid "40C42E8101C4" + stereotype "" + language "C++") + (object module "bttypes" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include <$file> +| + ))) + quid "40C42EF40256" + stereotype "" + language "C++") + (object module "es_mbuf" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include <$file> +| + ))) + quid "40C43076020B" + stereotype "" + language "C++") + (object module "nifmbuf" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include <$file> +| + ))) + quid "40C430B20121" + stereotype "" + language "C++") + (object module "intsock" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include <$file> +| + ))) + quid "40C4312300AB" + stereotype "" + language "C++") + (object module "eintsock" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\epoc32\\eintsock.h") + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include +| + ))) + quid "40C470050383" + stereotype "" + language "C++") + (object module "nifprvar" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include +| + )) + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\epoc32\\nifprvar.h") + (object Attribute + tool "cg" + name "Generate" + value FALSE)) + quid "40C5BABF0394" + stereotype "" + language "C++") + (object module "completelyunknown" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include <$file> +| + ))) + quid "40C70C3B01E8" + stereotype "" + language "C++") + (object module "nifif" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include +| + ))) + quid "40C96DCA0154" + stereotype "" + language "C++") + (object module "e32cmn" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include <$file> +| + ))) + quid "40C96FA90243" + stereotype "" + language "C++") + (object module "e32property" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include <$file> +| + ))) + quid "40CEC3840074" + stereotype "" + language "C++") + (object module "bt_subscribe" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include <$file> +| + ))) + quid "40CEDA1803BE" + stereotype "" + language "C++") + (object module "commsdebugutility" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include +| + ))) + quid "40D2D12300CD" + stereotype "" + language "C++") + (object module "e32const" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include <$file> +| + ))) + quid "41178B71014A" + stereotype "" + language "C++")) + physical_presentations (list unit_reference_list)) + (object SubSystem "BNEP" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Directory" + value (value Text ""))) + quid "40C44BF003DB" + physical_models (list unit_reference_list + (object module "RBnepControl" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepControl.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__RBNEPCONTROL_H"))) + quid "40C44C240209" + stereotype "Package Specification" + language "C++") + (object module "CBnepBridge" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CBnepBridge.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__CBNEPBRIDGE_H"))) + quid "40C44D8B0291" + stereotype "Package Specification" + language "C++") + (object module "CBnepBridge" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CBnepBridge.cpp")) + quid "40C44D940280" + stereotype "Package Body" + language "C++") + (object module "CBnepChannelController" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CBnepChannelController.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__CBNEPCHANNELCONTROLLER_H"))) + quid "40C44DA3005B" + stereotype "Package Specification" + language "C++") + (object module "CBnepChannelController" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CBnepChannelController.cpp")) + quid "40C44DAE022D" + stereotype "Package Body" + language "C++") + (object module "CBnepLink" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CBnepLink.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__CBNEPLINK_H"))) + quid "40C44DBD03A1" + stereotype "Package Specification" + language "C++") + (object module "CBnepLink" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CBnepLink.cpp")) + quid "40C44DC50014" + stereotype "Package Body" + language "C++") + (object module "CBnepLocalDevice" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CBnepLocalDevice.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__CBNEPLOCALDEVICE_H"))) + quid "40C44DD101D4" + stereotype "Package Specification" + language "C++") + (object module "CBnepLocalDevice" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CBnepLocalDevice.cpp")) + quid "40C44DDB0282" + stereotype "Package Body" + language "C++") + (object module "CSocketReader" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CSocketReader.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__CSOCKETREADER_H"))) + quid "40C466A30054" + stereotype "Package Specification" + language "C++") + (object module "CSocketReader" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CSocketReader.cpp")) + quid "40C466AA0343" + stereotype "Package Body" + language "C++") + (object module "CSocketWriter" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CSocketWriter.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__CSOCKETWRITER_H"))) + quid "40C466CE01BE" + stereotype "Package Specification" + language "C++") + (object module "CSocketWriter" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CSocketWriter.cpp")) + quid "40C466E5012B" + stereotype "Package Body" + language "C++") + (object module "MBnepConnectionManager" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\MBnepConnectionManager.cpp")) + quid "40C469090129" + stereotype "Package Body" + language "C++") + (object module "MLinkManager" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\MLinkManager.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__MLINKMANAGER_H"))) + quid "40C469230361" + stereotype "Package Specification" + language "C++") + (object module "MPanConnectionNotify" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\MPanConnectionNotify.cpp")) + quid "40C46980001C" + stereotype "Package Body" + language "C++") + (object module "MPanDevice" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\MPanDevice.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__MPANDEVICE_H"))) + quid "40C4699C00A8" + stereotype "Package Specification" + language "C++") + (object module "MPanDeviceOwner" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\MPanDeviceOwner.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__MPANDEVICEOWNER_H"))) + quid "40C469DD012E" + stereotype "Package Specification" + language "C++") + (object module "RBnepFrame" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepFrame.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__RBNEPFRAME_H"))) + quid "40C46B70026E" + stereotype "Package Specification" + language "C++") + (object module "RBnepFrame" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepFrame.cpp")) + quid "40C46B840294" + stereotype "Package Body" + language "C++") + (object module "RBnepSetupConnectionRequestControl" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepSetupConnectionRequestControl.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__RBNEPSETUPCONNECTIONREQUESTCONTROL_H"))) + quid "40C46B9602D6" + stereotype "Package Specification" + language "C++") + (object module "RBnepSetupConnectionRequestControl" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepSetupConnectionRequestControl.cpp")) + quid "40C46BB4030C" + stereotype "Package Body" + language "C++") + (object module "RBnepSetupConnectionResponseControl" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepSetupConnectionResponseControl.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__RBNEPSETUPCONNECTIONRESPONSECONTROL_H"))) + quid "40C46BD30053" + stereotype "Package Specification" + language "C++") + (object module "RBnepSetupConnectionResponseControl" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepSetupConnectionResponseControl.cpp")) + quid "40C46BF2006C" + stereotype "Package Body" + language "C++") + (object module "BnepTypes" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\BnepTypes.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__BNEPTYPES_H"))) + quid "40C46C7D03C9" + stereotype "Package Specification" + language "C++") + (object module "BnepUtils" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\BnepUtils.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__BNEPUTILS_H"))) + quid "40C5B41101BE" + stereotype "Package Specification" + language "C++") + (object module "BnepUtils" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\BnepUtils.cpp")) + quid "40C5B43101F6" + stereotype "Package Body" + language "C++") + (object module "CBnepLog" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CBnepLog.h") + (object Attribute + tool "cg" + name "InliningStyle" + value ("InliningStyleSet" 208)) + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__CBNEPLOG_H"))) + quid "40C5B93B0237" + stereotype "Package Specification" + language "C++") + (object module "CBnepLog" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CBnepLog.cpp") + (object Attribute + tool "cg" + name "InliningStyle" + value ("InliningStyleSet" 208))) + quid "40C5B9440050" + stereotype "Package Body" + language "C++") + (object module "CBTAddrSubscriber" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CBTAddrSubscriber.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__CBTADDRSUBSCRIBER_H"))) + quid "40C5B9BC0391" + stereotype "Package Specification" + language "C++") + (object module "CBTAddrSubscriber" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CBTAddrSubscriber.cpp")) + quid "40C5B9D300E1" + stereotype "Package Body" + language "C++") + (object module "CBnepPktDrvFactory" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CBnepPktDrvFactory.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__CBNEPPKTDRVFACTORY_H"))) + quid "40C969D40322" + stereotype "Package Specification" + language "C++") + (object module "CBnepPktDrvFactory" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CBnepPktDrvFactory.cpp")) + quid "40C969F1002B" + stereotype "Package Body" + language "C++") + (object module "RBnepFilterNetTypeSetRequestControl" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepFilterNetTypeSetRequestControl.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__RBNEPFILTERNETTYPESETREQUESTCONTROL_H"))) + quid "40F68B980383" + stereotype "Package Specification" + language "C++") + (object module "RBnepFilterNetTypeSetRequestControl" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepFilterNetTypeSetRequestControl.cpp")) + quid "40F68BC300F0" + stereotype "Package Body" + language "C++") + (object module "RBnepFilterNetTypeResponseControl" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepFilterNetTypeResponseControl.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__RBNEPFILTERNETTYPERESPONSECONTROL_H"))) + quid "40F68BF800CE" + stereotype "Package Specification" + language "C++") + (object module "RBnepFilterNetTypeResponseControl" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepFilterNetTypeResponseControl.cpp")) + quid "40F68C22029B" + stereotype "Package Body" + language "C++") + (object module "RBnepFilterMultiAddrSetRequestControl" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepFilterMultiAddrSetRequestControl.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__RBNEPFILTERMULTIADDRSETREQUESTCONTROL_H"))) + quid "40F68C510035" + stereotype "Package Specification" + language "C++") + (object module "RBnepFilterMultiAddrSetRequestControl" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepFilterMultiAddrSetRequestControl.cpp")) + quid "40F68C750308" + stereotype "Package Body" + language "C++") + (object module "RBnepFilterMultiAddrResponseControl" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepFilterMultiAddrResponseControl.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__RBNEPFILTERMULTIADDRRESPONSECONTROL_H"))) + quid "40F68C9900ED" + stereotype "Package Specification" + language "C++") + (object module "RBnepFilterMultiAddrResponseControl" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepFilterMultiAddrResponseControl.cpp")) + quid "40F68CBB01C8" + stereotype "Package Body" + language "C++") + (object module "RBnepNotUnderstoodResponseControl" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepNotUnderstoodResponseControl.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__RBNEPNOTUNDERSTOODRESPONSECONTROL_H"))) + quid "41050960014F" + stereotype "Package Specification" + language "C++") + (object module "RBnepNotUnderstoodResponseControl" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\RBnepNotUnderstoodResponseControl.cpp")) + quid "4105098103BA" + stereotype "Package Body" + language "C++") + (object module "CMultiAddrFilterTable" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CMultiAddrFilterTable.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__CMULTIADDRFILTERTABLE_H"))) + quid "41247B920123" + stereotype "Package Specification" + language "C++") + (object module "CMultiAddrFilterTable" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CMultiAddrFilterTable.cpp")) + quid "41247B9E03D3" + stereotype "Package Body" + language "C++") + (object module "CNetTypeFilterTable" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CNetTypeFilterTable.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__CNETTYPEFILTERTABLE_H"))) + quid "41247BA90252" + stereotype "Package Specification" + language "C++") + (object module "CNetTypeFilterTable" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\CNetTypeFilterTable.cpp")) + quid "41247BB302F7" + stereotype "Package Body" + language "C++") + (object module "TBnepBTDevAddr" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\TBnepBTDevAddr.h") + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value (value Text "__TBNEPBTDEVADDR_H"))) + quid "4125EEED010D" + stereotype "Package Specification" + language "C++") + (object module "TBnepBTDevAddr" "PackageType" "Body" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "$BNEP\\TBnepBTDevAddr.cpp")) + quid "4125EF0001A1" + stereotype "Package Body" + language "C++")) + physical_presentations (list unit_reference_list + (object Module_Diagram "BNEP Components" + quid "40C44C120393" + title "BNEP Components" + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ModView "Component View::BNEP::RBnepControl" "PackageType" "Specification" @1015 + location (228, 304) + label (object ItemLabel + Parent_View @1015 + location (166, 108) + anchor_loc 3 + nlines 1 + max_width 543 + label "RBnepControl") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C44C240209" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CBnepBridge" "PackageType" "Specification" @1016 + location (1215, 303) + label (object ItemLabel + Parent_View @1016 + location (1153, 107) + anchor_loc 3 + nlines 1 + max_width 543 + label "CBnepBridge") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C44D8B0291" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CBnepBridge" "PackageType" "Body" @1017 + location (1710, 304) + label (object ItemLabel + Parent_View @1017 + location (1648, 108) + anchor_loc 3 + nlines 1 + max_width 543 + label "CBnepBridge") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C44D940280" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CBnepChannelController" "PackageType" "Specification" @1018 + location (2205, 303) + label (object ItemLabel + Parent_View @1018 + location (2143, 107) + anchor_loc 3 + nlines 1 + max_width 543 + label "CBnepChannelController") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C44DA3005B" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CBnepChannelController" "PackageType" "Body" @1019 + location (2888, 304) + label (object ItemLabel + Parent_View @1019 + location (2826, 108) + anchor_loc 3 + nlines 1 + max_width 543 + label "CBnepChannelController") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C44DAE022D" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CBnepLink" "PackageType" "Specification" @1020 + location (3344, 304) + label (object ItemLabel + Parent_View @1020 + location (3282, 108) + anchor_loc 3 + nlines 1 + max_width 543 + label "CBnepLink") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C44DBD03A1" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CBnepLink" "PackageType" "Body" @1021 + location (228, 816) + label (object ItemLabel + Parent_View @1021 + location (166, 620) + anchor_loc 3 + nlines 1 + max_width 543 + label "CBnepLink") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C44DC50014" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CBnepLocalDevice" "PackageType" "Specification" @1022 + location (666, 816) + label (object ItemLabel + Parent_View @1022 + location (604, 620) + anchor_loc 3 + nlines 1 + max_width 543 + label "CBnepLocalDevice") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C44DD101D4" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CBnepLocalDevice" "PackageType" "Body" @1023 + location (1254, 817) + label (object ItemLabel + Parent_View @1023 + location (1192, 621) + anchor_loc 3 + nlines 1 + max_width 543 + label "CBnepLocalDevice") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C44DDB0282" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CSocketReader" "PackageType" "Specification" @1024 + location (1843, 817) + label (object ItemLabel + Parent_View @1024 + location (1781, 621) + anchor_loc 3 + nlines 1 + max_width 543 + label "CSocketReader") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C466A30054" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CSocketReader" "PackageType" "Body" @1025 + location (2299, 817) + label (object ItemLabel + Parent_View @1025 + location (2237, 621) + anchor_loc 3 + nlines 1 + max_width 543 + label "CSocketReader") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C466AA0343" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CSocketWriter" "PackageType" "Specification" @1026 + location (2736, 817) + label (object ItemLabel + Parent_View @1026 + location (2674, 621) + anchor_loc 3 + nlines 1 + max_width 543 + label "CSocketWriter") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C466CE01BE" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CSocketWriter" "PackageType" "Body" @1027 + location (3249, 817) + label (object ItemLabel + Parent_View @1027 + location (3187, 621) + anchor_loc 3 + nlines 1 + max_width 543 + label "CSocketWriter") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C466E5012B" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::MBnepConnectionManager" "PackageType" "Body" @1028 + location (874, 1311) + label (object ItemLabel + Parent_View @1028 + location (812, 1115) + anchor_loc 3 + nlines 1 + max_width 543 + label "MBnepConnectionManager") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C469090129" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::MLinkManager" "PackageType" "Specification" @1029 + location (1615, 1311) + label (object ItemLabel + Parent_View @1029 + location (1553, 1115) + anchor_loc 3 + nlines 1 + max_width 543 + label "MLinkManager") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C469230361" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::MPanConnectionNotify" "PackageType" "Body" @1030 + location (2071, 1311) + label (object ItemLabel + Parent_View @1030 + location (2009, 1115) + anchor_loc 3 + nlines 1 + max_width 543 + label "MPanConnectionNotify") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C46980001C" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::MPanDevice" "PackageType" "Specification" @1031 + location (2508, 1311) + label (object ItemLabel + Parent_View @1031 + location (2446, 1115) + anchor_loc 3 + nlines 1 + max_width 543 + label "MPanDevice") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C4699C00A8" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::MPanDeviceOwner" "PackageType" "Specification" @1032 + location (2946, 1311) + label (object ItemLabel + Parent_View @1032 + location (2884, 1115) + anchor_loc 3 + nlines 1 + max_width 543 + label "MPanDeviceOwner") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C469DD012E" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::RBnepFrame" "PackageType" "Specification" @1033 + location (3553, 1311) + label (object ItemLabel + Parent_View @1033 + location (3491, 1115) + anchor_loc 3 + nlines 1 + max_width 543 + label "RBnepFrame") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C46B70026E" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::RBnepFrame" "PackageType" "Body" @1034 + location (228, 1824) + label (object ItemLabel + Parent_View @1034 + location (166, 1628) + anchor_loc 3 + nlines 1 + max_width 543 + label "RBnepFrame") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C46B840294" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::RBnepSetupConnectionRequestControl" "PackageType" "Specification" @1035 + location (702, 1824) + label (object ItemLabel + Parent_View @1035 + location (640, 1628) + anchor_loc 3 + nlines 1 + max_width 723 + label "RBnepSetupConnectionRequestControl") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C46B9602D6" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::RBnepSetupConnectionRequestControl" "PackageType" "Body" @1036 + location (1672, 1824) + label (object ItemLabel + Parent_View @1036 + location (1610, 1628) + anchor_loc 3 + nlines 1 + max_width 723 + label "RBnepSetupConnectionRequestControl") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C46BB4030C" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::RBnepSetupConnectionResponseControl" "PackageType" "Specification" @1037 + location (2641, 1824) + label (object ItemLabel + Parent_View @1037 + location (2579, 1628) + anchor_loc 3 + nlines 1 + max_width 749 + label "RBnepSetupConnectionResponseControl") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C46BD30053" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::RBnepSetupConnectionResponseControl" "PackageType" "Body" @1038 + location (3648, 1824) + label (object ItemLabel + Parent_View @1038 + location (3586, 1628) + anchor_loc 3 + nlines 1 + max_width 749 + label "RBnepSetupConnectionResponseControl") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C46BF2006C" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::BnepTypes" "PackageType" "Specification" @1039 + location (4656, 1824) + label (object ItemLabel + Parent_View @1039 + location (4594, 1628) + anchor_loc 3 + nlines 1 + max_width 543 + label "BnepTypes") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C46C7D03C9" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::BnepUtils" "PackageType" "Specification" @1040 + location (5091, 1824) + label (object ItemLabel + Parent_View @1040 + location (5029, 1628) + anchor_loc 3 + nlines 1 + max_width 543 + label "BnepUtils") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B41101BE" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::BnepUtils" "PackageType" "Body" @1041 + location (228, 2337) + label (object ItemLabel + Parent_View @1041 + location (166, 2141) + anchor_loc 3 + nlines 1 + max_width 543 + label "BnepUtils") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B43101F6" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CBnepLog" "PackageType" "Specification" @1042 + location (666, 2337) + label (object ItemLabel + Parent_View @1042 + location (604, 2141) + anchor_loc 3 + nlines 1 + max_width 543 + label "CBnepLog") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B93B0237" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CBnepLog" "PackageType" "Body" @1043 + location (1121, 2337) + label (object ItemLabel + Parent_View @1043 + location (1059, 2141) + anchor_loc 3 + nlines 1 + max_width 543 + label "CBnepLog") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B9440050" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CBTAddrSubscriber" "PackageType" "Specification" @1044 + location (1558, 2337) + label (object ItemLabel + Parent_View @1044 + location (1496, 2141) + anchor_loc 3 + nlines 1 + max_width 543 + label "CBTAddrSubscriber") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B9BC0391" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CBTAddrSubscriber" "PackageType" "Body" @1045 + location (2014, 2337) + label (object ItemLabel + Parent_View @1045 + location (1952, 2141) + anchor_loc 3 + nlines 1 + max_width 543 + label "CBTAddrSubscriber") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C5B9D300E1" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::inc::pancommon" "PackageType" "Specification" @1046 + location (2907, 2337) + label (object ItemLabel + Parent_View @1046 + location (2845, 2141) + anchor_loc 3 + nlines 1 + max_width 543 + label "pancommon") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C8232C00AC" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CBnepPktDrvFactory" "PackageType" "Specification" @1047 + location (228, 2831) + label (object ItemLabel + Parent_View @1047 + location (166, 2635) + anchor_loc 3 + nlines 1 + max_width 543 + label "CBnepPktDrvFactory") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C969D40322" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CBnepPktDrvFactory" "PackageType" "Body" @1048 + location (665, 2831) + label (object ItemLabel + Parent_View @1048 + location (603, 2635) + anchor_loc 3 + nlines 1 + max_width 543 + label "CBnepPktDrvFactory") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40C969F1002B" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::RBnepFilterNetTypeSetRequestControl" "PackageType" "Specification" @1049 + location (1121, 2831) + label (object ItemLabel + Parent_View @1049 + location (1059, 2635) + anchor_loc 3 + nlines 1 + max_width 715 + label "RBnepFilterNetTypeSetRequestControl") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68B980383" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::RBnepFilterNetTypeSetRequestControl" "PackageType" "Body" @1050 + location (2090, 2831) + label (object ItemLabel + Parent_View @1050 + location (2028, 2635) + anchor_loc 3 + nlines 1 + max_width 715 + label "RBnepFilterNetTypeSetRequestControl") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68BC300F0" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::RBnepFilterNetTypeResponseControl" "PackageType" "Specification" @1051 + location (3040, 2831) + label (object ItemLabel + Parent_View @1051 + location (2978, 2635) + anchor_loc 3 + nlines 1 + max_width 675 + label "RBnepFilterNetTypeResponseControl") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68BF800CE" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::RBnepFilterNetTypeResponseControl" "PackageType" "Body" @1052 + location (3971, 2831) + label (object ItemLabel + Parent_View @1052 + location (3909, 2635) + anchor_loc 3 + nlines 1 + max_width 675 + label "RBnepFilterNetTypeResponseControl") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68C22029B" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::RBnepFilterMultiAddrSetRequestControl" "PackageType" "Specification" @1053 + location (4902, 2831) + label (object ItemLabel + Parent_View @1053 + location (4840, 2635) + anchor_loc 3 + nlines 1 + max_width 736 + label "RBnepFilterMultiAddrSetRequestControl") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68C510035" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::RBnepFilterMultiAddrSetRequestControl" "PackageType" "Body" @1054 + location (228, 3344) + label (object ItemLabel + Parent_View @1054 + location (166, 3148) + anchor_loc 3 + nlines 1 + max_width 736 + label "RBnepFilterMultiAddrSetRequestControl") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68C750308" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::RBnepFilterMultiAddrResponseControl" "PackageType" "Specification" @1055 + location (1216, 3344) + label (object ItemLabel + Parent_View @1055 + location (1154, 3148) + anchor_loc 3 + nlines 1 + max_width 704 + label "RBnepFilterMultiAddrResponseControl") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68C9900ED" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::RBnepFilterMultiAddrResponseControl" "PackageType" "Body" @1056 + location (2166, 3344) + label (object ItemLabel + Parent_View @1056 + location (2104, 3148) + anchor_loc 3 + nlines 1 + max_width 704 + label "RBnepFilterMultiAddrResponseControl") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "40F68CBB01C8" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::RBnepNotUnderstoodResponseControl" "PackageType" "Specification" @1057 + location (3116, 3344) + label (object ItemLabel + Parent_View @1057 + location (3054, 3148) + anchor_loc 3 + nlines 1 + max_width 712 + label "RBnepNotUnderstoodResponseControl") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "41050960014F" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::RBnepNotUnderstoodResponseControl" "PackageType" "Body" @1058 + location (4085, 3344) + label (object ItemLabel + Parent_View @1058 + location (4023, 3148) + anchor_loc 3 + nlines 1 + max_width 712 + label "RBnepNotUnderstoodResponseControl") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "4105098103BA" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CMultiAddrFilterTable" "PackageType" "Specification" @1059 + location (5054, 3344) + label (object ItemLabel + Parent_View @1059 + location (4992, 3148) + anchor_loc 3 + nlines 1 + max_width 543 + label "CMultiAddrFilterTable") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "41247B920123" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CMultiAddrFilterTable" "PackageType" "Body" @1060 + location (5681, 3344) + label (object ItemLabel + Parent_View @1060 + location (5619, 3148) + anchor_loc 3 + nlines 1 + max_width 543 + label "CMultiAddrFilterTable") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "41247B9E03D3" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CNetTypeFilterTable" "PackageType" "Specification" @1061 + location (228, 3857) + label (object ItemLabel + Parent_View @1061 + location (166, 3661) + anchor_loc 3 + nlines 1 + max_width 543 + label "CNetTypeFilterTable") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "41247BA90252" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::CNetTypeFilterTable" "PackageType" "Body" @1062 + location (836, 3857) + label (object ItemLabel + Parent_View @1062 + location (774, 3661) + anchor_loc 3 + nlines 1 + max_width 543 + label "CNetTypeFilterTable") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "41247BB302F7" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::TBnepBTDevAddr" "PackageType" "Specification" @1063 + location (1463, 3857) + label (object ItemLabel + Parent_View @1063 + location (1401, 3661) + anchor_loc 3 + nlines 1 + max_width 543 + label "TBnepBTDevAddr") + icon "Package Specification" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "4125EEED010D" + autoResize TRUE + width 282 + height 312) + (object ModView "Component View::BNEP::TBnepBTDevAddr" "PackageType" "Body" @1064 + location (2033, 3857) + label (object ItemLabel + Parent_View @1064 + location (1971, 3661) + anchor_loc 3 + nlines 1 + max_width 543 + label "TBnepBTDevAddr") + icon "Package Body" + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "4125EF0001A1" + autoResize TRUE + width 282 + height 312))))) + (object SubSystem "inc" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Directory" + value (value Text "$BNEP\\..\\inc "))) + quid "40C47AF1008A" + physical_models (list unit_reference_list + (object module "bnepdrv" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|//#include "$file" +| + ))) + quid "40C47B0F0105" + stereotype "" + language "C++") + (object module "carddrv" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE)) + quid "40C47B1D02B4" + stereotype "" + language "C++") + (object module "clanip4bearer" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE)) + quid "40C47B29017B" + stereotype "" + language "C++") + (object module "clanip6bearer" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE)) + quid "40C47B360129" + stereotype "" + language "C++") + (object module "clanxbearer" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|//#include "$file" +| + ))) + quid "40C47B4600A0" + stereotype "" + language "C++") + (object module "eth_log" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE)) + quid "40C47B5201B6" + stereotype "" + language "C++") + (object module "ethinter" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include "$file" +| + ))) + quid "40C47B5F0088" + stereotype "" + language "C++") + (object module "netdefs" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE)) + quid "40C47B70019B" + stereotype "" + language "C++") + (object module "panprog" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE)) + quid "40C47B7F00C0" + stereotype "" + language "C++") + (object module "panroles" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE)) + quid "40C47B8803D0" + stereotype "" + language "C++") + (object module "pktdrv" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include +| + ))) + quid "40C47B910207" + stereotype "" + language "C++") + (object module "protocolheaders" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE)) + quid "40C47B9E007F" + stereotype "" + language "C++") + (object module "tlog" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value FALSE)) + quid "40C47BAA016C" + stereotype "" + language "C++") + (object module "pancommon" "PackageType" "Specification" + attributes (list Attribute_Set + (object Attribute + tool "Traversal" + name "CodeFile" + value "F:\\Projects\\bits\\networking\\ether802\\inc\\pancommon.h") + (object Attribute + tool "cg" + name "Generate" + value FALSE)) + quid "40C8232C00AC" + stereotype "Package Specification" + language "C++")) + physical_presentations (list unit_reference_list))) + physical_presentations (list unit_reference_list + (object Module_Diagram "Main" + quid "40C049150262" + title "Main" + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list)))) + process_structure (object Processes + quid "40C049140278" + ProcsNDevs (list + (object Process_Diagram "Deployment View" + quid "40C04914027A" + title "Deployment View" + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list)))) + properties (object Properties + attributes (list Attribute_Set + (object Attribute + tool "CORBA" + name "propertyId" + value "809135966") + (object Attribute + tool "CORBA" + name "default__Project" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "CreateMissingDirectories" + value TRUE) + (object Attribute + tool "CORBA" + name "Editor" + value ("EditorType" 100)) + (object Attribute + tool "CORBA" + name "IncludePath" + value "") + (object Attribute + tool "CORBA" + name "StopOnError" + value TRUE) + (object Attribute + tool "CORBA" + name "EditorType" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "BuiltIn" + value 100) + (object Attribute + tool "CORBA" + name "WindowsShell" + value 101))))) + (object Attribute + tool "CORBA" + name "default__Class" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "ArrayDimensions" + value "") + (object Attribute + tool "CORBA" + name "ConstValue" + value "") + (object Attribute + tool "CORBA" + name "ImplementationType" + value ""))) + (object Attribute + tool "CORBA" + name "default__Module-Spec" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "AdditionalIncludes" + value (value Text "")) + (object Attribute + tool "CORBA" + name "CmIdentification" + value (value Text " %X% %Q% %Z% %W%")) + (object Attribute + tool "CORBA" + name "CopyrightNotice" + value (value Text "")) + (object Attribute + tool "CORBA" + name "InclusionProtectionSymbol" + value "AUTO GENERATE"))) + (object Attribute + tool "CORBA" + name "default__Module-Body" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "AdditionalIncludes" + value (value Text "")) + (object Attribute + tool "CORBA" + name "CmIdentification" + value (value Text " %X% %Q% %Z% %W%")) + (object Attribute + tool "CORBA" + name "CopyrightNotice" + value (value Text "")) + (object Attribute + tool "CORBA" + name "InclusionProtectionSymbol" + value "AUTO GENERATE"))) + (object Attribute + tool "CORBA" + name "default__Operation" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "Context" + value "") + (object Attribute + tool "CORBA" + name "OperationIsOneWay" + value FALSE))) + (object Attribute + tool "CORBA" + name "default__Attribute" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "ArrayDimensions" + value "") + (object Attribute + tool "CORBA" + name "CaseSpecifier" + value "") + (object Attribute + tool "CORBA" + name "IsReadOnly" + value FALSE) + (object Attribute + tool "CORBA" + name "Order" + value ""))) + (object Attribute + tool "CORBA" + name "default__Role" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "ArrayDimensions" + value "") + (object Attribute + tool "CORBA" + name "CaseSpecifier" + value "") + (object Attribute + tool "CORBA" + name "GenerateForwardReference" + value FALSE) + (object Attribute + tool "CORBA" + name "IsReadOnly" + value FALSE) + (object Attribute + tool "CORBA" + name "Order" + value "") + (object Attribute + tool "CORBA" + name "BoundedRoleType" + value ("AssocTypeSet" 47)) + (object Attribute + tool "CORBA" + name "AssocTypeSet" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "Array" + value 24) + (object Attribute + tool "CORBA" + name "Sequence" + value 47))))) + (object Attribute + tool "CORBA" + name "default__Uses" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "GenerateForwardReference" + value FALSE))) + (object Attribute + tool "CORBA" + name "HiddenTool" + value FALSE) + (object Attribute + tool "Data Modeler" + name "propertyId" + value "809135966") + (object Attribute + tool "Data Modeler" + name "default__Project" + value (list Attribute_Set + (object Attribute + tool "Data Modeler" + name "project" + value "") + (object Attribute + tool "Data Modeler" + name "TableCounter" + value 0) + (object Attribute + tool "Data Modeler" + name "TriggerCounter" + value 0) + (object Attribute + tool "Data Modeler" + name "IndexCounter" + value 0) + (object Attribute + tool "Data Modeler" + name "ConstraintCounter" + value 0) + (object Attribute + tool "Data Modeler" + name "PrimaryKeyCounter" + value 0) + (object Attribute + tool "Data Modeler" + name "ForeignKeyCounter" + value 0) + (object Attribute + tool "Data Modeler" + name "TablePrefix" + value "") + (object Attribute + tool "Data Modeler" + name "TriggerPrefix" + value "") + (object Attribute + tool "Data Modeler" + name "IndexPrefix" + value "") + (object Attribute + tool "Data Modeler" + name "ConstraintPrefix" + value "") + (object Attribute + tool "Data Modeler" + name "PrimaryKeyPrefix" + value "") + (object Attribute + tool "Data Modeler" + name "ForeignKeyPrefix" + value ""))) + (object Attribute + tool "Data Modeler" + name "default__Module-Spec" + value (list Attribute_Set + (object Attribute + tool "Data Modeler" + name "dmItem" + value FALSE) + (object Attribute + tool "Data Modeler" + name "DMName" + value "") + (object Attribute + tool "Data Modeler" + name "IsDatabase" + value FALSE) + (object Attribute + tool "Data Modeler" + name "TargetDatabase" + value "") + (object Attribute + tool "Data Modeler" + name "Location" + value ""))) + (object Attribute + tool "Data Modeler" + name "default__Category" + value (list Attribute_Set + (object Attribute + tool "Data Modeler" + name "dmItem" + value FALSE) + (object Attribute + tool "Data Modeler" + name "DMName" + value "") + (object Attribute + tool "Data Modeler" + name "dmSchema" + value "") + (object Attribute + tool "Data Modeler" + name "IsSchema" + value FALSE) + (object Attribute + tool "Data Modeler" + name "IsRootSchema" + value FALSE) + (object Attribute + tool "Data Modeler" + name "IsSchemaPackage" + value FALSE) + (object Attribute + tool "Data Modeler" + name "DatabaseID" + value ""))) + (object Attribute + tool "Data Modeler" + name "default__Class" + value (list Attribute_Set + (object Attribute + tool "Data Modeler" + name "dmItem" + value FALSE) + (object Attribute + tool "Data Modeler" + name "DMName" + value "") + (object Attribute + tool "Data Modeler" + name "IsTable" + value FALSE) + (object Attribute + tool "Data Modeler" + name "IsView" + value FALSE) + (object Attribute + tool "Data Modeler" + name "Synonymns" + value "") + (object Attribute + tool "Data Modeler" + name "TableSpace" + value "") + (object Attribute + tool "Data Modeler" + name "SourceId" + value "") + (object Attribute + tool "Data Modeler" + name "SourceType" + value "") + (object Attribute + tool "Data Modeler" + name "SelectClause" + value "") + (object Attribute + tool "Data Modeler" + name "IsUpdatable" + value FALSE) + (object Attribute + tool "Data Modeler" + name "CheckOption" + value 0))) + (object Attribute + tool "Data Modeler" + name "default__Attribute" + value (list Attribute_Set + (object Attribute + tool "Data Modeler" + name "dmItem" + value FALSE) + (object Attribute + tool "Data Modeler" + name "DMName" + value "") + (object Attribute + tool "Data Modeler" + name "Ordinal" + value 0) + (object Attribute + tool "Data Modeler" + name "IsIdentity" + value FALSE) + (object Attribute + tool "Data Modeler" + name "NullsAllowed" + value FALSE) + (object Attribute + tool "Data Modeler" + name "Length" + value 0) + (object Attribute + tool "Data Modeler" + name "Scale" + value 0) + (object Attribute + tool "Data Modeler" + name "ColumnType" + value "") + (object Attribute + tool "Data Modeler" + name "ForBitData" + value FALSE) + (object Attribute + tool "Data Modeler" + name "DefaultValueType" + value "") + (object Attribute + tool "Data Modeler" + name "DefaultValue" + value "") + (object Attribute + tool "Data Modeler" + name "SourceId" + value "") + (object Attribute + tool "Data Modeler" + name "SourceType" + value ""))) + (object Attribute + tool "Data Modeler" + name "default__Association" + value (list Attribute_Set + (object Attribute + tool "Data Modeler" + name "dmItem" + value FALSE) + (object Attribute + tool "Data Modeler" + name "DMName" + value "") + (object Attribute + tool "Data Modeler" + name "IsRelationship" + value FALSE) + (object Attribute + tool "Data Modeler" + name "SourceId" + value "") + (object Attribute + tool "Data Modeler" + name "SourceType" + value "") + (object Attribute + tool "Data Modeler" + name "RIMethod" + value "") + (object Attribute + tool "Data Modeler" + name "ParentUpdateRule" + value "") + (object Attribute + tool "Data Modeler" + name "ParentUpdateRuleName" + value "") + (object Attribute + tool "Data Modeler" + name "ParentDeleteRule" + value "") + (object Attribute + tool "Data Modeler" + name "ParentDeleteRuleName" + value "") + (object Attribute + tool "Data Modeler" + name "ChildInsertRestrict" + value FALSE) + (object Attribute + tool "Data Modeler" + name "ChildInsertRestrictName" + value "") + (object Attribute + tool "Data Modeler" + name "ChildMultiplicity" + value FALSE) + (object Attribute + tool "Data Modeler" + name "ChildMultiplicityName" + value ""))) + (object Attribute + tool "Data Modeler" + name "default__Role" + value (list Attribute_Set + (object Attribute + tool "Data Modeler" + name "dmItem" + value FALSE) + (object Attribute + tool "Data Modeler" + name "DMName" + value "") + (object Attribute + tool "Data Modeler" + name "ConstraintName" + value ""))) + (object Attribute + tool "Data Modeler" + name "default__Operation" + value (list Attribute_Set + (object Attribute + tool "Data Modeler" + name "dmItem" + value FALSE) + (object Attribute + tool "Data Modeler" + name "DMName" + value "") + (object Attribute + tool "Data Modeler" + name "IsConstraint" + value FALSE) + (object Attribute + tool "Data Modeler" + name "ConstraintType" + value "") + (object Attribute + tool "Data Modeler" + name "IsIndex" + value FALSE) + (object Attribute + tool "Data Modeler" + name "IsTrigger" + value FALSE) + (object Attribute + tool "Data Modeler" + name "IsCluster" + value FALSE) + (object Attribute + tool "Data Modeler" + name "TableSpace" + value "") + (object Attribute + tool "Data Modeler" + name "FillFactor" + value 0) + (object Attribute + tool "Data Modeler" + name "KeyList" + value "") + (object Attribute + tool "Data Modeler" + name "CheckPredicate" + value "") + (object Attribute + tool "Data Modeler" + name "IsUnique" + value FALSE) + (object Attribute + tool "Data Modeler" + name "DeferalMode" + value "") + (object Attribute + tool "Data Modeler" + name "InitialCheckTime" + value "") + (object Attribute + tool "Data Modeler" + name "TriggerType" + value "") + (object Attribute + tool "Data Modeler" + name "TriggerReferencePart" + value "") + (object Attribute + tool "Data Modeler" + name "IsInsertEvent" + value FALSE) + (object Attribute + tool "Data Modeler" + name "IsUpdateEvent" + value FALSE) + (object Attribute + tool "Data Modeler" + name "IsDeleteEvent" + value FALSE))) + (object Attribute + tool "Data Modeler" + name "HiddenTool" + value FALSE) + (object Attribute + tool "Data Modeler Communicator" + name "HiddenTool" + value FALSE) + (object Attribute + tool "framework" + name "HiddenTool" + value FALSE) + (object Attribute + tool "Java" + name "propertyId" + value "809135966") + (object Attribute + tool "Java" + name "default__Project" + value (list Attribute_Set + (object Attribute + tool "Java" + name "RootDir" + value "") + (object Attribute + tool "Java" + name "CreateMissingDirectories" + value TRUE) + (object Attribute + tool "Java" + name "StopOnError" + value FALSE) + (object Attribute + tool "Java" + name "UsePrefixes" + value FALSE) + (object Attribute + tool "Java" + name "AutoSync" + value FALSE) + (object Attribute + tool "Java" + name "Editor" + value ("EditorType" 100)) + (object Attribute + tool "Java" + name "VM" + value ("VMType" 200)) + (object Attribute + tool "Java" + name "ClassPath" + value "") + (object Attribute + tool "Java" + name "EditorType" + value (list Attribute_Set + (object Attribute + tool "Java" + name "BuiltIn" + value 100) + (object Attribute + tool "Java" + name "WindowsShell" + value 101))) + (object Attribute + tool "Java" + name "VMType" + value (list Attribute_Set + (object Attribute + tool "Java" + name "Sun" + value 200) + (object Attribute + tool "Java" + name "Microsoft" + value 201) + (object Attribute + tool "Java" + name "IBM" + value 202))) + (object Attribute + tool "Java" + name "InstanceVariablePrefix" + value "m_") + (object Attribute + tool "Java" + name "ClassVariablePrefix" + value "s_") + (object Attribute + tool "Java" + name "DefaultAttributeDataType" + value "int") + (object Attribute + tool "Java" + name "DefaultOperationReturnType" + value "void") + (object Attribute + tool "Java" + name "NoClassCustomDlg" + value FALSE) + (object Attribute + tool "Java" + name "GlobalImports" + value (value Text "")) + (object Attribute + tool "Java" + name "OpenBraceClassStyle" + value TRUE) + (object Attribute + tool "Java" + name "OpenBraceMethodStyle" + value TRUE) + (object Attribute + tool "Java" + name "UseTabs" + value FALSE) + (object Attribute + tool "Java" + name "UseSpaces" + value TRUE) + (object Attribute + tool "Java" + name "SpacingItems" + value 3) + (object Attribute + tool "Java" + name "RoseDefaultCommentStyle" + value TRUE) + (object Attribute + tool "Java" + name "AsteriskCommentStyle" + value FALSE) + (object Attribute + tool "Java" + name "JavaCommentStyle" + value FALSE) + (object Attribute + tool "Java" + name "JavadocAuthor" + value TRUE) + (object Attribute + tool "Java" + name "JavadocDeprecated" + value FALSE) + (object Attribute + tool "Java" + name "JavadocException" + value TRUE) + (object Attribute + tool "Java" + name "JavadocParam" + value TRUE) + (object Attribute + tool "Java" + name "JavadocReturn" + value TRUE) + (object Attribute + tool "Java" + name "JavadocSee" + value FALSE) + (object Attribute + tool "Java" + name "JavadocSerial" + value FALSE) + (object Attribute + tool "Java" + name "JavadocSerialdata" + value FALSE) + (object Attribute + tool "Java" + name "JavadocSerialfield" + value FALSE) + (object Attribute + tool "Java" + name "JavadocSince" + value FALSE) + (object Attribute + tool "Java" + name "JavadocVersion" + value FALSE) + (object Attribute + tool "Java" + name "JavadocLink" + value FALSE))) + (object Attribute + tool "Java" + name "default__Class" + value (list Attribute_Set + (object Attribute + tool "Java" + name "Final" + value FALSE) + (object Attribute + tool "Java" + name "Static" + value FALSE) + (object Attribute + tool "Java" + name "GenerateDefaultConstructor" + value TRUE) + (object Attribute + tool "Java" + name "ConstructorIs" + value ("Ctor_Set" 62)) + (object Attribute + tool "Java" + name "Ctor_Set" + value (list Attribute_Set + (object Attribute + tool "Java" + name "public" + value 62) + (object Attribute + tool "Java" + name "protected" + value 63) + (object Attribute + tool "Java" + name "private" + value 64) + (object Attribute + tool "Java" + name "package" + value 65))) + (object Attribute + tool "Java" + name "GenerateFinalizer" + value FALSE) + (object Attribute + tool "Java" + name "GenerateStaticInitializer" + value FALSE) + (object Attribute + tool "Java" + name "GenerateInstanceInitializer" + value FALSE) + (object Attribute + tool "Java" + name "GenerateCode" + value TRUE) + (object Attribute + tool "Java" + name "DisableAutoSync" + value FALSE))) + (object Attribute + tool "Java" + name "default__Module-Spec" + value (list Attribute_Set + (object Attribute + tool "Java" + name "CmIdentification" + value (value Text "")) + (object Attribute + tool "Java" + name "CopyrightNotice" + value (value Text "")))) + (object Attribute + tool "Java" + name "default__Module-Body" + value (list Attribute_Set + (object Attribute + tool "Java" + name "CmIdentification" + value (value Text "")) + (object Attribute + tool "Java" + name "CopyrightNotice" + value (value Text "")))) + (object Attribute + tool "Java" + name "default__Operation" + value (list Attribute_Set + (object Attribute + tool "Java" + name "Abstract" + value FALSE) + (object Attribute + tool "Java" + name "Static" + value FALSE) + (object Attribute + tool "Java" + name "Final" + value FALSE) + (object Attribute + tool "Java" + name "Native" + value FALSE) + (object Attribute + tool "Java" + name "Synchronized" + value FALSE))) + (object Attribute + tool "Java" + name "default__Attribute" + value (list Attribute_Set + (object Attribute + tool "Java" + name "Final" + value FALSE) + (object Attribute + tool "Java" + name "Transient" + value FALSE) + (object Attribute + tool "Java" + name "Volatile" + value FALSE) + (object Attribute + tool "Java" + name "PropertyType" + value ("BeanProperty_Set" 71)) + (object Attribute + tool "Java" + name "BeanProperty_Set" + value (list Attribute_Set + (object Attribute + tool "Java" + name "Not A Property" + value 71) + (object Attribute + tool "Java" + name "Simple" + value 72) + (object Attribute + tool "Java" + name "Bound" + value 73) + (object Attribute + tool "Java" + name "Constrained" + value 74))) + (object Attribute + tool "Java" + name "IndividualChangeMgt" + value FALSE) + (object Attribute + tool "Java" + name "Read/Write" + value ("Read/Write_Set" 81)) + (object Attribute + tool "Java" + name "Read/Write_Set" + value (list Attribute_Set + (object Attribute + tool "Java" + name "Read & Write" + value 81) + (object Attribute + tool "Java" + name "Read Only" + value 82) + (object Attribute + tool "Java" + name "Write Only" + value 83))) + (object Attribute + tool "Java" + name "GenerateFullyQualifiedTypes" + value FALSE))) + (object Attribute + tool "Java" + name "default__Role" + value (list Attribute_Set + (object Attribute + tool "Java" + name "ContainerClass" + value "") + (object Attribute + tool "Java" + name "InitialValue" + value "") + (object Attribute + tool "Java" + name "Final" + value FALSE) + (object Attribute + tool "Java" + name "Transient" + value FALSE) + (object Attribute + tool "Java" + name "Volatile" + value FALSE) + (object Attribute + tool "Java" + name "PropertyType" + value ("BeanProperty_Set" 71)) + (object Attribute + tool "Java" + name "BeanProperty_Set" + value (list Attribute_Set + (object Attribute + tool "Java" + name "Not A Property" + value 71) + (object Attribute + tool "Java" + name "Simple" + value 72) + (object Attribute + tool "Java" + name "Bound" + value 73) + (object Attribute + tool "Java" + name "Constrained" + value 74))) + (object Attribute + tool "Java" + name "IndividualChangeMgt" + value FALSE) + (object Attribute + tool "Java" + name "Read/Write" + value ("Read/Write_Set" 81)) + (object Attribute + tool "Java" + name "Read/Write_Set" + value (list Attribute_Set + (object Attribute + tool "Java" + name "Read & Write" + value 81) + (object Attribute + tool "Java" + name "Read Only" + value 82) + (object Attribute + tool "Java" + name "Write Only" + value 83))) + (object Attribute + tool "Java" + name "GenerateFullyQualifiedTypes" + value FALSE) + (object Attribute + tool "Java" + name "IsNavigable" + value TRUE))) + (object Attribute + tool "Java" + name "HiddenTool" + value FALSE) + (object Attribute + tool "cg" + name "propertyId" + value "809135966") + (object Attribute + tool "cg" + name "default__Project" + value (list Attribute_Set + (object Attribute + tool "cg" + name "AllowGenerateOverNewerAnnotations" + value FALSE) + (object Attribute + tool "cg" + name "AllowGenerateOverNewerVersion" + value TRUE) + (object Attribute + tool "cg" + name "UseMSVC" + value FALSE) + (object Attribute + tool "cg" + name "HeaderFileExtension" + value "h") + (object Attribute + tool "cg" + name "HeaderFileBackupExtension" + value "h~") + (object Attribute + tool "cg" + name "HeaderFileTemporaryExtension" + value "h#") + (object Attribute + tool "cg" + name "CodeFileExtension" + value "cpp") + (object Attribute + tool "cg" + name "CodeFileBackupExtension" + value "cp~") + (object Attribute + tool "cg" + name "CodeFileTemporaryExtension" + value "cp#") + (object Attribute + tool "cg" + name "CreateMissingDirectories" + value TRUE) + (object Attribute + tool "cg" + name "StopOnError" + value FALSE) + (object Attribute + tool "cg" + name "ErrorLimit" + value 30) + (object Attribute + tool "cg" + name "Directory" + value (value Text "$BNEP")) + (object Attribute + tool "cg" + name "PathSeparator" + value "") + (object Attribute + tool "cg" + name "FileNameFormat" + value "128vx_b") + (object Attribute + tool "cg" + name "BooleanType" + value (value Text "TBool")) + (object Attribute + tool "cg" + name "AllowTemplates" + value TRUE) + (object Attribute + tool "cg" + name "AllowExplicitInstantiations" + value FALSE) + (object Attribute + tool "cg" + name "AllowProtectedInheritance" + value TRUE) + (object Attribute + tool "cg" + name "CommentWidth" + value 60) + (object Attribute + tool "cg" + name "OneByValueContainer" + value "$targetClass") + (object Attribute + tool "cg" + name "OneByReferenceContainer" + value "$targetClass *") + (object Attribute + tool "cg" + name "OptionalByValueContainer" + value "OptionalByValue<$targetClass>") + (object Attribute + tool "cg" + name "OptionalByReferenceContainer" + value "$targetClass *") + (object Attribute + tool "cg" + name "FixedByValueContainer" + value "$targetClass[$limit]") + (object Attribute + tool "cg" + name "UnorderedFixedByValueContainer" + value "$targetClass[$limit]") + (object Attribute + tool "cg" + name "FixedByReferenceContainer" + value "$targetClass *[$limit]") + (object Attribute + tool "cg" + name "UnorderedFixedByReferenceContainer" + value "$targetClass *[$limit]") + (object Attribute + tool "cg" + name "BoundedByValueContainer" + value "BoundedListByValue<$targetClass,$limit>") + (object Attribute + tool "cg" + name "UnorderedBoundedByValueContainer" + value "BoundedSetByValue<$targetClass,$limit>") + (object Attribute + tool "cg" + name "BoundedByReferenceContainer" + value "BoundedListByReference<$targetClass,$limit>") + (object Attribute + tool "cg" + name "UnorderedBoundedByReferenceContainer" + value "BoundedSetByReference<$targetClass,$limit>") + (object Attribute + tool "cg" + name "UnboundedByValueContainer" + value "UnboundedListByValue<$targetClass>") + (object Attribute + tool "cg" + name "UnorderedUnboundedByValueContainer" + value "UnboundedSetByValue<$targetClass>") + (object Attribute + tool "cg" + name "UnboundedByReferenceContainer" + value "UnboundedListByReference<$targetClass>") + (object Attribute + tool "cg" + name "UnorderedUnboundedByReferenceContainer" + value "UnboundedSetByReference<$targetClass>") + (object Attribute + tool "cg" + name "QualifiedByValueContainer" + value "AssociationByValue<$qualtype, $qualcont>") + (object Attribute + tool "cg" + name "UnorderedQualifiedByValueContainer" + value "DictionaryByValue<$qualtype, $qualcont>") + (object Attribute + tool "cg" + name "QualifiedByReferenceContainer" + value "AssociationByReference<$qualtype, $qualcont>") + (object Attribute + tool "cg" + name "UnorderedQualifiedByReferenceContainer" + value "DictionaryByReference<$qualtype, $qualcont>") + (object Attribute + tool "cg" + name "AlwaysKeepOrphanedCode" + value TRUE))) + (object Attribute + tool "cg" + name "compiler2.1__Project" + value (list Attribute_Set + (object Attribute + tool "cg" + name "AllowGenerateOverNewerAnnotations" + value FALSE) + (object Attribute + tool "cg" + name "AllowGenerateOverNewerVersion" + value FALSE) + (object Attribute + tool "cg" + name "HeaderFileExtension" + value "h") + (object Attribute + tool "cg" + name "HeaderFileBackupExtension" + value "h~") + (object Attribute + tool "cg" + name "HeaderFileTemporaryExtension" + value "h#") + (object Attribute + tool "cg" + name "CodeFileExtension" + value "cpp") + (object Attribute + tool "cg" + name "CodeFileBackupExtension" + value "cp~") + (object Attribute + tool "cg" + name "CodeFileTemporaryExtension" + value "cp#") + (object Attribute + tool "cg" + name "CreateMissingDirectories" + value TRUE) + (object Attribute + tool "cg" + name "StopOnError" + value FALSE) + (object Attribute + tool "cg" + name "ErrorLimit" + value 30) + (object Attribute + tool "cg" + name "Directory" + value "$ROSECPP_SOURCE") + (object Attribute + tool "cg" + name "BooleanType" + value "int") + (object Attribute + tool "cg" + name "AllowTemplates" + value FALSE) + (object Attribute + tool "cg" + name "AllowExplicitInstantiations" + value FALSE) + (object Attribute + tool "cg" + name "AllowProtectedInheritance" + value FALSE) + (object Attribute + tool "cg" + name "OneByValueContainer" + value "$targetClass") + (object Attribute + tool "cg" + name "OneByReferenceContainer" + value "$targetClass *") + (object Attribute + tool "cg" + name "OptionalByValueContainer" + value "OptionalByValue(sizeof($targetClass))") + (object Attribute + tool "cg" + name "OptionalByReferenceContainer" + value "$targetClass *") + (object Attribute + tool "cg" + name "FixedByValueContainer" + value "$targetClass[$limit]") + (object Attribute + tool "cg" + name "UnorderedFixedByValueContainer" + value "$targetClass[$limit]") + (object Attribute + tool "cg" + name "FixedByReferenceContainer" + value "$targetClass *[$limit]") + (object Attribute + tool "cg" + name "UnorderedFixedByReferenceContainer" + value "$targetClass *[$limit]") + (object Attribute + tool "cg" + name "BoundedByValueContainer" + value "BoundedListByValue(sizeof($targetClass),$limit)") + (object Attribute + tool "cg" + name "UnorderedBoundedByValueContainer" + value "BoundedSetByValue(sizeof($targetClass),$limit)") + (object Attribute + tool "cg" + name "BoundedByReferenceContainer" + value "BoundedListByReference($limit)") + (object Attribute + tool "cg" + name "UnorderedBoundedByReferenceContainer" + value "BoundedSetByReference($limit)") + (object Attribute + tool "cg" + name "UnboundedByValueContainer" + value "UnboundedListByValue(sizeof($targetClass))") + (object Attribute + tool "cg" + name "UnorderedUnboundedByValueContainer" + value "UnboundedSetByValue(sizeof($targetClass))") + (object Attribute + tool "cg" + name "UnboundedByReferenceContainer" + value "UnboundedListByReference") + (object Attribute + tool "cg" + name "UnorderedUnboundedByReferenceContainer" + value "UnboundedSetByReference") + (object Attribute + tool "cg" + name "QualifiedByValueContainer" + value "AssociationByValue(sizeof($qualtype), sizeof($qualcont))") + (object Attribute + tool "cg" + name "UnorderedQualifiedByValueContainer" + value "DictionaryByValue(sizeof($qualtype), sizeof($qualcont))") + (object Attribute + tool "cg" + name "QualifiedByReferenceContainer" + value "AssociationByReference(sizeof($qualtype), sizeof($qualcont))") + (object Attribute + tool "cg" + name "UnorderedQualifiedByReferenceContainer" + value "DictionaryByReference(sizeof($qualtype), sizeof($qualcont))") + (object Attribute + tool "cg" + name "PathSeparator" + value "") + (object Attribute + tool "cg" + name "FileNameFormat" + value "128vx_b") + (object Attribute + tool "cg" + name "AlwaysKeepOrphanedCode" + value FALSE) + (object Attribute + tool "cg" + name "UseMSVC" + value FALSE) + (object Attribute + tool "cg" + name "CommentWidth" + value 60))) + (object Attribute + tool "cg" + name "compiler3.0__Project" + value (list Attribute_Set + (object Attribute + tool "cg" + name "AllowGenerateOverNewerAnnotations" + value FALSE) + (object Attribute + tool "cg" + name "AllowGenerateOverNewerVersion" + value FALSE) + (object Attribute + tool "cg" + name "HeaderFileExtension" + value "h") + (object Attribute + tool "cg" + name "HeaderFileBackupExtension" + value "h~") + (object Attribute + tool "cg" + name "HeaderFileTemporaryExtension" + value "h#") + (object Attribute + tool "cg" + name "CodeFileExtension" + value "cpp") + (object Attribute + tool "cg" + name "CodeFileBackupExtension" + value "cp~") + (object Attribute + tool "cg" + name "CodeFileTemporaryExtension" + value "cp#") + (object Attribute + tool "cg" + name "CreateMissingDirectories" + value TRUE) + (object Attribute + tool "cg" + name "StopOnError" + value FALSE) + (object Attribute + tool "cg" + name "ErrorLimit" + value 30) + (object Attribute + tool "cg" + name "Directory" + value "$ROSECPP_SOURCE") + (object Attribute + tool "cg" + name "BooleanType" + value "int") + (object Attribute + tool "cg" + name "AllowTemplates" + value TRUE) + (object Attribute + tool "cg" + name "AllowExplicitInstantiations" + value FALSE) + (object Attribute + tool "cg" + name "AllowProtectedInheritance" + value TRUE) + (object Attribute + tool "cg" + name "OneByValueContainer" + value "$targetClass") + (object Attribute + tool "cg" + name "OneByReferenceContainer" + value "$targetClass *") + (object Attribute + tool "cg" + name "OptionalByValueContainer" + value "OptionalByValue<$targetClass>") + (object Attribute + tool "cg" + name "OptionalByReferenceContainer" + value "$targetClass *") + (object Attribute + tool "cg" + name "FixedByValueContainer" + value "$targetClass[$limit]") + (object Attribute + tool "cg" + name "UnorderedFixedByValueContainer" + value "$targetClass[$limit]") + (object Attribute + tool "cg" + name "FixedByReferenceContainer" + value "$targetClass *[$limit]") + (object Attribute + tool "cg" + name "UnorderedFixedByReferenceContainer" + value "$targetClass *[$limit]") + (object Attribute + tool "cg" + name "BoundedByValueContainer" + value "BoundedListByValue<$targetClass,$limit>") + (object Attribute + tool "cg" + name "UnorderedBoundedByValueContainer" + value "BoundedSetByValue<$targetClass,$limit>") + (object Attribute + tool "cg" + name "BoundedByReferenceContainer" + value "BoundedListByReference<$targetClass,$limit>") + (object Attribute + tool "cg" + name "UnorderedBoundedByReferenceContainer" + value "BoundedSetByReference<$targetClass,$limit>") + (object Attribute + tool "cg" + name "UnboundedByValueContainer" + value "UnboundedListByValue<$targetClass>") + (object Attribute + tool "cg" + name "UnorderedUnboundedByValueContainer" + value "UnboundedSetByValue<$targetClass>") + (object Attribute + tool "cg" + name "UnboundedByReferenceContainer" + value "UnboundedListByReference<$targetClass>") + (object Attribute + tool "cg" + name "UnorderedUnboundedByReferenceContainer" + value "UnboundedSetByReference<$targetClass>") + (object Attribute + tool "cg" + name "QualifiedByValueContainer" + value "AssociationByValue<$qualtype, $qualcont>") + (object Attribute + tool "cg" + name "UnorderedQualifiedByValueContainer" + value "DictionaryByValue<$qualtype, $qualcont>") + (object Attribute + tool "cg" + name "QualifiedByReferenceContainer" + value "AssociationByReference<$qualtype, $qualcont>") + (object Attribute + tool "cg" + name "UnorderedQualifiedByReferenceContainer" + value "DictionaryByReference<$qualtype, $qualcont>") + (object Attribute + tool "cg" + name "PathSeparator" + value "") + (object Attribute + tool "cg" + name "FileNameFormat" + value "128vx_b") + (object Attribute + tool "cg" + name "AlwaysKeepOrphanedCode" + value FALSE) + (object Attribute + tool "cg" + name "UseMSVC" + value FALSE) + (object Attribute + tool "cg" + name "CommentWidth" + value 60))) + (object Attribute + tool "cg" + name "default__Class" + value (list Attribute_Set + (object Attribute + tool "cg" + name "CodeName" + value "") + (object Attribute + tool "cg" + name "ImplementationType" + value "") + (object Attribute + tool "cg" + name "ClassKey" + value "class") + (object Attribute + tool "cg" + name "GenerateEmptyRegions" + value ("GenerateEmptyRegionSet" 3)) + (object Attribute + tool "cg" + name "GenerateEmptyRegionSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "None" + value 0) + (object Attribute + tool "cg" + name "Preserved" + value 1) + (object Attribute + tool "cg" + name "Unpreserved" + value 2) + (object Attribute + tool "cg" + name "All" + value 3))) + (object Attribute + tool "cg" + name "PutBodiesInSpec" + value FALSE) + (object Attribute + tool "cg" + name "GenerateDefaultConstructor" + value ("GenerateSet" 206)) + (object Attribute + tool "cg" + name "DefaultConstructorVisibility" + value ("VisibilitySet" 45)) + (object Attribute + tool "cg" + name "InlineDefaultConstructor" + value FALSE) + (object Attribute + tool "cg" + name "ExplicitDefaultConstructor" + value FALSE) + (object Attribute + tool "cg" + name "GenerateCopyConstructor" + value ("GenerateSet" 206)) + (object Attribute + tool "cg" + name "CopyConstructorVisibility" + value ("VisibilitySet" 45)) + (object Attribute + tool "cg" + name "InlineCopyConstructor" + value FALSE) + (object Attribute + tool "cg" + name "ExplicitCopyConstructor" + value FALSE) + (object Attribute + tool "cg" + name "GenerateDestructor" + value TRUE) + (object Attribute + tool "cg" + name "DestructorVisibility" + value ("VisibilitySet" 45)) + (object Attribute + tool "cg" + name "DestructorKind" + value ("ThreeKindSet" 200)) + (object Attribute + tool "cg" + name "InlineDestructor" + value FALSE) + (object Attribute + tool "cg" + name "GenerateAssignmentOperation" + value ("GenerateSet" 206)) + (object Attribute + tool "cg" + name "AssignmentVisibility" + value ("VisibilitySet" 45)) + (object Attribute + tool "cg" + name "AssignmentKind" + value ("ThreeKindSet" 200)) + (object Attribute + tool "cg" + name "InlineAssignmentOperation" + value FALSE) + (object Attribute + tool "cg" + name "GenerateEqualityOperations" + value ("GenerateSet" 206)) + (object Attribute + tool "cg" + name "EqualityVisibility" + value ("VisibilitySet" 45)) + (object Attribute + tool "cg" + name "EqualityKind" + value ("FriendKindSet" 200)) + (object Attribute + tool "cg" + name "InlineEqualityOperations" + value FALSE) + (object Attribute + tool "cg" + name "GenerateRelationalOperations" + value FALSE) + (object Attribute + tool "cg" + name "RelationalVisibility" + value ("VisibilitySet" 45)) + (object Attribute + tool "cg" + name "RelationalKind" + value ("FriendKindSet" 200)) + (object Attribute + tool "cg" + name "InlineRelationalOperations" + value FALSE) + (object Attribute + tool "cg" + name "GenerateStorageMgmtOperations" + value FALSE) + (object Attribute + tool "cg" + name "StorageMgmtVisibility" + value ("VisibilitySet" 45)) + (object Attribute + tool "cg" + name "InlineStorageMgmtOperations" + value FALSE) + (object Attribute + tool "cg" + name "GenerateSubscriptOperation" + value FALSE) + (object Attribute + tool "cg" + name "SubscriptVisibility" + value ("VisibilitySet" 45)) + (object Attribute + tool "cg" + name "SubscriptKind" + value ("ThreeKindSet" 200)) + (object Attribute + tool "cg" + name "SubscriptResultType" + value "") + (object Attribute + tool "cg" + name "InlineSubscriptOperation" + value FALSE) + (object Attribute + tool "cg" + name "GenerateDereferenceOperation" + value FALSE) + (object Attribute + tool "cg" + name "DereferenceVisibility" + value ("VisibilitySet" 45)) + (object Attribute + tool "cg" + name "DereferenceKind" + value ("ThreeKindSet" 200)) + (object Attribute + tool "cg" + name "DereferenceResultType" + value "") + (object Attribute + tool "cg" + name "InlineDereferenceOperation" + value FALSE) + (object Attribute + tool "cg" + name "GenerateIndirectionOperation" + value FALSE) + (object Attribute + tool "cg" + name "IndirectionVisibility" + value ("VisibilitySet" 45)) + (object Attribute + tool "cg" + name "IndirectionKind" + value ("ThreeKindSet" 200)) + (object Attribute + tool "cg" + name "IndirectionResultType" + value "") + (object Attribute + tool "cg" + name "InlineIndirectionOperation" + value FALSE) + (object Attribute + tool "cg" + name "GenerateStreamOperations" + value FALSE) + (object Attribute + tool "cg" + name "StreamVisibility" + value ("VisibilitySet" 45)) + (object Attribute + tool "cg" + name "InlineStreamOperations" + value FALSE) + (object Attribute + tool "cg" + name "ThreeKindSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Common" + value 200) + (object Attribute + tool "cg" + name "Virtual" + value 201) + (object Attribute + tool "cg" + name "Abstract" + value 202))) + (object Attribute + tool "cg" + name "KindSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Common" + value 200) + (object Attribute + tool "cg" + name "Virtual" + value 201) + (object Attribute + tool "cg" + name "Abstract" + value 202) + (object Attribute + tool "cg" + name "Static" + value 203))) + (object Attribute + tool "cg" + name "FriendKindSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Common" + value 200) + (object Attribute + tool "cg" + name "Virtual" + value 201) + (object Attribute + tool "cg" + name "Abstract" + value 202) + (object Attribute + tool "cg" + name "Friend" + value 204))) + (object Attribute + tool "cg" + name "GenerateSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "DeclareAndDefine" + value 199) + (object Attribute + tool "cg" + name "DeclareOnly" + value 205) + (object Attribute + tool "cg" + name "DoNotDeclare" + value 206))) + (object Attribute + tool "cg" + name "VisibilitySet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Public" + value 45) + (object Attribute + tool "cg" + name "Protected" + value 44) + (object Attribute + tool "cg" + name "Private" + value 43) + (object Attribute + tool "cg" + name "Implementation" + value 14))))) + (object Attribute + tool "cg" + name "default__Module-Spec" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value TRUE) + (object Attribute + tool "cg" + name "GenerateEmptyRegions" + value ("GenerateEmptyRegionSet" 3)) + (object Attribute + tool "cg" + name "GenerateEmptyRegionSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "None" + value 0) + (object Attribute + tool "cg" + name "Preserved" + value 1) + (object Attribute + tool "cg" + name "Unpreserved" + value 2) + (object Attribute + tool "cg" + name "All" + value 3))) + (object Attribute + tool "cg" + name "CmIdentification" + value (value Text " $module last regenerated $date")) + (object Attribute + tool "cg" + name "CopyrightNotice" + value (value Text "Copyright (c) Symbian Software Ltd 2004. All Rights Reserved")) + (object Attribute + tool "cg" + name "FileName" + value "AUTO GENERATE") + (object Attribute + tool "cg" + name "AllowExtensionlessFileName" + value FALSE) + (object Attribute + tool "cg" + name "InclusionProtectionSymbol" + value "AUTO GENERATE") + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include "$file" +| + )) + (object Attribute + tool "cg" + name "IncludeBySimpleName" + value TRUE) + (object Attribute + tool "cg" + name "IncludePrecompiledHeader" + value FALSE) + (object Attribute + tool "cg" + name "IncludeOrder" + value "AMIR") + (object Attribute + tool "cg" + name "AdditionalIncludes" + value (value Text "")) + (object Attribute + tool "cg" + name "InliningStyle" + value ("InliningStyleSet" 207)) + (object Attribute + tool "cg" + name "InliningStyleSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "InClassDeclaration" + value 208) + (object Attribute + tool "cg" + name "FollowingClassDeclaration" + value 207))) + (object Attribute + tool "cg" + name "TypesDefined" + value (value Text "")) + (object Attribute + tool "cg" + name "IncludeClosure" + value (value Text "")))) + (object Attribute + tool "cg" + name "default__Module-Body" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Generate" + value TRUE) + (object Attribute + tool "cg" + name "GenerateEmptyRegions" + value ("GenerateEmptyRegionSet" 3)) + (object Attribute + tool "cg" + name "GenerateEmptyRegionSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "None" + value 0) + (object Attribute + tool "cg" + name "Preserved" + value 1) + (object Attribute + tool "cg" + name "Unpreserved" + value 2) + (object Attribute + tool "cg" + name "All" + value 3))) + (object Attribute + tool "cg" + name "CmIdentification" + value (value Text " $module last regenerated $date")) + (object Attribute + tool "cg" + name "CopyrightNotice" + value (value Text "Copyright (c) Symbian Software Ltd 2004. All Rights Reserved")) + (object Attribute + tool "cg" + name "FileName" + value "AUTO GENERATE") + (object Attribute + tool "cg" + name "AllowExtensionlessFileName" + value FALSE) + (object Attribute + tool "cg" + name "IncludeFormat" + value (value Text +|// $package +|#include "$file" +| + )) + (object Attribute + tool "cg" + name "IncludeBySimpleName" + value TRUE) + (object Attribute + tool "cg" + name "IncludePrecompiledHeader" + value TRUE) + (object Attribute + tool "cg" + name "IncludeOrder" + value "AMIR") + (object Attribute + tool "cg" + name "AdditionalIncludes" + value (value Text "")) + (object Attribute + tool "cg" + name "InliningStyle" + value ("InliningStyleSet" 207)) + (object Attribute + tool "cg" + name "InliningStyleSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "InClassDeclaration" + value 208) + (object Attribute + tool "cg" + name "FollowingClassDeclaration" + value 207))) + (object Attribute + tool "cg" + name "TypesDefined" + value (value Text "")) + (object Attribute + tool "cg" + name "IncludeClosure" + value (value Text "")))) + (object Attribute + tool "cg" + name "default__Operation" + value (list Attribute_Set + (object Attribute + tool "cg" + name "CodeName" + value "") + (object Attribute + tool "cg" + name "OperationKind" + value ("OperationKindSet" 200)) + (object Attribute + tool "cg" + name "OperationKindSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Common" + value 200) + (object Attribute + tool "cg" + name "Virtual" + value 201) + (object Attribute + tool "cg" + name "Abstract" + value 202) + (object Attribute + tool "cg" + name "Static" + value 203) + (object Attribute + tool "cg" + name "Friend" + value 204))) + (object Attribute + tool "cg" + name "GenerateAbstractBody" + value FALSE) + (object Attribute + tool "cg" + name "SpecialDeclReturnType" + value "") + (object Attribute + tool "cg" + name "OperationIsConst" + value FALSE) + (object Attribute + tool "cg" + name "OperationIsExplicit" + value FALSE) + (object Attribute + tool "cg" + name "Inline" + value FALSE) + (object Attribute + tool "cg" + name "EntryCode" + value (value Text "")) + (object Attribute + tool "cg" + name "ExitCode" + value (value Text "")) + (object Attribute + tool "cg" + name "CCRegion" + value "") + (object Attribute + tool "cg" + name "GenerateEmptyRegions" + value ("GenerateEmptyRegionSet" 3)) + (object Attribute + tool "cg" + name "GenerateEmptyRegionSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "None" + value 0) + (object Attribute + tool "cg" + name "Preserved" + value 1) + (object Attribute + tool "cg" + name "Unpreserved" + value 2) + (object Attribute + tool "cg" + name "All" + value 3))) + (object Attribute + tool "cg" + name "BodyAnnotations" + value ""))) + (object Attribute + tool "cg" + name "default__Has" + value (list Attribute_Set + (object Attribute + tool "cg" + name "CodeName" + value "") + (object Attribute + tool "cg" + name "Ordered" + value TRUE) + (object Attribute + tool "cg" + name "NameIfUnlabeled" + value "the_$supplier") + (object Attribute + tool "cg" + name "GenerateDataMember" + value TRUE) + (object Attribute + tool "cg" + name "DataMemberName" + value (value Text "i$relationship")) + (object Attribute + tool "cg" + name "DataMemberVisibility" + value ("DataMemberVisibilitySet" 14)) + (object Attribute + tool "cg" + name "DataMemberVisibilitySet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Public" + value 45) + (object Attribute + tool "cg" + name "Protected" + value 44) + (object Attribute + tool "cg" + name "Private" + value 43) + (object Attribute + tool "cg" + name "Implementation" + value 14) + (object Attribute + tool "cg" + name "AtRelationshipVisibility" + value 210))) + (object Attribute + tool "cg" + name "DataMemberMutability" + value ("DataMemberMutabilitySet" 0)) + (object Attribute + tool "cg" + name "DataMemberMutabilitySet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Unrestricted" + value 0) + (object Attribute + tool "cg" + name "Mutable" + value 1) + (object Attribute + tool "cg" + name "Const" + value 2))) + (object Attribute + tool "cg" + name "DataMemberIsVolatile" + value FALSE) + (object Attribute + tool "cg" + name "DataMemberFieldSize" + value "") + (object Attribute + tool "cg" + name "InitialValue" + value (value Text "")) + (object Attribute + tool "cg" + name "GenerateGetOperation" + value FALSE) + (object Attribute + tool "cg" + name "GenerateSetOperation" + value FALSE) + (object Attribute + tool "cg" + name "GetName" + value "get_$relationship") + (object Attribute + tool "cg" + name "SetName" + value "set_$relationship") + (object Attribute + tool "cg" + name "GetSetKinds" + value ("GetSetKindsSet" 200)) + (object Attribute + tool "cg" + name "GetSetKindsSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Common" + value 200) + (object Attribute + tool "cg" + name "Virtual" + value 201) + (object Attribute + tool "cg" + name "Abstract" + value 202) + (object Attribute + tool "cg" + name "Static" + value 203) + (object Attribute + tool "cg" + name "Friend" + value 204))) + (object Attribute + tool "cg" + name "ContainerClass" + value "") + (object Attribute + tool "cg" + name "SelectorName" + value "") + (object Attribute + tool "cg" + name "SelectorType" + value "") + (object Attribute + tool "cg" + name "GetIsConst" + value TRUE) + (object Attribute + tool "cg" + name "GetResultIsConst" + value ("GetResultIsConstSet" 0)) + (object Attribute + tool "cg" + name "GetResultIsConstSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "False" + value 0) + (object Attribute + tool "cg" + name "True" + value 1) + (object Attribute + tool "cg" + name "Same_As_Function" + value 2))) + (object Attribute + tool "cg" + name "GetSetByReference" + value FALSE) + (object Attribute + tool "cg" + name "InlineGet" + value TRUE) + (object Attribute + tool "cg" + name "SetReturnsValue" + value FALSE) + (object Attribute + tool "cg" + name "InlineSet" + value TRUE) + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value TRUE) + (object Attribute + tool "cg" + name "HasRelTypeSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Array" + value 24) + (object Attribute + tool "cg" + name "Sequence" + value 47))))) + (object Attribute + tool "cg" + name "default__Association" + value (list Attribute_Set + (object Attribute + tool "cg" + name "NameIfUnlabeled" + value "the_$targetClass"))) + (object Attribute + tool "cg" + name "default__Inherit" + value (list Attribute_Set + (object Attribute + tool "cg" + name "InstanceArguments" + value ""))) + (object Attribute + tool "cg" + name "default__Role" + value (list Attribute_Set + (object Attribute + tool "cg" + name "CodeName" + value "") + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE) + (object Attribute + tool "cg" + name "NameIfUnlabeled" + value "the_$targetClass") + (object Attribute + tool "cg" + name "GenerateDataMember" + value TRUE) + (object Attribute + tool "cg" + name "DataMemberName" + value "$target") + (object Attribute + tool "cg" + name "DataMemberVisibility" + value ("DataMemberVisibilitySet" 14)) + (object Attribute + tool "cg" + name "DataMemberVisibilitySet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Public" + value 45) + (object Attribute + tool "cg" + name "Protected" + value 44) + (object Attribute + tool "cg" + name "Private" + value 43) + (object Attribute + tool "cg" + name "Implementation" + value 14) + (object Attribute + tool "cg" + name "AtRelationshipVisibility" + value 210))) + (object Attribute + tool "cg" + name "DataMemberMutability" + value ("DataMemberMutabilitySet" 0)) + (object Attribute + tool "cg" + name "DataMemberMutabilitySet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Unrestricted" + value 0) + (object Attribute + tool "cg" + name "Mutable" + value 1) + (object Attribute + tool "cg" + name "Const" + value 2))) + (object Attribute + tool "cg" + name "DataMemberIsVolatile" + value FALSE) + (object Attribute + tool "cg" + name "DataMemberFieldSize" + value "") + (object Attribute + tool "cg" + name "InitialValue" + value (value Text "")) + (object Attribute + tool "cg" + name "ContainerClass" + value "") + (object Attribute + tool "cg" + name "ContainerGet" + value "$data.get($keys)") + (object Attribute + tool "cg" + name "ContainerSet" + value "$data.set($keys,$value)") + (object Attribute + tool "cg" + name "QualifiedContainer" + value "") + (object Attribute + tool "cg" + name "AssocClassContainer" + value "$supplier *") + (object Attribute + tool "cg" + name "AssocClassInitialValue" + value (value Text "")) + (object Attribute + tool "cg" + name "GetSetKinds" + value ("GetSetKindsSet" 200)) + (object Attribute + tool "cg" + name "GetSetKindsSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Common" + value 200) + (object Attribute + tool "cg" + name "Virtual" + value 201) + (object Attribute + tool "cg" + name "Abstract" + value 202) + (object Attribute + tool "cg" + name "Static" + value 203) + (object Attribute + tool "cg" + name "Friend" + value 204))) + (object Attribute + tool "cg" + name "GetSetByReference" + value FALSE) + (object Attribute + tool "cg" + name "GenerateGetOperation" + value TRUE) + (object Attribute + tool "cg" + name "GetName" + value "get_$target") + (object Attribute + tool "cg" + name "GetIsConst" + value TRUE) + (object Attribute + tool "cg" + name "GetResultIsConst" + value ("GetResultIsConstSet" 2)) + (object Attribute + tool "cg" + name "GetResultIsConstSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "False" + value 0) + (object Attribute + tool "cg" + name "True" + value 1) + (object Attribute + tool "cg" + name "Same_As_Function" + value 2))) + (object Attribute + tool "cg" + name "InlineGet" + value TRUE) + (object Attribute + tool "cg" + name "GenerateSetOperation" + value TRUE) + (object Attribute + tool "cg" + name "SetName" + value "set_$target") + (object Attribute + tool "cg" + name "SetReturnsValue" + value FALSE) + (object Attribute + tool "cg" + name "InlineSet" + value TRUE) + (object Attribute + tool "cg" + name "QualifiedGetSetByReference" + value ("QualifiedGetSetByReferenceSet" 2)) + (object Attribute + tool "cg" + name "QualifiedGetSetByReferenceSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "False" + value 0) + (object Attribute + tool "cg" + name "True" + value 1) + (object Attribute + tool "cg" + name "Same_As_GetSetByReference" + value 2))) + (object Attribute + tool "cg" + name "GenerateQualifiedGetOperation" + value TRUE) + (object Attribute + tool "cg" + name "QualifiedGetName" + value "get_$target") + (object Attribute + tool "cg" + name "QualifiedGetIsConst" + value TRUE) + (object Attribute + tool "cg" + name "QualifiedGetResultIsConst" + value ("GetResultIsConstSet" 2)) + (object Attribute + tool "cg" + name "InlineQualifiedGet" + value TRUE) + (object Attribute + tool "cg" + name "GenerateQualifiedSetOperation" + value TRUE) + (object Attribute + tool "cg" + name "QualifiedSetName" + value "set_$target") + (object Attribute + tool "cg" + name "QualifiedSetReturnsValue" + value FALSE) + (object Attribute + tool "cg" + name "InlineQualifiedSet" + value TRUE) + (object Attribute + tool "cg" + name "GenerateAssocClassDataMember" + value TRUE) + (object Attribute + tool "cg" + name "AssocClassDataMemberName" + value "$target") + (object Attribute + tool "cg" + name "AssocClassDataMemberVisibility" + value ("DataMemberVisibilitySet" 14)) + (object Attribute + tool "cg" + name "DataMemberVisibilitySet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Public" + value 45) + (object Attribute + tool "cg" + name "Protected" + value 44) + (object Attribute + tool "cg" + name "Private" + value 43) + (object Attribute + tool "cg" + name "Implementation" + value 14) + (object Attribute + tool "cg" + name "AtRelationshipVisibility" + value 210))) + (object Attribute + tool "cg" + name "AssocClassDataMemberMutability" + value ("DataMemberMutabilitySet" 0)) + (object Attribute + tool "cg" + name "DataMemberMutabilitySet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Unrestricted" + value 0) + (object Attribute + tool "cg" + name "Mutable" + value 1) + (object Attribute + tool "cg" + name "Const" + value 2))) + (object Attribute + tool "cg" + name "AssocClassDataMemberIsVolatile" + value FALSE) + (object Attribute + tool "cg" + name "AssocClassGetSetKinds" + value ("GetSetKindsSet" 200)) + (object Attribute + tool "cg" + name "GenerateAssocClassGetOperation" + value TRUE) + (object Attribute + tool "cg" + name "AssocClassGetName" + value "get_$target") + (object Attribute + tool "cg" + name "AssocClassGetIsConst" + value TRUE) + (object Attribute + tool "cg" + name "AssocClassGetResultIsConst" + value ("GetResultIsConstSet" 2)) + (object Attribute + tool "cg" + name "InlineAssocClassGet" + value TRUE) + (object Attribute + tool "cg" + name "GenerateAssocClassSetOperation" + value TRUE) + (object Attribute + tool "cg" + name "AssocClassSetName" + value "set_$target") + (object Attribute + tool "cg" + name "AssocClassSetReturnsValue" + value FALSE) + (object Attribute + tool "cg" + name "InlineAssocClassSet" + value TRUE) + (object Attribute + tool "cg" + name "AssocClassForwardReferenceOnly" + value TRUE) + (object Attribute + tool "cg" + name "AssocTypeSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Array" + value 24) + (object Attribute + tool "cg" + name "Sequence" + value 47))))) + (object Attribute + tool "cg" + name "default__Attribute" + value (list Attribute_Set + (object Attribute + tool "cg" + name "CodeName" + value "") + (object Attribute + tool "cg" + name "GenerateDataMember" + value TRUE) + (object Attribute + tool "cg" + name "DataMemberName" + value (value Text "i$attribute")) + (object Attribute + tool "cg" + name "DataMemberVisibility" + value ("DataMemberVisibilitySet" 43)) + (object Attribute + tool "cg" + name "DataMemberVisibilitySet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Public" + value 45) + (object Attribute + tool "cg" + name "Protected" + value 44) + (object Attribute + tool "cg" + name "Private" + value 43) + (object Attribute + tool "cg" + name "Implementation" + value 14) + (object Attribute + tool "cg" + name "AtAttributeVisibility" + value 211))) + (object Attribute + tool "cg" + name "DataMemberMutability" + value ("DataMemberMutabilitySet" 0)) + (object Attribute + tool "cg" + name "DataMemberMutabilitySet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Unrestricted" + value 0) + (object Attribute + tool "cg" + name "Mutable" + value 1) + (object Attribute + tool "cg" + name "Const" + value 2))) + (object Attribute + tool "cg" + name "DataMemberIsVolatile" + value FALSE) + (object Attribute + tool "cg" + name "DataMemberFieldSize" + value "") + (object Attribute + tool "cg" + name "GenerateGetOperation" + value FALSE) + (object Attribute + tool "cg" + name "GenerateSetOperation" + value FALSE) + (object Attribute + tool "cg" + name "GetName" + value (value Text "$attribute")) + (object Attribute + tool "cg" + name "SetName" + value (value Text "Set$attribute")) + (object Attribute + tool "cg" + name "GetSetKinds" + value ("GetSetKindsSet" 200)) + (object Attribute + tool "cg" + name "GetSetKindsSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Common" + value 200) + (object Attribute + tool "cg" + name "Virtual" + value 201) + (object Attribute + tool "cg" + name "Abstract" + value 202) + (object Attribute + tool "cg" + name "Static" + value 203) + (object Attribute + tool "cg" + name "Friend" + value 204))) + (object Attribute + tool "cg" + name "GetIsConst" + value TRUE) + (object Attribute + tool "cg" + name "GetResultIsConst" + value ("GetResultIsConstSet" 2)) + (object Attribute + tool "cg" + name "GetResultIsConstSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "False" + value 0) + (object Attribute + tool "cg" + name "True" + value 1) + (object Attribute + tool "cg" + name "Same_As_Function" + value 2))) + (object Attribute + tool "cg" + name "GetSetByReference" + value FALSE) + (object Attribute + tool "cg" + name "InlineGet" + value TRUE) + (object Attribute + tool "cg" + name "SetReturnsValue" + value FALSE) + (object Attribute + tool "cg" + name "InlineSet" + value TRUE) + (object Attribute + tool "cg" + name "CCRegion" + value ""))) + (object Attribute + tool "cg" + name "default__Uses" + value (list Attribute_Set + (object Attribute + tool "cg" + name "ForwardReferenceOnly" + value FALSE) + (object Attribute + tool "cg" + name "BodyReferenceOnly" + value FALSE))) + (object Attribute + tool "cg" + name "default__Subsystem" + value (list Attribute_Set + (object Attribute + tool "cg" + name "Directory" + value "AUTO GENERATE") + (object Attribute + tool "cg" + name "DirectoryIsOnSearchList" + value FALSE) + (object Attribute + tool "cg" + name "PrecompiledHeader" + value ""))) + (object Attribute + tool "cg" + name "default__Category" + value (list Attribute_Set + (object Attribute + tool "cg" + name "IsNamespace" + value FALSE) + (object Attribute + tool "cg" + name "Indent" + value 2) + (object Attribute + tool "cg" + name "CodeName" + value "") + (object Attribute + tool "cg" + name "GenerateEmptyRegions" + value ("GenerateEmptyRegionSet" 3)) + (object Attribute + tool "cg" + name "GenerateEmptyRegionSet" + value (list Attribute_Set + (object Attribute + tool "cg" + name "None" + value 0) + (object Attribute + tool "cg" + name "Preserved" + value 1) + (object Attribute + tool "cg" + name "Unpreserved" + value 2) + (object Attribute + tool "cg" + name "All" + value 3))))) + (object Attribute + tool "MSVC" + name "propertyId" + value "809135966") + (object Attribute + tool "MSVC" + name "default__Project" + value (list Attribute_Set + (object Attribute + tool "MSVC" + name "Version" + value "5.0"))) + (object Attribute + tool "MSVC" + name "default__Class" + value (list Attribute_Set + (object Attribute + tool "MSVC" + name "Type" + value ("MSVCClassTypeSet" 0)) + (object Attribute + tool "MSVC" + name "MSVCClassTypeSet" + value (list Attribute_Set + (object Attribute + tool "MSVC" + name "Normal" + value 0) + (object Attribute + tool "MSVC" + name "Interface_Part" + value 1) + (object Attribute + tool "MSVC" + name "Connection_Part" + value 2) + (object Attribute + tool "MSVC" + name "Class_Factory" + value 3))) + (object Attribute + tool "MSVC" + name "CObjectFunctionality" + value ("CObjectFunctionalitySet" 0)) + (object Attribute + tool "MSVC" + name "CObjectFunctionalitySet" + value (list Attribute_Set + (object Attribute + tool "MSVC" + name "None" + value 0) + (object Attribute + tool "MSVC" + name "Dynamic" + value 1) + (object Attribute + tool "MSVC" + name "Dyncreate" + value 2) + (object Attribute + tool "MSVC" + name "Serial" + value 3))) + (object Attribute + tool "MSVC" + name "GenerateOverrideGroup" + value FALSE) + (object Attribute + tool "MSVC" + name "GenerateDataGroup" + value FALSE) + (object Attribute + tool "MSVC" + name "AFX_DATA_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "GenerateFieldGroup" + value FALSE) + (object Attribute + tool "MSVC" + name "AFX_FIELD_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "GenerateMessageGroup" + value FALSE) + (object Attribute + tool "MSVC" + name "GenerateMessageMap" + value FALSE) + (object Attribute + tool "MSVC" + name "AFX_MSG_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "MESSAGE_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "OLEFactory" + value ("OLEFactorySet" 0)) + (object Attribute + tool "MSVC" + name "OLEFactorySet" + value (list Attribute_Set + (object Attribute + tool "MSVC" + name "None" + value 0) + (object Attribute + tool "MSVC" + name "Built_in" + value 1) + (object Attribute + tool "MSVC" + name "Simple" + value 2) + (object Attribute + tool "MSVC" + name "Licensed" + value 3))) + (object Attribute + tool "MSVC" + name "OLEName" + value "") + (object Attribute + tool "MSVC" + name "OLEClassID" + value "") + (object Attribute + tool "MSVC" + name "GenerateOLECtlType" + value FALSE) + (object Attribute + tool "MSVC" + name "OLECtlType" + value "") + (object Attribute + tool "MSVC" + name "GenerateOLETypeLib" + value FALSE) + (object Attribute + tool "MSVC" + name "OLETypeLibID" + value "") + (object Attribute + tool "MSVC" + name "OLETypeLibMajor" + value "") + (object Attribute + tool "MSVC" + name "OLETypeLibMinor" + value "") + (object Attribute + tool "MSVC" + name "GeneratePropPageIDs" + value FALSE) + (object Attribute + tool "MSVC" + name "OLEPropPageIDs" + value (value Text "")) + (object Attribute + tool "MSVC" + name "GenerateDispatchMap" + value FALSE) + (object Attribute + tool "MSVC" + name "AFX_DISPATCH_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "AFX_DISPATCH_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "DISPATCH_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "StockProperties" + value (value Text "")) + (object Attribute + tool "MSVC" + name "StockFunctions" + value (value Text "")) + (object Attribute + tool "MSVC" + name "DispatchDefValue" + value "") + (object Attribute + tool "MSVC" + name "GenerateDispIdEnum" + value FALSE) + (object Attribute + tool "MSVC" + name "AFX_DISP_ID_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "GenerateInterfaceMap" + value FALSE) + (object Attribute + tool "MSVC" + name "INTERFACE_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "InitInterface" + value "") + (object Attribute + tool "MSVC" + name "GenerateEventMap" + value FALSE) + (object Attribute + tool "MSVC" + name "AFX_EVENT_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "AFX_EVENT_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "EVENT_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "StockEvents" + value (value Text "")) + (object Attribute + tool "MSVC" + name "GenerateEventSinkMap" + value FALSE) + (object Attribute + tool "MSVC" + name "AFX_EVENTSINK_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "AFX_EVENTSINK_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "EVENTSINK_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "PropNotifySinks" + value (value Text "")) + (object Attribute + tool "MSVC" + name "GenerateConnectionMap" + value FALSE) + (object Attribute + tool "MSVC" + name "CONNECTION_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "ConnectionPointIID" + value "") + (object Attribute + tool "MSVC" + name "InheritanceType" + value "") + (object Attribute + tool "MSVC" + name "DeclSpec" + value "") + (object Attribute + tool "MSVC" + name "OLECommands" + value (value Text "")) + (object Attribute + tool "MSVC" + name "MFCDeclares" + value (value Text "")) + (object Attribute + tool "MSVC" + name "MFCImplements" + value (value Text "")) + (object Attribute + tool "MSVC" + name "ATL_Declares" + value (value Text "")) + (object Attribute + tool "MSVC" + name "GenerateCOMMap" + value FALSE) + (object Attribute + tool "MSVC" + name "COM_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "GenerateConnectionPointMap" + value FALSE) + (object Attribute + tool "MSVC" + name "CONNECTION_POINT_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "GenerateMsgMap" + value FALSE) + (object Attribute + tool "MSVC" + name "MSG_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "GeneratePropertyMap" + value FALSE) + (object Attribute + tool "MSVC" + name "PROPERTY_MAP_Entries" + value (value Text "")))) + (object Attribute + tool "MSVC" + name "default__Operation" + value (list Attribute_Set + (object Attribute + tool "MSVC" + name "Type" + value ("MSVCOperationTypeSet" 0)) + (object Attribute + tool "MSVC" + name "MSVCOperationTypeSet" + value (list Attribute_Set + (object Attribute + tool "MSVC" + name "Normal" + value 0) + (object Attribute + tool "MSVC" + name "Virtual_Override" + value 1) + (object Attribute + tool "MSVC" + name "Message_Handler" + value 2) + (object Attribute + tool "MSVC" + name "Dispatch_Handler" + value 3) + (object Attribute + tool "MSVC" + name "Event_Firing_Function" + value 4) + (object Attribute + tool "MSVC" + name "Event_Sink_Handler" + value 5) + (object Attribute + tool "MSVC" + name "Std_OLE_Method" + value 6) + (object Attribute + tool "MSVC" + name "Command_Parser" + value 7) + (object Attribute + tool "MSVC" + name "Property_Get_Function" + value 8) + (object Attribute + tool "MSVC" + name "Property_Set_Function" + value 9) + (object Attribute + tool "MSVC" + name "Property_Notify_Function" + value 10) + (object Attribute + tool "MSVC" + name "Macro_Generated_Function" + value 11))) + (object Attribute + tool "MSVC" + name "AFX_MSG_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "MESSAGE_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "AFX_DISPATCH_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "DISPATCH_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "AFX_EVENT_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "EVENT_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "AFX_EVENTSINK_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "EVENTSINK_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "CallType" + value "") + (object Attribute + tool "MSVC" + name "DeclSpec" + value "") + (object Attribute + tool "MSVC" + name "BodyImage" + value (value Text "")))) + (object Attribute + tool "MSVC" + name "default__Role" + value (list Attribute_Set + (object Attribute + tool "MSVC" + name "Type" + value ("MSVCAttributeTypeSet" 0)) + (object Attribute + tool "MSVC" + name "MSVCAttributeTypeSet" + value (list Attribute_Set + (object Attribute + tool "MSVC" + name "Normal" + value 0) + (object Attribute + tool "MSVC" + name "Member_Property" + value 1) + (object Attribute + tool "MSVC" + name "Get_Set_Property" + value 2) + (object Attribute + tool "MSVC" + name "Dialog_Data" + value 3) + (object Attribute + tool "MSVC" + name "Field_Data" + value 4) + (object Attribute + tool "MSVC" + name "Stock_Property" + value 5))) + (object Attribute + tool "MSVC" + name "AFX_DISPATCH_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "DISPATCH_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "DeclSpec" + value "") + (object Attribute + tool "MSVC" + name "PointerBase" + value "") + (object Attribute + tool "MSVC" + name "CallType" + value "") + (object Attribute + tool "MSVC" + name "StockPropertyImplementation" + value ""))) + (object Attribute + tool "MSVC" + name "default__Has" + value (list Attribute_Set + (object Attribute + tool "MSVC" + name "Type" + value ("MSVCAttributeTypeSet" 0)) + (object Attribute + tool "MSVC" + name "MSVCAttributeTypeSet" + value (list Attribute_Set + (object Attribute + tool "MSVC" + name "Normal" + value 0) + (object Attribute + tool "MSVC" + name "Member_Property" + value 1) + (object Attribute + tool "MSVC" + name "Get_Set_Property" + value 2) + (object Attribute + tool "MSVC" + name "Dialog_Data" + value 3) + (object Attribute + tool "MSVC" + name "Field_Data" + value 4) + (object Attribute + tool "MSVC" + name "Stock_Property" + value 5))) + (object Attribute + tool "MSVC" + name "AFX_DISPATCH_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "DISPATCH_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "DeclSpec" + value "") + (object Attribute + tool "MSVC" + name "PointerBase" + value "") + (object Attribute + tool "MSVC" + name "CallType" + value "") + (object Attribute + tool "MSVC" + name "StockPropertyImplementation" + value ""))) + (object Attribute + tool "MSVC" + name "default__Attribute" + value (list Attribute_Set + (object Attribute + tool "MSVC" + name "Type" + value ("MSVCAttributeTypeSet" 0)) + (object Attribute + tool "MSVC" + name "MSVCAttributeTypeSet" + value (list Attribute_Set + (object Attribute + tool "MSVC" + name "Normal" + value 0) + (object Attribute + tool "MSVC" + name "Member_Property" + value 1) + (object Attribute + tool "MSVC" + name "Get_Set_Property" + value 2) + (object Attribute + tool "MSVC" + name "Dialog_Data" + value 3) + (object Attribute + tool "MSVC" + name "Field_Data" + value 4) + (object Attribute + tool "MSVC" + name "Stock_Property" + value 5))) + (object Attribute + tool "MSVC" + name "AFX_DISPATCH_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "DISPATCH_MAP_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "DeclSpec" + value "") + (object Attribute + tool "MSVC" + name "PointerBase" + value "") + (object Attribute + tool "MSVC" + name "CallType" + value "") + (object Attribute + tool "MSVC" + name "StockPropertyImplementation" + value ""))) + (object Attribute + tool "MSVC" + name "default__Module-Spec" + value (list Attribute_Set + (object Attribute + tool "MSVC" + name "GenerateIncludesGroup" + value FALSE) + (object Attribute + tool "MSVC" + name "AFX_INCLUDES_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "GenerateInsertLocation" + value FALSE))) + (object Attribute + tool "MSVC" + name "default__Module-Body" + value (list Attribute_Set + (object Attribute + tool "MSVC" + name "GenerateIncludesGroup" + value FALSE) + (object Attribute + tool "MSVC" + name "AFX_INCLUDES_Entries" + value (value Text "")) + (object Attribute + tool "MSVC" + name "GenerateInsertLocation" + value FALSE))) + (object Attribute + tool "cg" + name "HiddenTool" + value FALSE) + (object Attribute + tool "Rose Model Integrator" + name "HiddenTool" + value FALSE) + (object Attribute + tool "Rose Web Publisher" + name "HiddenTool" + value FALSE) + (object Attribute + tool "COM" + name "propertyId" + value "783606378") + (object Attribute + tool "COM" + name "default__Class" + value (list Attribute_Set + (object Attribute + tool "COM" + name "TypeKinds" + value (list Attribute_Set + (object Attribute + tool "COM" + name "enum" + value 100) + (object Attribute + tool "COM" + name "record" + value 101) + (object Attribute + tool "COM" + name "module" + value 102) + (object Attribute + tool "COM" + name "interface" + value 103) + (object Attribute + tool "COM" + name "dispinterface" + value 104) + (object Attribute + tool "COM" + name "coclass" + value 105) + (object Attribute + tool "COM" + name "alias" + value 106) + (object Attribute + tool "COM" + name "union" + value 107) + (object Attribute + tool "COM" + name "max" + value 108) + (object Attribute + tool "COM" + name "(none)" + value 109))) + (object Attribute + tool "COM" + name "Generate" + value TRUE) + (object Attribute + tool "COM" + name "kind" + value ("TypeKinds" 109)) + (object Attribute + tool "COM" + name "uuid" + value "") + (object Attribute + tool "COM" + name "version" + value "") + (object Attribute + tool "COM" + name "helpstring" + value "") + (object Attribute + tool "COM" + name "helpcontext" + value "") + (object Attribute + tool "COM" + name "attributes" + value "") + (object Attribute + tool "COM" + name "dllname" + value "") + (object Attribute + tool "COM" + name "alias" + value ""))) + (object Attribute + tool "COM" + name "default__Operation" + value (list Attribute_Set + (object Attribute + tool "COM" + name "Generate" + value TRUE) + (object Attribute + tool "COM" + name "id" + value "") + (object Attribute + tool "COM" + name "helpstring" + value "") + (object Attribute + tool "COM" + name "attributes" + value ""))) + (object Attribute + tool "COM" + name "default__Attribute" + value (list Attribute_Set + (object Attribute + tool "COM" + name "Generate" + value TRUE) + (object Attribute + tool "COM" + name "id" + value "") + (object Attribute + tool "COM" + name "helpstring" + value "") + (object Attribute + tool "COM" + name "attributes" + value ""))) + (object Attribute + tool "COM" + name "default__Module-Spec" + value (list Attribute_Set + (object Attribute + tool "COM" + name "Generate" + value TRUE) + (object Attribute + tool "COM" + name "filename" + value "") + (object Attribute + tool "COM" + name "library" + value "") + (object Attribute + tool "COM" + name "uuid" + value "") + (object Attribute + tool "COM" + name "version" + value "") + (object Attribute + tool "COM" + name "helpstring" + value "") + (object Attribute + tool "COM" + name "helpfile" + value "") + (object Attribute + tool "COM" + name "helpcontext" + value "") + (object Attribute + tool "COM" + name "lcid" + value "") + (object Attribute + tool "COM" + name "attributes" + value ""))) + (object Attribute + tool "COM" + name "default__Param" + value (list Attribute_Set + (object Attribute + tool "COM" + name "attributes" + value ""))) + (object Attribute + tool "COM" + name "HiddenTool" + value FALSE) + (object Attribute + tool "VC++" + name "propertyId" + value "809135966") + (object Attribute + tool "VC++" + name "default__Project" + value (list Attribute_Set + (object Attribute + tool "VC++" + name "UpdateATL" + value TRUE) + (object Attribute + tool "VC++" + name "SmartPointersOnAssoc" + value TRUE) + (object Attribute + tool "VC++" + name "GenerateImports" + value TRUE) + (object Attribute + tool "VC++" + name "PutImportsIn" + value "stdafx.h") + (object Attribute + tool "VC++" + name "FullPathInImports" + value TRUE) + (object Attribute + tool "VC++" + name "UseImportAttributes" + value TRUE) + (object Attribute + tool "VC++" + name "ImportAttributes" + value "no_namespace named_guids") + (object Attribute + tool "VC++" + name "ImportProjTypeLib" + value TRUE) + (object Attribute + tool "VC++" + name "DefaultTypeLib" + value TRUE) + (object Attribute + tool "VC++" + name "TypeLibLocation" + value "") + (object Attribute + tool "VC++" + name "CompileProjTypeLib" + value TRUE) + (object Attribute + tool "VC++" + name "IdlInterfaceAttributes" + value (value Text +|endpoint("") +|local +|object +|pointer_default() +|uuid("") +|version("") +|encode +|decode +|auto_handle +|implicit_handle("") +|code +|nocode + )) + (object Attribute + tool "VC++" + name "IdlCoClassAttributes" + value (value Text +|uuid("") +|helpstring("") +|helpcontext("") +|licensed +|version("") +|control +|hidden +|appobject + )) + (object Attribute + tool "VC++" + name "IdlCoClassInterfaceAttributes" + value (value Text +|default +|source + )) + (object Attribute + tool "VC++" + name "IdlParameterAttributes" + value (value Text +|in +|out +|retval + )) + (object Attribute + tool "VC++" + name "IdlMethodAttributes" + value (value Text +|id(1) +|helpstring("") +|call_as("") +|callback +|helpcontext("") +|hidden +|local +|restricted +|source +|vararg + )) + (object Attribute + tool "VC++" + name "IdlPropertyAttributes" + value (value Text +|id() +|helpstring("") +|call_as("") +|helpcontext("") +|hidden +|local +|restricted +|source +|vararg +|bindable +|defaultbind +|defaultcallelem +|displaybind +|immediatebind +|nonbrowseable +|requestedit + )) + (object Attribute + tool "VC++" + name "RvcPtyVersion" + value "1.3") + (object Attribute + tool "VC++" + name "ModelIDStyle" + value 2) + (object Attribute + tool "VC++" + name "DocStyle" + value 1) + (object Attribute + tool "VC++" + name "GenerateIncludes" + value TRUE) + (object Attribute + tool "VC++" + name "ApplyPattern" + value FALSE) + (object Attribute + tool "VC++" + name "CreateBackupFiles" + value TRUE) + (object Attribute + tool "VC++" + name "SupportCodeName" + value FALSE) + (object Attribute + tool "VC++" + name "DocRevEngineer" + value TRUE) + (object Attribute + tool "VC++" + name "CreateOverviewDiagrams" + value TRUE) + (object Attribute + tool "VC++" + name "UpdateModelIDsInCode" + value TRUE) + (object Attribute + tool "VC++" + name "AttributeTypes" + value (value Text +|attr1=bool +|attr2=short +|attr3=int +|attr4=long +|attr5=char +|attr6=float +|attr7=double +|attr8=void +|attr9=clock_t +|attr10=_complex +|attr11=_dev_t +|attr12=div_t +|attr13=_exception +|attr14=FILE +|attr15=_finddata_t +|attr16=_FPIEEE_RECORD +|attr17=fpos_t +|attr18=_HEAPINFO +|attr19=jmp_buf +|attr20=lconv +|attr21=ldiv_t +|attr22=_off_t +|attr23=_onexit_t +|attr24=_PNH +|attr25=ptrdiff_t +|attr26=sig_atomic_t +|attr27=size_t +|attr28=_stat +|attr29=time_t +|attr30=_timeb +|attr31=tm +|attr32=_utimbuf +|attr33=va_list +|attr34=wchar_t +|attr35=wctrans_t +|attr36=wctype_t +|attr37=_wfinddata_t +|attr38=_wfinddatai64_t +|attr39=wint_t +|attr40=ABORTPROC +|attr41=ACMDRIVERENUMCB +|attr42=ACMDRIVERPROC +|attr43=ACMFILTERCHOOSEHOOKPROC +|attr44=ACMFILTERENUMCB +|attr45=ACMFILTERTAGENUMCB +|attr46=ACMFORMATCHOOSEHOOKPROC +|attr47=ACMFORMATENUMCB +|attr48=ACMFORMATTAGENUMCB +|attr49=APPLET_PROC +|attr50=ATOM +|attr51=BOOL +|attr52=BOOLEAN +|attr53=BYTE +|attr54=CALINFO_ENUMPROC +|attr55=CALLBACK +|attr56=CHAR +|attr57=COLORREF +|attr58=CONST +|attr59=CRITICAL_SECTION +|attr60=CTRYID +|attr61=DATEFMT_ENUMPROC +|attr62=DESKTOPENUMPROC +|attr63=DLGPROC +|attr64=DRAWSTATEPROC +|attr65=DWORD +|attr66=EDITWORDBREAKPROC +|attr67=ENHMFENUMPROC +|attr68=ENUMRESLANGPROC +|attr69=ENUMRESNAMEPROC +|attr70=ENUMRESTYPEPROC +|attr71=FARPROC +|attr72=FILE_SEGMENT_ELEMENT +|attr73=FLOAT +|attr74=FONTENUMPROC +|attr75=GOBJENUMPROC +|attr76=GRAYSTRINGPROC +|attr77=HACCEL +|attr78=HANDLE +|attr79=HBITMAP +|attr80=HBRUSH +|attr81=HCOLORSPACE +|attr82=HCONV +|attr83=HCONVLIST +|attr84=HCURSOR +|attr85=HDC +|attr86=HDDEDATA +|attr87=HDESK +|attr88=HDROP +|attr89=HDWP +|attr90=HENHMETAFILE +|attr91=HFILE +|attr92=HFONT +|attr93=HGDIOBJ +|attr94=HGLOBAL +|attr95=HHOOK +|attr96=HICON +|attr97=HIMAGELIST +|attr98=HIMC +|attr99=HINSTANCE +|attr100=HKEY +|attr101=HKL +|attr102=HLOCAL +|attr103=HMENU +|attr104=HMETAFILE +|attr105=HMODULE +|attr106=HMONITOR +|attr107=HOOKPROC +|attr108=HPALETTE +|attr109=HPEN +|attr110=HRGN +|attr111=HRSRC +|attr112=HSZ +|attr113=HTREEITEM +|attr114=HWINSTA +|attr115=HWND +|attr116=INT +|attr117=IPADDR +|attr118=LANGID +|attr119=LCID +|attr120=LCSCSTYPE +|attr121=LCSGAMUTMATCH +|attr122=LCTYPE +|attr123=LINEDDAPROC +|attr124=LOCALE_ENUMPROC +|attr125=LONG +|attr126=LONGLONG +|attr127=LPARAM +|attr128=LPBOOL +|attr129=LPBYTE +|attr130=LPCCHOOKPROC +|attr131=LPCFHOOKPROC +|attr132=LPCOLORREF +|attr133=LPCRITICAL_SECTION +|attr134=LPCSTR +|attr135=LPCTSTR +|attr136=LPCVOID +|attr137=LPCWSTR +|attr138=LPDWORD +|attr139=LPFIBER_START_ROUTINE +|attr140=LPFRHOOKPROC +|attr141=LPHANDLE +|attr142=LPHANDLER_FUNCTION +|attr143=LPINT +|attr144=LPLONG +|attr145=LPOFNHOOKPROC +|attr146=LPPAGEPAINTHOOK +|attr147=LPPAGESETUPHOOK +|attr148=LPPRINTHOOKPROC +|attr149=LPPROGRESS_ROUTINE +|attr150=LPSETUPHOOKPROC +|attr151=LPSTR +|attr152=LPSTREAM +|attr153=LPTHREAD_START_ROUTINE +|attr154=LPTSTR +|attr155=LPVOID +|attr156=LPWORD +|attr157=LPWSTR +|attr158=LRESULT +|attr159=LUID +|attr160=PBOOL +|attr161=PBOOLEAN +|attr162=PBYTE +|attr163=PCHAR +|attr164=PCRITICAL_SECTION +|attr165=PCSTR +|attr166=PCTSTR +|attr167=PCWCH +|attr168=PCWSTR +|attr169=PDWORD +|attr170=PFLOAT +|attr171=PFNCALLBACK +|attr172=PHANDLE +|attr173=PHANDLER_ROUTINE +|attr174=PHKEY +|attr175=PINT +|attr176=PLCID +|attr177=PLONG +|attr178=PLUID +|attr179=PROPENUMPROC +|attr180=PROPENUMPROCEX +|attr181=PSHORT +|attr182=PSTR +|attr183=PTBYTE +|attr184=PTCHAR +|attr185=PTIMERAPCROUTINE +|attr186=PTSTR +|attr187=PUCHAR +|attr188=PUINT +|attr189=PULONG +|attr190=PUSHORT +|attr191=PVOID +|attr192=PWCHAR +|attr193=PWORD +|attr194=PWSTR +|attr195=REGISTERWORDENUMPROC +|attr196=REGSAM +|attr197=SC_HANDLE +|attr198=SC_LOCK +|attr199=SENDASYNCPROC +|attr200=SERVICE_STATUS_HANDLE +|attr201=SHORT +|attr202=TBYTE +|attr203=TCHAR +|attr204=TIMEFMT_ENUMPROC +|attr205=TIMERPROC +|attr206=UCHAR +|attr207=UINT +|attr208=ULONG +|attr209=ULONGLONG +|attr210=UNSIGNED +|attr211=USHORT +|attr212=VOID +|attr213=WCHAR +|attr214=WINAPI +|attr215=WINSTAENUMPROC +|attr216=WNDENUMPROC +|attr217=WNDPROC +|attr218=WORD +|attr219=WPARAM +|attr220=YIELDPROC +|attr221=CPoint +|attr222=CRect +|attr223=CSize +|attr224=CString +|attr225=CTime +|attr226=CTimeSpan +|attr227=CCreateContext +|attr228=CMemoryState +|attr229=COleSafeArray +|attr230=CPrintInfo +|attr231=HRESULT + )) + (object Attribute + tool "VC++" + name "Containers" + value (value Text +|cont1=CArray<$TYPE, $TYPE&> +|cont2=CByteArray +|cont3=CDWordArray +|cont4=CObArray +|cont5=CPtrArray +|cont6=CStringArray +|cont7=CUIntArray +|cont8=CWordArray +|cont9=CList<$TYPE, $TYPE&> +|cont10=CPtrList +|cont11=CObList +|cont12=CStringList +|cont13=CMapWordToPtr +|cont14=CMapPtrToWord +|cont15=CMapPtrToPtr +|cont16=CMapWordToOb +|cont17=CMapStringToPtr +|cont18=CMapStringToOb +|cont19=CMapStringToString +|cont20=CTypedPtrArray +|cont21=CTypedPtrArray +|cont22=CTypedPtrList +|cont23=CTypedPtrList +|cont24=CComObject<$TYPE> +|cont25=CComPtr<$TYPE> +|cont26=CComQIPtr<$TYPE> +|cont27=CComQIPtr<$TYPE, IID*> + )) + (object Attribute + tool "VC++" + name "ClassMethods" + value (value Text +|*_body=// ToDo: Add your specialized code here and/or call the base class +|cm1=$NAME() +|cm2=$NAME(orig:const $NAME&) +|cm3=<> ~$NAME() +|cm4=operator=(rhs:$NAME&):$NAME& +|cm4_body=// ToDo: Add your specialized code here and/or call the base class||return rhs; +|cm5=<> operator==(rhs:const $NAME&):bool +|cm5_body=// ToDo: Add your specialized code here and/or call the base class||return false; +|cm6=<> operator!=(rhs:$NAME&):bool +|cm6_body=// ToDo: Add your specialized code here and/or call the base class||return false; +|cm7=<> operator<(rhs:$NAME&):bool +|cm7_body=// ToDo: Add your specialized code here and/or call the base class||return false; +|cm8=<> operator>(rhs:$NAME&):bool +|cm8_body=// ToDo: Add your specialized code here and/or call the base class||return false; +|cm9=<> operator<=(rhs:$NAME&):bool +|cm9_body=// ToDo: Add your specialized code here and/or call the base class||return false; +|cm10=<> operator>=(rhs:$NAME&):bool +|cm10_body=// ToDo: Add your specialized code here and/or call the base class||return false; +|cm11=<> operator>>(i:istream&, rhs:$NAME&):istream& +|cm11_body=// ToDo: Add your specialized code here and/or call the base class||return i; +|cm12=<> operator<<(o:ostream&, rhs:const $NAME&):ostream& +|cm12_body=// ToDo: Add your specialized code here and/or call the base class||return o; + )) + (object Attribute + tool "VC++" + name "Accessors" + value (value Text +|agf=<> get_$BASICNAME():const $TYPE +|agf_body=return $NAME; +|asf=set_$BASICNAME(value:$TYPE):void +|asf_body=$NAME = value;|return; +|agv=<> get_$BASICNAME():const $TYPE& +|agv_body=return $NAME; +|asv=set_$BASICNAME(value:$TYPE&):void +|asv_body=$NAME = value;|return; +|agp=<> get_$BASICNAME():const $TYPE +|agp_body=return $NAME; +|asp=set_$BASICNAME(value:$TYPE):void +|asp_body=$NAME = value;|return; +|agr=<> get_$BASICNAME():const $TYPE +|agr_body=return $NAME; +|asr=set_$BASICNAME(value:$TYPE):void +|asr_body=$NAME = value;|return; +|aga=<> get_$BASICNAME(index:int):const $TYPE +|aga_body=return $NAME[index]; +|asa=set_$BASICNAME(index:int, value:$TYPE):void +|asa_body=$NAME[index] = value;|return; + )) + (object Attribute + tool "VC++" + name "Conditionals" + value (value Text +|*_decl=#ifdef _DEBUG +|*_base=CObject +|cond1=<> AssertValid():void +|cond1_body=$SUPERNAME::AssertValid(); +|cond2=<> Dump(dc:CDumpContext&):void +|cond2_body=$SUPERNAME::Dump(dc); + )) + (object Attribute + tool "VC++" + name "Patterns" + value (value Text +|patrn1=cm1,cm3,cond1,cond2 +|Patrn1_name=Default + )) + (object Attribute + tool "VC++" + name "AtlClassPrefix" + value "C") + (object Attribute + tool "VC++" + name "AtlInterfacePrefix" + value "I") + (object Attribute + tool "VC++" + name "AtlTypeDescription" + value "Class"))) + (object Attribute + tool "VC++" + name "default__Class" + value (list Attribute_Set + (object Attribute + tool "VC++" + name "Generate" + value TRUE))) + (object Attribute + tool "VC++" + name "default__Module-Spec" + value (list Attribute_Set + (object Attribute + tool "VC++" + name "InternalMap" + value (value Text +|*:AUTO:AUTO +| + )) + (object Attribute + tool "VC++" + name "ExportMap" + value (value Text +|*:AUTO:AUTO +| + )) + (object Attribute + tool "VC++" + name "InitialSourceIncludes" + value (value Text +|"stdafx.h" + )) + (object Attribute + tool "VC++" + name "InitialHeaderIncludes" + value (value Text "")) + (object Attribute + tool "VC++" + name "Copyright" + value (value Text "Copyright (C) 1991 - 1999 Rational Software Corporation")) + (object Attribute + tool "VC++" + name "KindSet" + value (list Attribute_Set + (object Attribute + tool "VC++" + name "(none)" + value 300) + (object Attribute + tool "VC++" + name "DLL" + value 301) + (object Attribute + tool "VC++" + name "EXE" + value 302) + (object Attribute + tool "VC++" + name "MIDL" + value 303))) + (object Attribute + tool "VC++" + name "Kind" + value ("KindSet" 300)))) + (object Attribute + tool "VC++" + name "default__Role" + value (list Attribute_Set + (object Attribute + tool "VC++" + name "Const" + value FALSE) + (object Attribute + tool "VC++" + name "Generate" + value TRUE) + (object Attribute + tool "VC++" + name "InitialValue" + value ""))) + (object Attribute + tool "VC++" + name "default__Uses" + value (list Attribute_Set + (object Attribute + tool "VC++" + name "Generate" + value TRUE))) + (object Attribute + tool "VC++" + name "default__Attribute" + value (list Attribute_Set + (object Attribute + tool "VC++" + name "Generate" + value TRUE))) + (object Attribute + tool "VC++" + name "default__Operation" + value (list Attribute_Set + (object Attribute + tool "VC++" + name "Generate" + value TRUE) + (object Attribute + tool "VC++" + name "Inline" + value FALSE) + (object Attribute + tool "VC++" + name "DefaultBody" + value (value Text "")))) + (object Attribute + tool "VC++" + name "HiddenTool" + value FALSE) + (object Attribute + tool "VisualStudio" + name "HiddenTool" + value FALSE) + (object Attribute + tool "Web Modeler" + name "HiddenTool" + value FALSE) + (object Attribute + tool "XML_DTD" + name "propertyId" + value "809135966") + (object Attribute + tool "XML_DTD" + name "default__Project" + value (list Attribute_Set + (object Attribute + tool "XML_DTD" + name "CreateMissingDirectories" + value TRUE) + (object Attribute + tool "XML_DTD" + name "Editor" + value ("EditorType" 100)) + (object Attribute + tool "XML_DTD" + name "StopOnError" + value TRUE) + (object Attribute + tool "XML_DTD" + name "EditorType" + value (list Attribute_Set + (object Attribute + tool "XML_DTD" + name "BuiltIn" + value 100) + (object Attribute + tool "XML_DTD" + name "WindowsShell" + value 101))))) + (object Attribute + tool "XML_DTD" + name "default__Class" + value (list Attribute_Set + (object Attribute + tool "XML_DTD" + name "Entity_SystemID" + value "") + (object Attribute + tool "XML_DTD" + name "Entity_PublicID" + value "") + (object Attribute + tool "XML_DTD" + name "NotationValue" + value "") + (object Attribute + tool "XML_DTD" + name "InternalValue" + value "") + (object Attribute + tool "XML_DTD" + name "ParameterEntity" + value FALSE) + (object Attribute + tool "XML_DTD" + name "ExternalEntity" + value FALSE) + (object Attribute + tool "XML_DTD" + name "Notation_SystemID" + value "") + (object Attribute + tool "XML_DTD" + name "Notation_PublicID" + value ""))) + (object Attribute + tool "XML_DTD" + name "default__Attribute" + value (list Attribute_Set + (object Attribute + tool "XML_DTD" + name "DefaultDeclType" + value ""))) + (object Attribute + tool "XML_DTD" + name "default__Module-Spec" + value (list Attribute_Set + (object Attribute + tool "XML_DTD" + name "Assign All" + value FALSE) + (object Attribute + tool "XML_DTD" + name "ComponentPath" + value ""))) + (object Attribute + tool "XML_DTD" + name "HiddenTool" + value FALSE) + (object Attribute + tool "DDL" + name "propertyId" + value "809135966") + (object Attribute + tool "DDL" + name "default__Project" + value (list Attribute_Set + (object Attribute + tool "DDL" + name "Directory" + value "AUTO GENERATE") + (object Attribute + tool "DDL" + name "DataBase" + value ("DataBaseSet" 800)) + (object Attribute + tool "DDL" + name "DataBaseSet" + value (list Attribute_Set + (object Attribute + tool "DDL" + name "ANSI" + value 800) + (object Attribute + tool "DDL" + name "Oracle" + value 801) + (object Attribute + tool "DDL" + name "SQLServer" + value 802) + (object Attribute + tool "DDL" + name "Sybase" + value 803) + (object Attribute + tool "DDL" + name "Watcom" + value 804))) + (object Attribute + tool "DDL" + name "PrimaryKeyColumnName" + value "Id") + (object Attribute + tool "DDL" + name "PrimaryKeyColumnType" + value "NUMBER(5)") + (object Attribute + tool "DDL" + name "ViewName" + value "V_") + (object Attribute + tool "DDL" + name "TableName" + value "T_") + (object Attribute + tool "DDL" + name "InheritSuffix" + value "_V") + (object Attribute + tool "DDL" + name "DropClause" + value FALSE) + (object Attribute + tool "DDL" + name "BaseViews" + value FALSE) + (object Attribute + tool "DDL" + name "DDLScriptFilename" + value "DDL1.SQL"))) + (object Attribute + tool "DDL" + name "default__Attribute" + value (list Attribute_Set + (object Attribute + tool "DDL" + name "ColumnType" + value "VARCHAR") + (object Attribute + tool "DDL" + name "Length" + value "") + (object Attribute + tool "DDL" + name "NullsOK" + value TRUE) + (object Attribute + tool "DDL" + name "PrimaryKey" + value FALSE) + (object Attribute + tool "DDL" + name "Unique" + value FALSE) + (object Attribute + tool "DDL" + name "CompositeUnique" + value FALSE) + (object Attribute + tool "DDL" + name "CheckConstraint" + value ""))) + (object Attribute + tool "DDL" + name "HiddenTool" + value FALSE) + (object Attribute + tool "RequisitePro" + name "HiddenTool" + value FALSE)) + quid "40C049140279")) diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothcommsprofiles/btpan/group/BLD.INF --- a/bluetoothcommsprofiles/btpan/group/BLD.INF Mon May 03 13:34:38 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// panagt.agt Bluetooth PAN profile implementation -// -// - -/** - @file -*/ - - -PRJ_PLATFORMS - -DEFAULT - -PRJ_EXPORTS - -../inc/panprog.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(panprog.h) -../inc/panctrl.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(panctrl.h) -../inc/panerr.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(panerr.h) -../inc/BnepPacketNotifier.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(bluetooth/pan/bneppacketnotifier.h) -../inc/panuiinterfaces.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/panuiinterfaces.h) -../inc/panroles.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/panroles.h) -../group/btpan.iby /epoc32/rom/include/btpan.iby - -PRJ_MMPFILES - -../group/bnep.mmp -../group/panagt.mmp -../group/panhelper.mmp - -// PAN NAP IP Hook -#include "../pannapiphook/group/bld.inf" - -#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY -// PAN providers & custom messages -#include "../panproviders/group/bld.inf" -#include "../panmessages/group/bld.inf" -#endif diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothcommsprofiles/btpan/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bluetoothcommsprofiles/btpan/group/bld.inf Mon Jul 12 07:03:47 2010 +0300 @@ -0,0 +1,50 @@ +// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// panagt.agt Bluetooth PAN profile implementation +// +// + +/** + @file +*/ + + +PRJ_PLATFORMS + +DEFAULT + +PRJ_EXPORTS + +../inc/panprog.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(panprog.h) +../inc/panctrl.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(panctrl.h) +../inc/panerr.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(panerr.h) +../inc/BnepPacketNotifier.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(bluetooth/pan/bneppacketnotifier.h) +../inc/panuiinterfaces.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/panuiinterfaces.h) +../inc/panroles.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/panroles.h) +../group/btpan.iby /epoc32/rom/include/btpan.iby + +PRJ_MMPFILES + +../group/bnep.mmp +../group/panagt.mmp +../group/panhelper.mmp + +// PAN NAP IP Hook +#include "../pannapiphook/group/bld.inf" + +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY +// PAN providers & custom messages +#include "../panproviders/group/bld.inf" +#include "../panmessages/group/bld.inf" +#endif diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothcommsprofiles/btpan/group/btpan.iby --- a/bluetoothcommsprofiles/btpan/group/btpan.iby Mon May 03 13:34:38 2010 +0300 +++ b/bluetoothcommsprofiles/btpan/group/btpan.iby Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -34,11 +34,11 @@ REM *** Now for things which should only be included if the device REM *** supports bluetooth, to save ROM space... -#ifdef SYMBIAN_EXCLUDE_BLUETOOTH +#ifndef __BT REM Feature BLUETOOTH is not in this ROM (btpan.iby) #else -// !SYMBIAN_EXCLUDE_BLUETOOTH +// __BT file=ABI_DIR\BT_DIR\panagt.agt System\Libs\panagt.agt file=ABI_DIR\BT_DIR\panhelper.dll System\Libs\panhelper.dll @@ -50,7 +50,7 @@ #endif #endif -// SYMBIAN_EXCLUDE_BLUETOOTH +// __BT #endif // __BTPAN_IBY__ diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothmgmt/bluetoothclientlib/btlib/btbaseband.cpp --- a/bluetoothmgmt/bluetoothclientlib/btlib/btbaseband.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetoothmgmt/bluetoothclientlib/btlib/btbaseband.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -18,6 +18,7 @@ #include #include #include +#include #include "btsocketpanic.h" //................................. @@ -529,14 +530,7 @@ } } -void RBTBaseband::TerminateAllPhysicalLinks(TInt aReason) - { - TRequestStatus stat; - TerminateAllPhysicalLinks(aReason, stat); - User::WaitForRequest(stat); - } - -void RBTBaseband::TerminateAllPhysicalLinks(TInt /*aReason*/, TRequestStatus& aStatus) +void RBTBaseband::TerminateAllPhysicalLinks(TRequestStatus& aStatus) { if (!SubSessionHandle()) { @@ -549,6 +543,20 @@ } } +void RBTBaseband::TerminateAllPhysicalLinksForPowerOff(TRequestStatus& aStatus) + { + if (!SubSessionHandle()) + { + LocalComplete(aStatus, KErrNotReady); + } + else + { + TBuf8<1> dummy; + iSocket.Shutdown(RSocket::ENormal, KDisconnectAllPhysicalLinksForPowerOff, dummy, aStatus); // this *means* detach now + } + } + + TInt RBTBaseband::Enumerate(RBTDevAddrArray& aBTDevAddrArray, TUint aMaxNumber) { if (!SubSessionHandle()) diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothmgmt/bluetoothclientlib/btlib/btphysicallinks.cpp --- a/bluetoothmgmt/bluetoothclientlib/btlib/btphysicallinks.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetoothmgmt/bluetoothclientlib/btlib/btphysicallinks.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -164,7 +164,7 @@ } EXPORT_C TInt CBluetoothPhysicalLinks::DisconnectAll() -/** Disconnect all members of piconet +/** Disconnect all members of piconet with the reason code "Remote User Terminated Connection" @return Error code @capability NetworkControl */ @@ -176,10 +176,10 @@ //Allow ESock to do multiple disconnects BTBaseband().Close(); - TInt ESockErr = BTBaseband().Open(SockServer()); - if(ESockErr != KErrNone) + TInt openErr = BTBaseband().Open(SockServer()); + if(openErr != KErrNone) { - return ESockErr; + return openErr; } TRAPD(err, iBTDisconnector = CBTDisconnector::NewL(*this)); @@ -190,6 +190,33 @@ return err; } +EXPORT_C TInt CBluetoothPhysicalLinks::DisconnectAllForPowerOff() +/** Disconnect all members of piconet with the reason code "Remote Device Terminated Connection due to Power Off" +@return Error code +@capability NetworkControl +*/ + { + if(iBTDisconnector) + { + return KErrInUse; + } + + //Allow ESock to do multiple disconnects + BTBaseband().Close(); + TInt openErr = BTBaseband().Open(SockServer()); + if(openErr != KErrNone) + { + return openErr; + } + + TRAPD(err, iBTDisconnector = CBTDisconnector::NewL(*this)); + if(err == KErrNone) + { + iBTDisconnector->DisconnectAllForPowerOff(); + } + return err; + } + EXPORT_C TInt CBluetoothPhysicalLinks::Broadcast(const TDesC8& aData) /** Write (raw) broadcast data @@ -417,11 +444,22 @@ { __ASSERT_ALWAYS(!IsActive(), Panic(EUnfinishedBusiness)); - iParent.BTBaseband().TerminateAllPhysicalLinks(0, iStatus); + iParent.BTBaseband().TerminateAllPhysicalLinks(iStatus); iCurrentRequest = EDisconnectAll; SetActive(); } +void CBTDisconnector::DisconnectAllForPowerOff() + + { + __ASSERT_ALWAYS(!IsActive(), Panic(EUnfinishedBusiness)); + + iParent.BTBaseband().TerminateAllPhysicalLinksForPowerOff(iStatus); + iCurrentRequest = EDisconnectAll; + SetActive(); + } + + void CBTDisconnector::RunL() // //When logical socket has connected (only async bit), diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothmgmt/bluetoothclientlib/btlib/btphysicallinkshelpers.h --- a/bluetoothmgmt/bluetoothclientlib/btlib/btphysicallinkshelpers.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetoothmgmt/bluetoothclientlib/btlib/btphysicallinkshelpers.h Mon Jul 12 07:03:47 2010 +0300 @@ -49,6 +49,7 @@ static CBTDisconnector* NewL(CBluetoothPhysicalLinks& aParent); void Disconnect(const TBTDevAddr& aBDAddr); void DisconnectAll(); + void DisconnectAllForPowerOff(); ~CBTDisconnector(); diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothmgmt/bluetoothclientlib/bwins/BLUETOOTHU.DEF --- a/bluetoothmgmt/bluetoothclientlib/bwins/BLUETOOTHU.DEF Mon May 03 13:34:38 2010 +0300 +++ b/bluetoothmgmt/bluetoothclientlib/bwins/BLUETOOTHU.DEF Mon Jul 12 07:03:47 2010 +0300 @@ -354,4 +354,5 @@ ?SetMinMRU@TL2CapConfig@@QAEHG@Z @ 353 NONAME ; int TL2CapConfig::SetMinMRU(unsigned short) ?RetransmissionTimer@TL2CapConfig@@QBEGAAH@Z @ 354 NONAME ; unsigned short TL2CapConfig::RetransmissionTimer(int &) const ?MinMRU@TL2CapConfig@@QBEGAAH@Z @ 355 NONAME ; unsigned short TL2CapConfig::MinMRU(int &) const + ?DisconnectAllForPowerOff@CBluetoothPhysicalLinks@@QAEHXZ @ 356 NONAME ; int CBluetoothPhysicalLinks::DisconnectAllForPowerOff(void) diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothmgmt/bluetoothclientlib/eabi/bluetoothU.def --- a/bluetoothmgmt/bluetoothclientlib/eabi/bluetoothU.def Mon May 03 13:34:38 2010 +0300 +++ b/bluetoothmgmt/bluetoothclientlib/eabi/bluetoothU.def Mon Jul 12 07:03:47 2010 +0300 @@ -408,4 +408,5 @@ _ZNK12TL2CapConfig21LegacyModesDisallowedEv @ 407 NONAME _ZNK12TL2CapConfig6MinMRUERi @ 408 NONAME _ZNK12TL2CapConfig6MinMTUERi @ 409 NONAME + _ZN23CBluetoothPhysicalLinks24DisconnectAllForPowerOffEv @ 410 NONAME diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothmgmt/bluetoothclientlib/inc/bt_sock.h --- a/bluetoothmgmt/bluetoothclientlib/inc/bt_sock.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetoothmgmt/bluetoothclientlib/inc/bt_sock.h Mon Jul 12 07:03:47 2010 +0300 @@ -191,6 +191,7 @@ // private tokens for use by RBTBaseband facade and stack _LIT8(KDisconnectOnePhysicalLink, "1"); /*!< Specifes one physical link should be disconnected */ _LIT8(KDisconnectAllPhysicalLinks, "A"); /*!< Specifes all physical links should be disconnected */ +_LIT8(KDisconnectAllPhysicalLinksForPowerOff, "P"); /*!< Specifes all physical links should be disconnected for power off*/ // HCI Ioctls /** Add SCO connnection Ioctl @@ -614,6 +615,7 @@ const static TInt KErrRfcommParameterNegotiationFailure = KRFErrorBase-7; /*!< RFCOMM parameter negotiation failure error code. */ const static TInt KErrRfcommNotListening = KRFErrorBase-8; /*!< RFCOMM not listening error code. */ const static TInt KErrRfcommNoMoreServerChannels = KRFErrorBase-9; /*!< RFCOMM no more server channels available error code. */ +const static TInt KErrRfcommMuxChannelErrored = KRFErrorBase-10; /*!< RFCOMM Mux channel errored */ //RFCOMMIoctls @@ -1533,6 +1535,7 @@ IMPORT_C void CancelCreateConnection(); IMPORT_C TInt Disconnect(const TBTDevAddr& aDevAddr); IMPORT_C TInt DisconnectAll(); + IMPORT_C TInt DisconnectAllForPowerOff(); IMPORT_C TInt Broadcast(const TDesC8& aData); IMPORT_C TInt ReadRaw(TDes8& aData); diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothmgmt/bluetoothclientlib/inc/btbaseband.h --- a/bluetoothmgmt/bluetoothclientlib/inc/btbaseband.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetoothmgmt/bluetoothclientlib/inc/btbaseband.h Mon Jul 12 07:03:47 2010 +0300 @@ -87,10 +87,10 @@ void TerminatePhysicalLink(TInt aReason, TRequestStatus& aStatus); void TerminatePhysicalLink(TInt aReason, const TBTDevAddr& aDevAddr, TRequestStatus& aStatus); void ShutdownPhysicalLink(TRequestStatus& aStatus); - void TerminateAllPhysicalLinks(TInt aReason); - void TerminateAllPhysicalLinks(TInt aReason, TRequestStatus& aStatus); + void TerminateAllPhysicalLinks(TRequestStatus& aStatus); + void TerminateAllPhysicalLinksForPowerOff(TRequestStatus& aStatus); TInt SubSessionHandle() const; - + private: TInt RequestRole(TBTLMOptions aRole); void LocalComplete(TRequestStatus& aStatus, TInt aErr); diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothmgmt/bluetoothclientlib/inc/bttypes.h --- a/bluetoothmgmt/bluetoothclientlib/inc/bttypes.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetoothmgmt/bluetoothclientlib/inc/bttypes.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 1999-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -745,6 +745,20 @@ const TUint KLIAC=0x9e8b00; /** +@publishedAll +@released + +HCI Scan enable mask +*/ +enum THCIScanEnable + { + ENoScansEnabled = 0x00, /*!< No scans enabled */ + EInquiryScanOnly = 0x01, /*!< Inquiry scan enabled */ + EPageScanOnly = 0x02, /*!< Page scan enabled */ + EInquiryAndPageScan = 0x03 /*!< Inquiry and page scan enabled */ + }; + +/** L2CAP channel modes @publishedAll @released diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothmgmt/bluetoothclientlib/inc/pairing.h --- a/bluetoothmgmt/bluetoothclientlib/inc/pairing.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetoothmgmt/bluetoothclientlib/inc/pairing.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -24,6 +24,7 @@ #include #include +#include /** The UID indicating the dedicated bonding service request. diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothmgmt/btmgr/BTManServer/BTManServer.cpp --- a/bluetoothmgmt/btmgr/BTManServer/BTManServer.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetoothmgmt/btmgr/BTManServer/BTManServer.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -534,15 +534,19 @@ CBTManSession::~CBTManSession() { LOG_FUNC + + delete iSubSessions; + Server().DeleteContainer(iContainer); + Server().DropSession(); + if (iMessageArray) { + __ASSERT_DEBUG(iMessageArray->Count()== 0, PanicServer(EBTManOutstandingMessagesOnClosedSession)); + CompleteOutstandingMessages(); iMessageArray->ResetAndDestroy(); } delete iMessageArray; - delete iSubSessions; - Server().DeleteContainer(iContainer); - Server().DropSession(); } void CBTManSession::CompleteOutstandingMessages() diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothmgmt/btmgr/BTManServer/btmanserverburmgr.cpp --- a/bluetoothmgmt/btmgr/BTManServer/btmanserverburmgr.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bluetoothmgmt/btmgr/BTManServer/btmanserverburmgr.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -19,6 +19,7 @@ #include #include #include +#include #include "btmanserverutil.h" #include "btmanserverburmgr.h" #include "BTManServer.h" @@ -306,9 +307,9 @@ /** Receives notification that a restore file has been provided by the Secure Backup Engine. -Upon receiving this notification, the restore file is renamed to have the appropriate extension and -the local device name is updated in the registry. The restore of the remote devices table is postponed -until the next time BTManServer starts, so any ongoing BT connections are not affected. +Upon receiving this notification, the restore file is renamed to have the appropriate extension +The actual restore to the registry is postponed until the next time BTManServer starts, +so any ongoing BT connections are not affected. **/ void CBTManServerBURMgr::RestoreFileReady() { @@ -317,8 +318,6 @@ // Rename restore file RenameBackupFileForRestore(); - // Attempt to update local device name in the registry (best efforts only) - TRAP_IGNORE(UpdateLocalDeviceNameL()); } void CBTManServerBURMgr::HandleStateNormal() @@ -524,7 +523,7 @@ // Start restore file processing iRestoreHandler = CBTRestoreHandler::NewL(*this, iBTManServer); - iRestoreHandler->RestoreRemoteDeviceTableL(iLocalAddr); + iRestoreHandler->RestoreRegistryL(iLocalAddr); iStateMachine->TransitionState(EBTBUREventProcessRestoreFileComplete); } @@ -710,24 +709,6 @@ } } -/** -Parses the restore file and updates the loal device name in the registry. -This update takes place as soon as the restore file is available, regardless of whether or not the local device -address matches that held in the registry. If the local device name has already been set to a non-default value, -then it is not modified. -**/ -void CBTManServerBURMgr::UpdateLocalDeviceNameL() - { - LOG_FUNC - - CBTRestoreHandler* restoreHandler = CBTRestoreHandler::NewL(*this, iBTManServer); - CleanupStack::PushL(restoreHandler); - - restoreHandler->RestoreLocalDeviceNameL(); - - CleanupStack::PopAndDestroy(restoreHandler); - } - void CBTManServerBURMgr::RunL() { LOG_FUNC @@ -865,22 +846,7 @@ delete iRegistryData; } -void CBTRestoreHandler::RestoreLocalDeviceNameL() - { - LOG_FUNC - - LoadRestoreDataL(); - - // If the local device name is still default, restore without validating the local address - // (otherwise we will not be able to restore this field before the next stack start, which may cause problems with some UIs) - CBTRegistry& registry = iManServer.Registry(); - if (iRegistryData->WriteLocalDeviceNameToRegistryL(registry)) - { - NotifyLocalTableChange(); - } - } - -void CBTRestoreHandler::RestoreRemoteDeviceTableL(TBTDevAddr& aLocalAddr) +void CBTRestoreHandler::RestoreRegistryL(TBTDevAddr& aLocalAddr) { LOG_FUNC __ASSERT_DEBUG(aLocalAddr != TBTDevAddr(), PANIC(KBTBackupPanicCat, EBTBURMgrMissingLocalAddress)); @@ -890,9 +856,15 @@ // Compare local address held in restore file with our local address if (iRegistryData->IsLocalAddressEqualL(aLocalAddr)) { - // Proceed with restore of remote devices table + // Proceed with restore CBTRegistry& registry = iManServer.Registry(); + if (iRegistryData->WriteLocalDeviceNameToRegistryL(registry)) + { + NotifyLocalTableChange(); + NotifyLocalDeviceNameChange(iRegistryData->GetLocalDeviceNameL()); + } + TInt noRemoteDevices = iRegistryData->CountRemoteDevicesL(); for (TInt i = 0; i < noRemoteDevices; i++) { @@ -939,6 +911,39 @@ } /** +Sends a notification that the local device name has been changed. +This notification is observable through the P&S key KPRopertyKeyBluetoothSetDeviceName. +@param aLocalName The modified local device name as an 8-bit descriptor. +**/ +void CBTRestoreHandler::NotifyLocalDeviceNameChange(const TDesC8& aLocalName) + { + LOG_FUNC + + // The P&S key requires the local device name in unicode format. + TBuf16 localNameUniCode; + localNameUniCode.Copy(aLocalName); + + NotifyLocalDeviceNameChange(localNameUniCode); + } + +/** +Sends a notification that the local device name has been changed. +This notification is observable through the P&S key KPRopertyKeyBluetoothSetDeviceName. +@param aLocalName The modified local device name in unicode format. +**/ +void CBTRestoreHandler::NotifyLocalDeviceNameChange(const TDesC16& aLocalName) + { + LOG_FUNC + + // The KPropertyKeyBluetoothSetDeviceName P&S key may or may not exist at this point. + TInt err = RProperty::Set( KPropertyUidBluetoothCategory, KPropertyKeyBluetoothSetDeviceName, aLocalName); + if (err != KErrNone && err != KErrNotFound) + { + LOG1(_L("CBTRegistryBURData::NotifyLocalDeviceNameChange() - RProperty::Set() failed with %d"), err); + } + } + +/** Sends a notification that a device in the remote devices table has been changed. The notification is observable through the P&S key KPropertyKeyBluetoothGetRegistryTableChange. Interested parties can also use RBTRegistry::NotifyViewChange() to detect if the change affects their view. @@ -1544,8 +1549,8 @@ } /** -Updates the persistence table of the registry with local device name held in this instance -if the registry currently holds a default name. +Updates the persistence table of the registry with local device name held in this instance. +The update is only performed if the local name held in this instance differs from that currently held in the registry. @param aRegistry The CBTRegistry instance to use for registry access. @return ETrue if an update was made to the registry. **/ @@ -1554,24 +1559,15 @@ LOG_FUNC TBool updateDone = EFalse; - - // Update device name only if the registry has a default name - TBTLocalDevice defaultDevice; - TRAP_IGNORE(aRegistry.GetDefaultDeviceFromIniL(defaultDevice)); - - if (!defaultDevice.IsValidDeviceName()) - { - // Could not obtain a default name - use KDefaultLocalName instead - defaultDevice.SetDeviceName(KDefaultLocalName); - } - + TBTLocalDevice* localDevice = aRegistry.GetLocalDeviceL(); CleanupStack::PushL(localDevice); - if (localDevice->DeviceName() == defaultDevice.DeviceName()) + const TDesC8& localName = GetLocalDeviceNameL(); + + if (localDevice->DeviceName() != localName) { - // Local device name is default, update with restored value. - localDevice->SetDeviceName(GetLocalDeviceNameL()); + localDevice->SetDeviceName(localName); aRegistry.UpdateLocalDeviceL(*localDevice); updateDone = ETrue; } @@ -1600,7 +1596,7 @@ const CBTDevice& nextRemDevice = GetRemoteDeviceL(aDeviceIndex); TSecureId nextRemDeviceSid = GetRemoteDeviceEntrySidL(aDeviceIndex); - // Try to add device to registry. If this fails with KErrAlreadExists, then update existing device. + // Try to add device to registry. If this fails with KErrAlreadyExists, then update existing device. TRAPD(err, aRegistry.CreateDeviceL(nextRemDevice, nextRemDevice.IsValidUiCookie(), nextRemDeviceSid)); if (err == KErrNone) diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothmgmt/btmgr/BTManServer/btmanserverburmgr.h --- a/bluetoothmgmt/btmgr/BTManServer/btmanserverburmgr.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetoothmgmt/btmgr/BTManServer/btmanserverburmgr.h Mon Jul 12 07:03:47 2010 +0300 @@ -157,7 +157,6 @@ void DeleteRestoreFile(); void RenameBackupFileForRestore(); - void UpdateLocalDeviceNameL(); // From CActive: void RunL(); @@ -213,8 +212,7 @@ static CBTRestoreHandler* NewL(CBTManServerBURMgr& aBURMgr, CBTManServer& aManServer); ~CBTRestoreHandler(); - void RestoreLocalDeviceNameL(); - void RestoreRemoteDeviceTableL(TBTDevAddr& aLocalAddr); + void RestoreRegistryL(TBTDevAddr& aLocalAddr); private: CBTRestoreHandler(CBTManServerBURMgr& aBURMgr, CBTManServer& aManServer); @@ -223,6 +221,8 @@ void LoadRestoreDataL(); void NotifyLocalTableChange(); + void NotifyLocalDeviceNameChange(const TDesC8& aLocalName); + void NotifyLocalDeviceNameChange(const TDesC16& aLocalName); void NotifyRemoteTableChangeL(const TBTDevAddr& aAddress); private: @@ -250,6 +250,7 @@ inline TBool HasRegistryData() const; void GetRegistryVersionL(TUint32& aRegistryVersionMajor, TUint32& aRegistryVersionMinor) const; + const TDesC8& GetLocalDeviceNameL() const; TBool IsLocalAddressNonZeroL() const; TBool IsLocalAddressEqualL(TBTDevAddr& aAddr) const; TInt CountRemoteDevicesL() const; @@ -262,8 +263,6 @@ CBTRegistryBURData(); void ConstructL(); - const TDesC8& GetLocalDeviceNameL() const; - private: TBool iHasRegistryData; diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothmgmt/btmgr/Inc/BTManServer.h --- a/bluetoothmgmt/btmgr/Inc/BTManServer.h Mon May 03 13:34:38 2010 +0300 +++ b/bluetoothmgmt/btmgr/Inc/BTManServer.h Mon Jul 12 07:03:47 2010 +0300 @@ -362,6 +362,7 @@ EBTManClientShouldBeBusy, EBTManBadState, EBTManUnexpectedDbError, + EBTManOutstandingMessagesOnClosedSession, }; diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothmgmt/btrom/bluetooth.iby --- a/bluetoothmgmt/btrom/bluetooth.iby Mon May 03 13:34:38 2010 +0300 +++ b/bluetoothmgmt/btrom/bluetooth.iby Mon Jul 12 07:03:47 2010 +0300 @@ -80,7 +80,7 @@ REM *** Now for things which should only be included if the device REM *** supports bluetooth, to save ROM space... -#ifdef SYMBIAN_EXCLUDE_BLUETOOTH +#ifndef __BT REM Feature BLUETOOTH is not in this ROM (bluetooth.iby) #else @@ -133,7 +133,7 @@ #endif // BLUETOOTH_NO_AV -#endif // SYMBIAN_EXCLUDE_BLUETOOTH +#endif // __BT #endif diff -r 4b81101308c6 -r 4e80e1b997a8 bluetoothmgmt/btrom/hci.iby --- a/bluetoothmgmt/btrom/hci.iby Mon May 03 13:34:38 2010 +0300 +++ b/bluetoothmgmt/btrom/hci.iby Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -32,8 +32,12 @@ REM Symbian HCIv2 Framework DLLs - must be included #include -REM Reference HCIv2 DLLs - this will be branched/overwritten by the licensee to include the relevant files +REM hci_implementation.iby is provided elsewhere (platform-specific). +REM Use reference HCI implementation for H4, H6 and Naviengine. +#if ( defined __MOMAP24XX_H4HRP__ || defined __MOMAP34XX_SDP__ || defined __NE1_TB__ ) +#include +#else #include +#endif #endif // __HCI_IBY__ - diff -r 4b81101308c6 -r 4e80e1b997a8 bt_info/bt_metadata/bt_metadata.mrp --- a/bt_info/bt_metadata/bt_metadata.mrp Mon May 03 13:34:38 2010 +0300 +++ b/bt_info/bt_metadata/bt_metadata.mrp Mon Jul 12 07:03:47 2010 +0300 @@ -1,19 +1,3 @@ -# -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "Eclipse Public License v1.0" -# which accompanies this distribution, and is available -# at the URL "http://www.eclipse.org/legal/epl-v10.html". -# -# Initial Contributors: -# Nokia Corporation - initial contribution. -# -# Contributors: -# -# Description: -# - component bt_metadata source \sf\os\bt\bt_info\bt_metadata source \sf\os\bt\package_definition.xml diff -r 4b81101308c6 -r 4e80e1b997a8 bt_plat/at_command_handler_plugin_api/inc/atext.h --- a/bt_plat/at_command_handler_plugin_api/inc/atext.h Mon May 03 13:34:38 2010 +0300 +++ b/bt_plat/at_command_handler_plugin_api/inc/atext.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -69,15 +69,39 @@ IMPORT_C TInt SynchronousClose(); /** - * Handles a command. + * Handles a command. This API supports two modes: + * Normal mode (!EReplyTypeEditor) for normal use cases + * Editor mode (EReplyTypeEditor) for special AT commands with text mode + * + * Notes for parameters below: + * (1) Command to be handled is used in normal mode only. + * Editor mode is entered when the first EReplyTypeEditor reply is received (5). + * Editor mode is ended when the first !EReplyTypeEditor reply is received (5). + * (2) Data received is character set independent; this API is called byte-by-byte + * in editor mode. + * (3) The reply string is not used in editor mode's text input. + * Only editor mode's start condition (prompt) and end condition + * (!EReplyTypeEditor) handle the possibly existing reply string. + * (4) The remaining reply length setting is not used in editor mode's text input. + * It is only used in editor mode's start condition (prompt) and end condition + * (!EReplyTypeEditor) + * (5) Normal mode: Other than EReplyTypeEditor reply. + * Editor mode: Started with EReplyTypeEditor, continued with EReplyTypeEditor, + * Ended with !EReplyTypeEditor + * Note: the first reply with EReplyTypeEditor is the "prompt". + * Subsequent replies with EReplyTypeEditor are ignored. + * + * Note: The editor mode supported by this API should only be used for + * commands not requiring support for signals. These commands include cases + * such as DCD signal required by command AT+CMGS. * * @since S60 v5.0 * @param aStatus The request status - * @param aCmd The command to be handled. - * @param aReply The descriptor to hold reply to this command; + * @param aCmd The command to be handled (1) or data for editor mode (2). + * @param aReply The descriptor to hold reply to this command (3). * @param aRemainingReplyLength Tells the length of remaining reply if it is not 0; - * the remainings can be fetched by GetNextPartOfReply(). - * @param aReplyType Reply type for the handled AT command + * the remainings can be fetched by GetNextPartOfReply() (4). + * @param aReplyType Reply type for the handled AT command (1) or editor mode (2) (5). * @return Symbian error code on error, KErrNone otherwise */ IMPORT_C TInt HandleCommand( TRequestStatus& aStatus, @@ -88,6 +112,9 @@ /** * Cancels a command handling request. + * Calling this API in editor mode also causes ATEXT to reset the information + * about the plugin currently handling byte-by-byte data. + * This causes the next command to be handled in normal mode. * * @since S60 v5.0 * @return Symbian error code on error, KErrNone otherwise diff -r 4b81101308c6 -r 4e80e1b997a8 bt_plat/at_command_handler_plugin_api/inc/atextpluginbase.h --- a/bt_plat/at_command_handler_plugin_api/inc/atextpluginbase.h Mon May 03 13:34:38 2010 +0300 +++ b/bt_plat/at_command_handler_plugin_api/inc/atextpluginbase.h Mon Jul 12 07:03:47 2010 +0300 @@ -33,9 +33,10 @@ enum TATExtensionReplyType { EReplyTypeUndefined, // For error conditions (handling failed) - EReplyTypeOther, // For other than OK or ERROR - EReplyTypeOk, // For "OK" - EReplyTypeError, // For "ERROR" + EReplyTypeOther, // !(EReplyTypeOk||EReplyTypeError||EReplyTypeEditor) + EReplyTypeOk, // For "OK" (or "" in quiet mode) + EReplyTypeError, // For "ERROR" (or "" in quiet mode) + EReplyTypeEditor, // For editor mode }; /** Default buffer length for command reply buffer */ @@ -143,6 +144,11 @@ * After an extension plugin has handled or decided to reject the given AT * command, it must inform ATEXT by HandleCommandCompleted() with a proper * error code. + * + * Note that in editor mode the setting of aReplyNeeded is always "ETrue" + * when a plugin processing the editor mode meets the end condition for the + * editor mode (!EReplyTypeEditor reply in editor mode). In this case the + * plugin must create the last reply even when aReplyNeeded is EFalse. * * @since S60 5.0 * @param aCmd The AT command to be handled. Its format may vary depending diff -r 4b81101308c6 -r 4e80e1b997a8 bt_plat/bluetooth_audio_adaptation_api/inc/btaudiostreaminputbase.h --- a/bt_plat/bluetooth_audio_adaptation_api/inc/btaudiostreaminputbase.h Mon May 03 13:34:38 2010 +0300 +++ b/bt_plat/bluetooth_audio_adaptation_api/inc/btaudiostreaminputbase.h Mon Jul 12 07:03:47 2010 +0300 @@ -21,7 +21,7 @@ #include #include -#include +#include /** * Observer interface for receiving the audio data buffers. diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/Commands.txt --- a/bthci/bthci2/CommandsEvents/generator/Commands.txt Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/Commands.txt Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available # under the terms of the License "Eclipse Public License v1.0" @@ -12,7 +12,6 @@ # # Description: # - # Bluetooth HCI Commands to be generated # Syntax is documented below. ("[]" brackets are used for grouping with regexp wildcards, and wildcard operators will only directly follow a ']') # @@ -42,7 +41,7 @@ PeriodicInquiryMode(1,False,True): MaxPeriodLength (2), MinPeriodLength (2), LAP (3), InquiryLength (1), NumResponses (1) ExitPeriodicInquiryMode(1,False,True): CreateACLConnection(1,True,False,Match,ConnectionCompleteEvent,True,False,BDADDR): BDADDR (6), PacketType (2), PageScanRepetitionMode (1), Reserved (1), ClockOffset (2), AllowRoleSwitch (1) -Disconnect(1,True,False,Match,DisconnectionCompleteEvent,True,False): ConnectionHandle (2), Reason (1) +Disconnect(1,True,False,Match,DisconnectionCompleteEvent,True,False,ConnectionHandle): ConnectionHandle (2), Reason (1) CreateConnectionCancel(1,False,True): BDADDR (6) AcceptConnectionRequest(1,True,False,Match,ConnectionCompleteEvent,True,False,BDADDR): BDADDR (6), Role (1) RejectConnectionRequest(1,True,False,Match,ConnectionCompleteEvent,True,False,BDADDR): BDADDR (6), Reason (1) @@ -83,7 +82,7 @@ ExitParkMode(1,True,False,Match,ModeChangeEvent,True,False,ConnectionHandle): ConnectionHandle (2) QOSSetup(1,True,False,Match,QOSSetupCompleteEvent,True,False): ConnectionHandle (2), Flags (1), ServiceType (1), TokenRate (4), PeakBandwidth (4), Latency (4), DelayVariation (4) RoleDiscovery(1,False,True): ConnectionHandle (2) -SwitchRole(1,True,False,Match,RoleChangeEvent,True,False): BDADDR (6), Role (1) +SwitchRole(1,True,False,Match,RoleChangeEvent,True,False,BDADDR): BDADDR (6), Role (1) ReadLinkPolicySettings(1,False,True): ConnectionHandle (2) WriteLinkPolicySettings(1,False,True): ConnectionHandle (2), LinkPolicySettings (2) ReadDefaultLinkPolicySettings(1,False,True): diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/CompleteEvents.txt --- a/bthci/bthci2/CommandsEvents/generator/CompleteEvents.txt Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/CompleteEvents.txt Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available # under the terms of the License "Eclipse Public License v1.0" @@ -12,7 +12,6 @@ # # Description: # - # # Complete Events for Commands listed in the spec. # diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/Events.txt --- a/bthci/bthci2/CommandsEvents/generator/Events.txt Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/Events.txt Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available # under the terms of the License "Eclipse Public License v1.0" @@ -12,7 +12,6 @@ # # Description: # - # ##### 7.7 Events # diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/command.py --- a/bthci/bthci2/CommandsEvents/generator/command.py Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/command.py Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available # under the terms of "Eclipse Public License v1.0" @@ -40,7 +40,7 @@ import re import string -from parameter import makeParameters, makeMembers +from parameter import makeParameters, makeMembers, makeNonOwnedParameters, makeOwnedParameters from time import strftime from utils import doTimeStampCompareAndWrite @@ -49,16 +49,32 @@ ctor_str = "" for p in aParams: - ctor_str += 'a' + p.getName() + ', ' + if not p.Owned(): + ctor_str += 'a' + p.getName() + ', ' return ctor_str[:-2] + +def makeConstructLParameters(aParams): + conl_str = "" + + for p in aParams: + if p.Owned(): + conl_str += 'a' + p.getName() + ', ' + + return conl_str[:-2] + +# determines if a custom ConstructL needs to be created for this class +# currently this is only needed for handling owned parameters. +def customConstructL(aParams): + return makeConstructLParameters(aParams) != '' # makes member initialization part of constructor def makeMemberInitialization(aParams): init_str = ", " for p in aParams: - init_str += 'i' + p.getName() + '(a' + p.getName() + ')\n\t, ' + if not p.Owned(): + init_str += 'i' + p.getName() + '(a' + p.getName() + ')\n\t, ' return init_str[:-4] @@ -71,12 +87,12 @@ return def_str + 'IMPORT_C static C' + aClass +'* NewL();' -def makeNewLImp(aClass, aParamString, aConsParamString): +def makeNewLImp(aClass, aParamString, aConsParamString, aConstructLString): imp_str = '' imp_str += 'EXPORT_C C' + aClass + '* C' + aClass + '::NewL(' + aParamString + ')\n\t{\n\t' imp_str += 'C' + aClass + '* self = new (ELeave) C' + aClass + '(' + aConsParamString + ');\n\t' imp_str += 'CleanupStack::PushL(self);\n\t' - imp_str += 'self->CHCICommandBase::BaseConstructL();\n\t' + imp_str += 'self->' + aConstructLString + ';\n\t' imp_str += 'CleanupStack::Pop(self);\n\t' imp_str += 'return self;\n\t}' return imp_str @@ -86,20 +102,33 @@ imp_str = '' if len(aParams) > 0: - imp_str += makeNewLImp(aClass, makeParameters(aParams), makeConstructorParameters(aParams)) + imp_str += makeNewLImp(aClass, makeParameters(aParams), makeConstructorParameters(aParams), makeConstructLCall(aParams)) imp_str += '\n\n' - imp_str += makeNewLImp(aClass, '', '') - return imp_str + imp_str += makeNewLImp(aClass, '', '', 'CHCICommandBase::BaseConstructL()') + return imp_str + +def makeConstructLCall(aParams): + imp_str = '' + if customConstructL(aParams): + imp_str += 'ConstructL(' + makeConstructLParameters(aParams) + ')' + else: + imp_str += 'CHCICommandBase::BaseConstructL()' + return imp_str -# makes class constructor definition +# makes class constructor definition (also ConstructL if appropriate). def makeConstructorDefinitions(aParams, aClass): def_str = '' if len(aParams) > 0: - def_str += 'C' + aClass + '(' + makeParameters(aParams) + ');\n\t' + def_str += 'C' + aClass + '(' + makeNonOwnedParameters(aParams) + ');\n\t' + + def_str += 'C' + aClass + '();' + + if customConstructL(aParams): + def_str += '\n\tvoid ConstructL(' + makeOwnedParameters(aParams) + ');' - return def_str + 'C' + aClass + '();' + return def_str # makes class constructor implementation def makeConstructorImplementations(aParams, aClass, aMatchParams): @@ -110,7 +139,7 @@ ExpCmdComplete = aMatchParams[2] if len(aParams) > 0: - imp_str += 'C' + aClass + 'Command::C' + aClass + 'Command(' + makeParameters(aParams) + ')\n\t: CHCICommandBase(K' + aClass + 'Opcode)\n\t' + makeMemberInitialization(aParams) + '\n\t{\n\t' + imp_str += 'C' + aClass + 'Command::C' + aClass + 'Command(' + makeNonOwnedParameters(aParams) + ')\n\t: CHCICommandBase(K' + aClass + 'Opcode)\n\t' + makeMemberInitialization(aParams) + '\n\t{\n\t' if int(CreditsConsumed) != 1: imp_str += 'SetCreditsConsumed(' + str(CreditsConsumed) + ');\n\t' if ExpCmdStatus == 'False': @@ -128,6 +157,11 @@ imp_str += 'SetExpectsCommandCompleteEvent(EFalse);\n\t' imp_str += '}' + + if customConstructL(aParams): + imp_str += '\n\nvoid C' + aClass + 'Command::ConstructL(' + makeOwnedParameters(aParams) + ')\n\t{\n\tCHCICommandBase::BaseConstructL();\n\t' + imp_str += makeOwnedMemberAssignment(aParams) + imp_str += '\n\t}' return imp_str @@ -200,6 +234,15 @@ ass_str += p.memberAssignment() + '\n\t' return ass_str[:-2] + +def makeOwnedMemberAssignment(aParams): + ass_str = '' + + for p in aParams: + if p.Owned(): + ass_str += p.memberAssignment() + '\n\t' + + return ass_str[:-2] # make getter definition of form Param() def makeAccessorDefinitions(aParams): diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/commandheader.tmpl --- a/bthci/bthci2/CommandsEvents/generator/commandheader.tmpl Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/commandheader.tmpl Mon Jul 12 07:03:47 2010 +0300 @@ -1,7 +1,7 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Eclipse Public License v1.0" +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available // at the URL "http://www.eclipse.org/legal/epl-v10.html". // diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/commandsource.tmpl --- a/bthci/bthci2/CommandsEvents/generator/commandsource.tmpl Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/commandsource.tmpl Mon Jul 12 07:03:47 2010 +0300 @@ -1,7 +1,7 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Eclipse Public License v1.0" +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available // at the URL "http://www.eclipse.org/legal/epl-v10.html". // diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/commandteststepheader.tmpl --- a/bthci/bthci2/CommandsEvents/generator/commandteststepheader.tmpl Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/commandteststepheader.tmpl Mon Jul 12 07:03:47 2010 +0300 @@ -1,7 +1,7 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Eclipse Public License v1.0" +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available // at the URL "http://www.eclipse.org/legal/epl-v10.html". // diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/commandteststepsource.tmpl --- a/bthci/bthci2/CommandsEvents/generator/commandteststepsource.tmpl Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/commandteststepsource.tmpl Mon Jul 12 07:03:47 2010 +0300 @@ -1,7 +1,7 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Eclipse Public License v1.0" +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available // at the URL "http://www.eclipse.org/legal/epl-v10.html". // diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/completeeventheader.tmpl --- a/bthci/bthci2/CommandsEvents/generator/completeeventheader.tmpl Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/completeeventheader.tmpl Mon Jul 12 07:03:47 2010 +0300 @@ -1,7 +1,7 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Eclipse Public License v1.0" +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available // at the URL "http://www.eclipse.org/legal/epl-v10.html". // diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/completeeventsource.tmpl --- a/bthci/bthci2/CommandsEvents/generator/completeeventsource.tmpl Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/completeeventsource.tmpl Mon Jul 12 07:03:47 2010 +0300 @@ -1,7 +1,7 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Eclipse Public License v1.0" +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available // at the URL "http://www.eclipse.org/legal/epl-v10.html". // diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/dllmmp.ini --- a/bthci/bthci2/CommandsEvents/generator/dllmmp.ini Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/dllmmp.ini Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +; Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). ; All rights reserved. ; This component and the accompanying materials are made available ; under the terms of the License "Eclipse Public License v1.0" @@ -16,17 +16,17 @@ [Commands] Datafile=Commands.txt HeaderPath=../interface -SourcePath=../../../CommandsEvents/symbian/src +SourcePath=../../../../hci2implementations/CommandsEvents/symbian/src Postfix=command [Events] Datafile=Events.txt HeaderPath=../interface -SourcePath=../../../CommandsEvents/symbian/src +SourcePath=../../../../hci2implementations/CommandsEvents/symbian/src Postfix=event [CompleteEvents] Datafile=CompleteEvents.txt HeaderPath=../interface -SourcePath=../../../CommandsEvents/symbian/src +SourcePath=../../../../hci2implementations/CommandsEvents/symbian/src Postfix=completeevent diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/dllmmp.tmpl --- a/bthci/bthci2/CommandsEvents/generator/dllmmp.tmpl Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/dllmmp.tmpl Mon Jul 12 07:03:47 2010 +0300 @@ -1,7 +1,7 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Eclipse Public License v1.0" +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available // at the URL "http://www.eclipse.org/legal/epl-v10.html". // @@ -59,3 +59,6 @@ OPTION cw -strict on -w pedantic,unused,hidevirtual,padding,ptrintconv UNPAGED + +SMPSAFE + diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/eventheader.tmpl --- a/bthci/bthci2/CommandsEvents/generator/eventheader.tmpl Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/eventheader.tmpl Mon Jul 12 07:03:47 2010 +0300 @@ -1,7 +1,7 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Eclipse Public License v1.0" +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available // at the URL "http://www.eclipse.org/legal/epl-v10.html". // diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/eventsource.tmpl --- a/bthci/bthci2/CommandsEvents/generator/eventsource.tmpl Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/eventsource.tmpl Mon Jul 12 07:03:47 2010 +0300 @@ -1,7 +1,7 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Eclipse Public License v1.0" +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available // at the URL "http://www.eclipse.org/legal/epl-v10.html". // diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/eventteststepheader.tmpl --- a/bthci/bthci2/CommandsEvents/generator/eventteststepheader.tmpl Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/eventteststepheader.tmpl Mon Jul 12 07:03:47 2010 +0300 @@ -1,7 +1,7 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Eclipse Public License v1.0" +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available // at the URL "http://www.eclipse.org/legal/epl-v10.html". // diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/eventteststepsource.tmpl --- a/bthci/bthci2/CommandsEvents/generator/eventteststepsource.tmpl Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/eventteststepsource.tmpl Mon Jul 12 07:03:47 2010 +0300 @@ -1,7 +1,7 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Eclipse Public License v1.0" +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available // at the URL "http://www.eclipse.org/legal/epl-v10.html". // diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/generator.bat --- a/bthci/bthci2/CommandsEvents/generator/generator.bat Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/generator.bat Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -REM Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +REM Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). REM All rights reserved. REM This component and the accompanying materials are made available REM under the terms of "Eclipse Public License v1.0" @@ -13,9 +13,9 @@ REM Description: REM -python generator.py -i dllmmp.ini -t mmp dllmmp.tmpl ..\..\..\implementations\CommandsEvents\symbian\group\commandsevents_symbian.mmp +python generator.py -i dllmmp.ini -t mmp dllmmp.tmpl ..\..\..\hci2implementations\CommandsEvents\symbian\group\commandsevents_symbian.mmp python generator.py -i hcidata.ini -t impl IF "%1" == "" GOTO :END -python generator.py -i testmmp.ini -t mmp testmmp.tmpl ..\..\..\implementations\CommandsEvents\symbian\group\hcitestserver.mmp +python generator.py -i testmmp.ini -t mmp testmmp.tmpl ..\..\..\hci2implementations\CommandsEvents\symbian\group\hcitestserver.mmp python generator.py -i testserver.ini -t test :END diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/hcidata.ini --- a/bthci/bthci2/CommandsEvents/generator/hcidata.ini Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/hcidata.ini Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +; Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). ; All rights reserved. ; This component and the accompanying materials are made available ; under the terms of the License "Eclipse Public License v1.0" @@ -22,7 +22,7 @@ TestStepHeaderTemplate=commandteststepheader.tmpl TestStepSourceTemplate=commandteststepsource.tmpl HeaderPath=../interface -SourcePath=../../../implementations/CommandsEvents/symbian/src +SourcePath=../../../hci2implementations/CommandsEvents/symbian/src [Events] Datafile=Events.txt @@ -33,7 +33,7 @@ TestStepHeaderTemplate=eventteststepheader.tmpl TestStepSourceTemplate=eventteststepsource.tmpl HeaderPath=../interface -SourcePath=../../../implementations/CommandsEvents/symbian/src +SourcePath=../../../hci2implementations/CommandsEvents/symbian/src [CompleteEvents] Datafile=CompleteEvents.txt @@ -44,5 +44,5 @@ TestStepHeaderTemplate=eventteststepheader.tmpl TestStepSourceTemplate=eventteststepsource.tmpl HeaderPath=../interface -SourcePath=../../../implementations/CommandsEvents/symbian/src +SourcePath=../../../hci2implementations/CommandsEvents/symbian/src diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/hcitestscript.tmpl --- a/bthci/bthci2/CommandsEvents/generator/hcitestscript.tmpl Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/hcitestscript.tmpl Mon Jul 12 07:03:47 2010 +0300 @@ -1,7 +1,7 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Eclipse Public License v1.0" +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available // at the URL "http://www.eclipse.org/legal/epl-v10.html". // diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/hcitestserverheader.tmpl --- a/bthci/bthci2/CommandsEvents/generator/hcitestserverheader.tmpl Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/hcitestserverheader.tmpl Mon Jul 12 07:03:47 2010 +0300 @@ -1,7 +1,7 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Eclipse Public License v1.0" +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available // at the URL "http://www.eclipse.org/legal/epl-v10.html". // diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/hcitestserversource.tmpl --- a/bthci/bthci2/CommandsEvents/generator/hcitestserversource.tmpl Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/hcitestserversource.tmpl Mon Jul 12 07:03:47 2010 +0300 @@ -1,7 +1,7 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Eclipse Public License v1.0" +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available // at the URL "http://www.eclipse.org/legal/epl-v10.html". // diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/parameter.py --- a/bthci/bthci2/CommandsEvents/generator/parameter.py Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/parameter.py Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available # under the terms of "Eclipse Public License v1.0" @@ -21,6 +21,24 @@ param_str += p.toParameter() + ', ' return param_str[:-2] + +def makeOwnedParameters(aParams): + param_str = "" + + for p in aParams: + if p.Owned(): + param_str += p.toParameter() + ', ' + + return param_str[:-2] + +def makeNonOwnedParameters(aParams): + param_str = "" + + for p in aParams: + if not p.Owned(): + param_str += p.toParameter() + ', ' + + return param_str[:-2] # Creates a ;\n\t separated string of parameters suitable for class member declarations. def makeMembers(aParams): @@ -145,3 +163,8 @@ # Returns a string of the format 'iName = aName;' def memberAssignment(self): return 'i' + self.getName() + ' = a' + self.getName() + ';' + + def Owned(self): + return self.iArray != '' + + diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/generator/testmmp.tmpl --- a/bthci/bthci2/CommandsEvents/generator/testmmp.tmpl Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/generator/testmmp.tmpl Mon Jul 12 07:03:47 2010 +0300 @@ -1,7 +1,7 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Eclipse Public License v1.0" +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available // at the URL "http://www.eclipse.org/legal/epl-v10.html". // diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/interface/hostnumberofcompletedpacketscommand.h --- a/bthci/bthci2/CommandsEvents/interface/hostnumberofcompletedpacketscommand.h Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/interface/hostnumberofcompletedpacketscommand.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -12,7 +12,7 @@ // // Description: // This file was generated automatically from the template commandheader.tmpl -// on Wed, 25 Jul 2007 17:00:38 (time stamp) +// on Wed, 07 Apr 2010 11:43:50 (time stamp) // // @@ -55,8 +55,9 @@ virtual TInt Extension_(TUint aExtensionId, TAny*& aInterface, TAny* aData); private: - CHostNumberOfCompletedPacketsCommand(TUint8 aNumberOfHandles, const RArray< THCIConnectionHandle >& aConnectionHandle, const RArray< THCINumOfCompletedPackets >& aHostNumOfCompletedPackets); + CHostNumberOfCompletedPacketsCommand(TUint8 aNumberOfHandles); CHostNumberOfCompletedPacketsCommand(); + void ConstructL(const RArray< THCIConnectionHandle >& aConnectionHandle, const RArray< THCINumOfCompletedPackets >& aHostNumOfCompletedPackets); // From CHCICommandBase - knows how to format the parameters of this specific command // into the HCTL frame diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/interface/writecurrentiaclapcommand.h --- a/bthci/bthci2/CommandsEvents/interface/writecurrentiaclapcommand.h Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/interface/writecurrentiaclapcommand.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -12,7 +12,7 @@ // // Description: // This file was generated automatically from the template commandheader.tmpl -// on Wed, 25 Jul 2007 17:00:39 (time stamp) +// on Wed, 07 Apr 2010 11:43:52 (time stamp) // // @@ -54,8 +54,9 @@ virtual TInt Extension_(TUint aExtensionId, TAny*& aInterface, TAny* aData); private: - CWriteCurrentIACLAPCommand(TUint8 aNumCurrentIAC, const RArray< TUint32 >& aIACLAP); + CWriteCurrentIACLAPCommand(TUint8 aNumCurrentIAC); CWriteCurrentIACLAPCommand(); + void ConstructL(const RArray< TUint32 >& aIACLAP); // From CHCICommandBase - knows how to format the parameters of this specific command // into the HCTL frame diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/CommandsEvents/interface/writestoredlinkkeycommand.h --- a/bthci/bthci2/CommandsEvents/interface/writestoredlinkkeycommand.h Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/CommandsEvents/interface/writestoredlinkkeycommand.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -12,7 +12,7 @@ // // Description: // This file was generated automatically from the template commandheader.tmpl -// on Wed, 25 Jul 2007 17:00:40 (time stamp) +// on Wed, 07 Apr 2010 11:43:53 (time stamp) // // @@ -55,8 +55,9 @@ virtual TInt Extension_(TUint aExtensionId, TAny*& aInterface, TAny* aData); private: - CWriteStoredLinkKeyCommand(TUint8 aNumKeysToWrite, const RArray< TBTDevAddr >& aBDADDR, const RArray< TBTLinkKey >& aLinkKey); + CWriteStoredLinkKeyCommand(TUint8 aNumKeysToWrite); CWriteStoredLinkKeyCommand(); + void ConstructL(const RArray< TBTDevAddr >& aBDADDR, const RArray< TBTLinkKey >& aLinkKey); // From CHCICommandBase - knows how to format the parameters of this specific command // into the HCTL frame diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/corehci/interface/hcitypes.h --- a/bthci/bthci2/corehci/interface/hcitypes.h Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/corehci/interface/hcitypes.h Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -181,17 +181,6 @@ EPointToPointAndBroadcastEncryption = 0x02, /*!< Point to point and broadcast encryption enabled */ }; -enum THCIScanEnable -/** -HCI Scan enable mask -*/ - { - ENoScansEnabled = 0x00, /*!< No HCI scans enabled */ - EInquiryScanOnly = 0x01, /*!< HCI inquiry scan enabled */ - EPageScanOnly = 0x02, /*!< HCI page scan enabled */ - EInquiryAndPageScan = 0x03 /*!< HCI inquiry and page scan enabled */ - }; - enum THCIInquiryMode /** HCI Inquiry mode flag diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/bthci2/hcicmdq/src/HciCmdQController.cpp --- a/bthci/bthci2/hcicmdq/src/HciCmdQController.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bthci/bthci2/hcicmdq/src/HciCmdQController.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -324,7 +324,7 @@ MHCICompletingEventQuery* completingEventInterface = NULL; err = iSendingCommand->Command().Extension_(KCompletingEventExpectUid, reinterpret_cast(completingEventInterface), NULL); if( (err == KErrNone && !completingEventInterface->MhceqCompletingEventExpected()) || - (err == KErrNotSupported && consumed == 0)) + (err == KErrExtensionNotSupported && consumed == 0)) { // Certain commands (e.g. the Number of Host Complete Packets // command) use no credits and do not normally return any diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/hci2implementations/CommandsEvents/symbian/group/commandsevents_symbian.mmp --- a/bthci/hci2implementations/CommandsEvents/symbian/group/commandsevents_symbian.mmp Mon May 03 13:34:38 2010 +0300 +++ b/bthci/hci2implementations/CommandsEvents/symbian/group/commandsevents_symbian.mmp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -12,7 +12,7 @@ // // Description: // This file was generated automatically from the template dllmmp.tmpl -// on Wed, 08 Oct 2008 11:20:24 (time stamp) +// on Wed, 07 Apr 2010 12:58:00 (time stamp) // // @@ -27,7 +27,7 @@ VENDORID 0x70000001 CAPABILITY CommDD PowerMgmt ReadDeviceData WriteDeviceData TrustedUI ProtServ NetworkControl NetworkServices LocalServices ReadUserData WriteUserData -SOURCEPATH ../../../CommandsEvents/symbian/src +SOURCEPATH ../../../../hci2implementations/CommandsEvents/symbian/src SOURCE nopcompleteevent.cpp SOURCE inquirycancelcompleteevent.cpp SOURCE periodicinquirymodecompleteevent.cpp @@ -138,7 +138,7 @@ SOURCE readencryptionmodecompleteevent.cpp SOURCE writeencryptionmodecompleteevent.cpp -SOURCEPATH ../../../CommandsEvents/symbian/src +SOURCEPATH ../../../../hci2implementations/CommandsEvents/symbian/src SOURCE inquirycommand.cpp SOURCE inquirycancelcommand.cpp SOURCE periodicinquirymodecommand.cpp @@ -277,7 +277,7 @@ SOURCE readencryptionmodecommand.cpp SOURCE writeencryptionmodecommand.cpp -SOURCEPATH ../../../CommandsEvents/symbian/src +SOURCEPATH ../../../../hci2implementations/CommandsEvents/symbian/src SOURCE inquirycompleteevent.cpp SOURCE inquiryresultevent.cpp SOURCE connectioncompleteevent.cpp @@ -363,3 +363,4 @@ UNPAGED SMPSAFE + diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/hci2implementations/CommandsEvents/symbian/src/disconnectcommand.cpp --- a/bthci/hci2implementations/CommandsEvents/symbian/src/disconnectcommand.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bthci/hci2implementations/CommandsEvents/symbian/src/disconnectcommand.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -81,9 +81,13 @@ { if (aEvent.EventCode() == EDisconnectionCompleteEvent) { - aMatchesCmd = ETrue; - aConcludesCmd = ETrue; - aContinueMatching = EFalse; + TDisconnectionCompleteEvent& event = TDisconnectionCompleteEvent::Cast(aEvent); + if (event.ConnectionHandle() == ConnectionHandle()) + { + aMatchesCmd = ETrue; + aConcludesCmd = ETrue; + aContinueMatching = EFalse; + } } // Command Status Event and default Command Complete Event matching // is implemented in the base class. If we haven't matched already diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/hci2implementations/CommandsEvents/symbian/src/hostnumberofcompletedpacketscommand.cpp --- a/bthci/hci2implementations/CommandsEvents/symbian/src/hostnumberofcompletedpacketscommand.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bthci/hci2implementations/CommandsEvents/symbian/src/hostnumberofcompletedpacketscommand.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -12,7 +12,7 @@ // // Description: // This file was generated automatically from the template commandsource.tmpl -// on Thu, 29 May 2008 15:17:49 (time stamp) +// on Wed, 07 Apr 2010 11:59:26 (time stamp) // // @@ -38,9 +38,9 @@ EXPORT_C CHostNumberOfCompletedPacketsCommand* CHostNumberOfCompletedPacketsCommand::NewL(TUint8 aNumberOfHandles, const RArray< THCIConnectionHandle >& aConnectionHandle, const RArray< THCINumOfCompletedPackets >& aHostNumOfCompletedPackets) { - CHostNumberOfCompletedPacketsCommand* self = new (ELeave) CHostNumberOfCompletedPacketsCommand(aNumberOfHandles, aConnectionHandle, aHostNumOfCompletedPackets); + CHostNumberOfCompletedPacketsCommand* self = new (ELeave) CHostNumberOfCompletedPacketsCommand(aNumberOfHandles); CleanupStack::PushL(self); - self->CHCICommandBase::BaseConstructL(); + self->ConstructL(aConnectionHandle, aHostNumOfCompletedPackets); CleanupStack::Pop(self); return self; } @@ -56,11 +56,9 @@ // Constructors -CHostNumberOfCompletedPacketsCommand::CHostNumberOfCompletedPacketsCommand(TUint8 aNumberOfHandles, const RArray< THCIConnectionHandle >& aConnectionHandle, const RArray< THCINumOfCompletedPackets >& aHostNumOfCompletedPackets) +CHostNumberOfCompletedPacketsCommand::CHostNumberOfCompletedPacketsCommand(TUint8 aNumberOfHandles) : CHCICommandBase(KHostNumberOfCompletedPacketsOpcode) , iNumberOfHandles(aNumberOfHandles) - , iConnectionHandle(aConnectionHandle) - , iHostNumOfCompletedPackets(aHostNumOfCompletedPackets) { SetCreditsConsumed(0); SetExpectsCommandStatusEvent(EFalse); @@ -75,6 +73,13 @@ SetExpectsCommandCompleteEvent(EFalse); } +void CHostNumberOfCompletedPacketsCommand::ConstructL(const RArray< THCIConnectionHandle >& aConnectionHandle, const RArray< THCINumOfCompletedPackets >& aHostNumOfCompletedPackets) + { + CHCICommandBase::BaseConstructL(); + iConnectionHandle = aConnectionHandle; + iHostNumOfCompletedPackets = aHostNumOfCompletedPackets; + } + // Destructor CHostNumberOfCompletedPacketsCommand::~CHostNumberOfCompletedPacketsCommand() { diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/hci2implementations/CommandsEvents/symbian/src/switchrolecommand.cpp --- a/bthci/hci2implementations/CommandsEvents/symbian/src/switchrolecommand.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bthci/hci2implementations/CommandsEvents/symbian/src/switchrolecommand.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -12,7 +12,7 @@ // // Description: // This file was generated automatically from the template commandsource.tmpl -// on Thu, 29 May 2008 15:17:48 (time stamp) +// on Fri, 26 Mar 2010 16:16:13 (time stamp) // // @@ -81,9 +81,13 @@ { if (aEvent.EventCode() == ERoleChangeEvent) { - aMatchesCmd = ETrue; - aConcludesCmd = ETrue; - aContinueMatching = EFalse; + TRoleChangeEvent& event = TRoleChangeEvent::Cast(aEvent); + if (event.BDADDR() == BDADDR()) + { + aMatchesCmd = ETrue; + aConcludesCmd = ETrue; + aContinueMatching = EFalse; + } } // Command Status Event and default Command Complete Event matching // is implemented in the base class. If we haven't matched already diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/hci2implementations/CommandsEvents/symbian/src/writecurrentiaclapcommand.cpp --- a/bthci/hci2implementations/CommandsEvents/symbian/src/writecurrentiaclapcommand.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bthci/hci2implementations/CommandsEvents/symbian/src/writecurrentiaclapcommand.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -12,7 +12,7 @@ // // Description: // This file was generated automatically from the template commandsource.tmpl -// on Thu, 29 May 2008 15:17:52 (time stamp) +// on Wed, 07 Apr 2010 11:59:28 (time stamp) // // @@ -38,9 +38,9 @@ EXPORT_C CWriteCurrentIACLAPCommand* CWriteCurrentIACLAPCommand::NewL(TUint8 aNumCurrentIAC, const RArray< TUint32 >& aIACLAP) { - CWriteCurrentIACLAPCommand* self = new (ELeave) CWriteCurrentIACLAPCommand(aNumCurrentIAC, aIACLAP); + CWriteCurrentIACLAPCommand* self = new (ELeave) CWriteCurrentIACLAPCommand(aNumCurrentIAC); CleanupStack::PushL(self); - self->CHCICommandBase::BaseConstructL(); + self->ConstructL(aIACLAP); CleanupStack::Pop(self); return self; } @@ -56,10 +56,9 @@ // Constructors -CWriteCurrentIACLAPCommand::CWriteCurrentIACLAPCommand(TUint8 aNumCurrentIAC, const RArray< TUint32 >& aIACLAP) +CWriteCurrentIACLAPCommand::CWriteCurrentIACLAPCommand(TUint8 aNumCurrentIAC) : CHCICommandBase(KWriteCurrentIACLAPOpcode) , iNumCurrentIAC(aNumCurrentIAC) - , iIACLAP(aIACLAP) { SetExpectsCommandStatusEvent(EFalse); } @@ -70,6 +69,12 @@ SetExpectsCommandStatusEvent(EFalse); } +void CWriteCurrentIACLAPCommand::ConstructL(const RArray< TUint32 >& aIACLAP) + { + CHCICommandBase::BaseConstructL(); + iIACLAP = aIACLAP; + } + // Destructor CWriteCurrentIACLAPCommand::~CWriteCurrentIACLAPCommand() { diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/hci2implementations/CommandsEvents/symbian/src/writestoredlinkkeycommand.cpp --- a/bthci/hci2implementations/CommandsEvents/symbian/src/writestoredlinkkeycommand.cpp Mon May 03 13:34:38 2010 +0300 +++ b/bthci/hci2implementations/CommandsEvents/symbian/src/writestoredlinkkeycommand.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -12,7 +12,7 @@ // // Description: // This file was generated automatically from the template commandsource.tmpl -// on Thu, 29 May 2008 15:17:53 (time stamp) +// on Wed, 07 Apr 2010 11:59:29 (time stamp) // // @@ -38,9 +38,9 @@ EXPORT_C CWriteStoredLinkKeyCommand* CWriteStoredLinkKeyCommand::NewL(TUint8 aNumKeysToWrite, const RArray< TBTDevAddr >& aBDADDR, const RArray< TBTLinkKey >& aLinkKey) { - CWriteStoredLinkKeyCommand* self = new (ELeave) CWriteStoredLinkKeyCommand(aNumKeysToWrite, aBDADDR, aLinkKey); + CWriteStoredLinkKeyCommand* self = new (ELeave) CWriteStoredLinkKeyCommand(aNumKeysToWrite); CleanupStack::PushL(self); - self->CHCICommandBase::BaseConstructL(); + self->ConstructL(aBDADDR, aLinkKey); CleanupStack::Pop(self); return self; } @@ -56,11 +56,9 @@ // Constructors -CWriteStoredLinkKeyCommand::CWriteStoredLinkKeyCommand(TUint8 aNumKeysToWrite, const RArray< TBTDevAddr >& aBDADDR, const RArray< TBTLinkKey >& aLinkKey) +CWriteStoredLinkKeyCommand::CWriteStoredLinkKeyCommand(TUint8 aNumKeysToWrite) : CHCICommandBase(KWriteStoredLinkKeyOpcode) , iNumKeysToWrite(aNumKeysToWrite) - , iBDADDR(aBDADDR) - , iLinkKey(aLinkKey) { SetExpectsCommandStatusEvent(EFalse); } @@ -71,6 +69,13 @@ SetExpectsCommandStatusEvent(EFalse); } +void CWriteStoredLinkKeyCommand::ConstructL(const RArray< TBTDevAddr >& aBDADDR, const RArray< TBTLinkKey >& aLinkKey) + { + CHCICommandBase::BaseConstructL(); + iBDADDR = aBDADDR; + iLinkKey = aLinkKey; + } + // Destructor CWriteStoredLinkKeyCommand::~CWriteStoredLinkKeyCommand() { diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/hci2implementations/group/bld.inf --- a/bthci/hci2implementations/group/bld.inf Mon May 03 13:34:38 2010 +0300 +++ b/bthci/hci2implementations/group/bld.inf Mon Jul 12 07:03:47 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -27,4 +27,4 @@ #include "../CommandsEvents/symbian/group/bld.inf" PRJ_EXPORTS -hci_implementation.iby /epoc32/rom/include/hci_implementation.iby +hci_implementation_reference.iby /epoc32/rom/include/hci_implementation_reference.iby diff -r 4b81101308c6 -r 4e80e1b997a8 bthci/hci2implementations/group/hci_implementation.iby --- a/bthci/hci2implementations/group/hci_implementation.iby Mon May 03 13:34:38 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -#ifndef HCI_IMPLMENTATION_IBY -#define HCI_IMPLMENTATION_IBY - -// If __HCI_DEBUG__ is defined pull in debug versions of the -// HCI DLLs and Plugins regardless of the ROM type -#ifdef __HCI_DEBUG__ -define HCI_DIR UDEB -#define HCI_PLUGIN ECOM_PLUGIN_UDEB -#else -define HCI_DIR BUILD_DIR -#define HCI_PLUGIN ECOM_PLUGIN -#endif - -#include -#include -#include - -#ifdef HCI_TI - -#include -#include - -#else // CSR + Default - -#include -#include - -#endif - -#endif // HCI_IMPLMENTATION_IBY diff -r 4b81101308c6 -r 4e80e1b997a8 btsimulator/btaudioadaptation_stub/EABI/btaudioadaptationU.DEF --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/btsimulator/btaudioadaptation_stub/EABI/btaudioadaptationU.DEF Mon Jul 12 07:03:47 2010 +0300 @@ -0,0 +1,10 @@ +EXPORTS + _ZN23CBTAudioStreamInputBase4NewLER22MBTAudioStreamObserverR21MBTAudioErrorObserver @ 1 NONAME + _ZN29CBTAudioStreamInputAdaptation10DisconnectEv @ 2 NONAME + _ZN29CBTAudioStreamInputAdaptation13BufferEmptiedERK6TDesC8 @ 3 NONAME + _ZN29CBTAudioStreamInputAdaptation16EncoderInterfaceE4TUid @ 4 NONAME + _ZN29CBTAudioStreamInputAdaptation4StopEv @ 5 NONAME + _ZN29CBTAudioStreamInputAdaptation5StartEv @ 6 NONAME + _ZN29CBTAudioStreamInputAdaptation7ConnectEv @ 7 NONAME + _ZN29CBTAudioStreamInputAdaptation9SetFormatE7TFourCC @ 8 NONAME + diff -r 4b81101308c6 -r 4e80e1b997a8 btsimulator/btaudioadaptation_stub/bwins/btaudioadaptationU.DEF --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/btsimulator/btaudioadaptation_stub/bwins/btaudioadaptationU.DEF Mon Jul 12 07:03:47 2010 +0300 @@ -0,0 +1,10 @@ +EXPORTS + ?NewL@CBTAudioStreamInputBase@@SAPAV1@AAVMBTAudioStreamObserver@@AAVMBTAudioErrorObserver@@@Z @ 1 NONAME ; class CBTAudioStreamInputBase * CBTAudioStreamInputBase::NewL(class MBTAudioStreamObserver &, class MBTAudioErrorObserver &) + ?BufferEmptied@CBTAudioStreamInputAdaptation@@UAEXABVTDesC8@@@Z @ 2 NONAME ; void CBTAudioStreamInputAdaptation::BufferEmptied(class TDesC8 const &) + ?Connect@CBTAudioStreamInputAdaptation@@UAEHXZ @ 3 NONAME ; int CBTAudioStreamInputAdaptation::Connect(void) + ?Disconnect@CBTAudioStreamInputAdaptation@@UAEXXZ @ 4 NONAME ; void CBTAudioStreamInputAdaptation::Disconnect(void) + ?EncoderInterface@CBTAudioStreamInputAdaptation@@UAEPAXVTUid@@@Z @ 5 NONAME ; void * CBTAudioStreamInputAdaptation::EncoderInterface(class TUid) + ?SetFormat@CBTAudioStreamInputAdaptation@@UAEHVTFourCC@@@Z @ 6 NONAME ; int CBTAudioStreamInputAdaptation::SetFormat(class TFourCC) + ?Start@CBTAudioStreamInputAdaptation@@UAEHXZ @ 7 NONAME ; int CBTAudioStreamInputAdaptation::Start(void) + ?Stop@CBTAudioStreamInputAdaptation@@UAEXXZ @ 8 NONAME ; void CBTAudioStreamInputAdaptation::Stop(void) + diff -r 4b81101308c6 -r 4e80e1b997a8 btsimulator/btaudioadaptation_stub/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/btsimulator/btaudioadaptation_stub/group/bld.inf Mon Jul 12 07:03:47 2010 +0300 @@ -0,0 +1,27 @@ +/* +* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Build information file for project btaudioadaptation_stub +* +*/ + + +PRJ_PLATFORMS +DEFAULT + +#if defined __BT_STEREO_AUDIO + +PRJ_MMPFILES +../group/btaudiostreaminputadaptation.mmp + +#endif // __BT_STEREO_AUDIO diff -r 4b81101308c6 -r 4e80e1b997a8 btsimulator/btaudioadaptation_stub/group/btaudiostreaminputadaptation.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/btsimulator/btaudioadaptation_stub/group/btaudiostreaminputadaptation.mmp Mon Jul 12 07:03:47 2010 +0300 @@ -0,0 +1,45 @@ +/* +* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Project definition file for project btaudioadaptation_stub +* +*/ + + +#include + +#if defined(WINS) || defined(WINSCW) +TARGET btaudioadaptation.dll +#else +TARGET btaudioadaptation_stub.dll +#endif + +CAPABILITY CAP_GENERAL_DLL +TARGETTYPE DLL +UID 0x1000008d 0x10208977 + +VENDORID VID_DEFAULT + +SOURCEPATH ../src +SOURCE btaudiostreaminputadaptation.cpp + +USERINCLUDE ../inc + +OS_LAYER_SYSTEMINCLUDE + +LIBRARY euser.lib // user library + +DEBUGLIBRARY flogger.lib // file logging services + +EXPORTLIBRARY btaudioadaptation.lib +LINKAS btaudioadaptation.dll diff -r 4b81101308c6 -r 4e80e1b997a8 btsimulator/btaudioadaptation_stub/inc/btaudioadaptationdebug.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/btsimulator/btaudioadaptation_stub/inc/btaudioadaptationdebug.h Mon Jul 12 07:03:47 2010 +0300 @@ -0,0 +1,150 @@ +/* +* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Debug definitions for BT Audio Adaptation +* +*/ + + +#ifndef BT_AUDIO_ADAPTATION_DEBUG_H +#define BT_AUDIO_ADAPTATION_DEBUG_H + +#include + + +#ifdef _DEBUG + +// Print options + +#define KPRINTERROR 0x00000001 // Print error +#define KPRINTFTRACE 0x00000002 // Print function trace +#define KPRINTSTATE 0x00000004 // Print state machine infos + +const TInt KDebugMask = KPRINTERROR | KPRINTFTRACE | KPRINTSTATE ; + + +// Un-comment/comment this definition to enable/disable memory tracing +//#define MEMTRACE + +#ifdef __WINS__ + +// File logging for WINS +#define __FLOGGING__ + +#else + +// Logging with RDebug for target HW +#define __CLOGGING__ + +#endif //__WINS__ + +#endif // _DEBUG + + +// ================================================================== +// File logging +// ================================================================== +// +#if defined(__FLOGGING__) + +#include + +_LIT(KLogFile,"BTAudioAdaptationLog.txt"); +_LIT(KLogDirFullName,"c:\\logs\\bt\\"); +_LIT(KLogDir,"BT"); + +#include +#include + +#define FLOG(a) { FPrint(a); } + +#define FTRACE(a) { a; } + +#define BT_AUDIO_ADAPTATION_TRACE_OPT(a,p) {if((KDebugMask)&(a))p;} + + + + +inline void FPrint(const TRefByValue aFmt, ...) + { + VA_LIST list; + VA_START(list,aFmt); + RFileLogger::WriteFormat(KLogDir, KLogFile, EFileLoggingModeAppend, aFmt, list); +#ifdef MEMTRACE + TInt size; + User::Heap().AllocSize(size); + RFileLogger::WriteFormat(KLogDir, KLogFile, EFileLoggingModeAppend, _L("[BTAudioAdaptation]\t MEM\tAllocated from heap: %d B. Total heap size: %d B"), size, User::Heap().Size()); +#endif + } + + +inline void FHex(const TUint8* aPtr, TInt aLen) + { + RFileLogger::HexDump(KLogDir, KLogFile, EFileLoggingModeAppend, 0, 0, aPtr, aLen); + } + + +inline void FHex(const TDesC8& aDes) + { + FHex(aDes.Ptr(), aDes.Length()); + } + + +// ================================================================== +// RDebug logging +// ================================================================== +// +#elif defined(__CLOGGING__) + +#include + +#define FLOG(a) { RDebug::Print(a); } + +#define FHex(a) + +#define FTRACE(a) { a; } + +#define BT_AUDIO_ADAPTATION_TRACE_OPT(a,p) {if((KDebugMask)&(a))p;} + + +inline void FPrint(const TRefByValue aFmt, ...) + { + VA_LIST list; + VA_START(list,aFmt); + TInt tmpInt = VA_ARG(list, TInt); + TInt tmpInt2 = VA_ARG(list, TInt); + TInt tmpInt3 = VA_ARG(list, TInt); + VA_END(list); + RDebug::Print(aFmt, tmpInt, tmpInt2, tmpInt3); + } + + +// ================================================================== +// No loggings --> Reduced binary size +// ================================================================== +// +#else // if no __FLOGGING__ and no __CLOGGING__ + +#define FLOG(a) + +#define FTRACE(a) + +#define FHex(a) + +#define BT_AUDIO_ADAPTATION_TRACE_OPT(a,p) + +#endif // ...loggings + +#endif // BTAUDIOADAPTATION_DEBUG_H + +// End of File diff -r 4b81101308c6 -r 4e80e1b997a8 btsimulator/btaudioadaptation_stub/inc/btaudiostreaminputadaptation.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/btsimulator/btaudioadaptation_stub/inc/btaudiostreaminputadaptation.h Mon Jul 12 07:03:47 2010 +0300 @@ -0,0 +1,146 @@ +/* +* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: This header specifies the implementation of BT Audio Adaptation API. +* +*/ + + +#ifndef __BTAUDIOSTREAMINPUTADAPTATION_H__ +#define __BTAUDIOSTREAMINPUTADAPTATION_H__ + +#include +#include +#include "btaudiostreaminputbase.h" + +/** + * This class implements the interface specified by CBTAudioStreamInputBase. + * + * This class contains the stub implementation of the CAudioStreamInputAdaptation, + * that inherits from CBTAudioStreamInputBase. + * + * To the user it seems as if he's operating with the base class, because he calls, + * but in practice the class he uses is an instance of this class. + * + * @lib btaudioadaptation.lib + * @since S60 v3.1 + */ +NONSHARABLE_CLASS(CBTAudioStreamInputAdaptation) : public CBTAudioStreamInputBase + { + public: + static CBTAudioStreamInputAdaptation* NewL( MBTAudioStreamObserver& aStreamObserver, MBTAudioErrorObserver& aErrorObserver ); + virtual ~CBTAudioStreamInputAdaptation(); + + public: + /** + * From CBTAudioStreamInputBase. + * This method is called when the client has processed the buffer it got + * from the Receive method. + * + * See BT Audio Adaptation API and BT Audio Adaptation Design specifications + * for detailed explanation. + * + * @since S60 v3.1 + * @param aBuffer refers to the buffer that was received earlier in the Receive method. + * @return void + */ + IMPORT_C void BufferEmptied( const TDesC8& aBuffer ); + + /** + * From CBTAudioStreamInputBase. + * This method is for connecting to the audio subsystem. + * + * See BT Audio Adaptation API and BT Audio Adaptation Design specifications + * for detailed explanation. + * + * @since S60 v3.1 + * @param void. + * @return a Symbian OS wide error code. + */ + IMPORT_C TInt Connect(); + + /** + * From CBTAudioStreamInputBase. + * This method is for disconnecting from the audio subsystem. + * + * See BT Audio Adaptation API and BT Audio Adaptation Design specifications + * for detailed explanation. + * + * @since S60 v3.1 + * @param void. + * @return void + */ + IMPORT_C void Disconnect(); + + /** + * From CBTAudioStreamInputBase. + * This method is for passing the custom interfaces that are + * needed sometimes for configuring the hardware encoder. + * + * See BT Audio Adaptation API and BT Audio Adaptation Design specifications + * for detailed explanation. + * + * @since S60 v3.1 + * @param aInterfaceId specifies the id of custom interface that the client + * wants to get. + * @return A pointer to the requested interface. Client must cast it into a correct class. + */ + IMPORT_C TAny* EncoderInterface(TUid aInterfaceId); + + /** + * From CBTAudioStreamInputBase. + * This method is for choosing the encoder for the audio data. + * + * See BT Audio Adaptation API and BT Audio Adaptation Design specifications + * for detailed explanation. + * + * @since S60 v3.1 + * @param aDesiredFourCC specifies the encoder that the client wants to use. + * @return a Symbian OS wide error code. + */ + IMPORT_C TInt SetFormat(TFourCC aDesiredFourCC); + + /** + * From CBTAudioStreamInputBase. + * This method is for starting the recording from the audio subsystem. + * + * See BT Audio Adaptation API and BT Audio Adaptation Design specifications + * for detailed explanation. + * + * @since S60 v3.1 + * @param void. + * @return a Symbian OS wide error code. + */ + IMPORT_C TInt Start(); + + /** + * From CBTAudioStreamInputBase. + * This method is for stopping the recording from the audio subsystem. + * + * See BT Audio Adaptation API and BT Audio Adaptation Design specifications + * for detailed explanation. + * + * @since S60 v3.1 + * @param void. + * @return a Symbian OS wide error code. + */ + IMPORT_C void Stop(); + + private: + CBTAudioStreamInputAdaptation(MBTAudioStreamObserver& aStreamObserver, MBTAudioErrorObserver& aErrorObserver); + void ConstructL(); + void RunL(); + void DoCancel(); + }; + +#endif diff -r 4b81101308c6 -r 4e80e1b997a8 btsimulator/btaudioadaptation_stub/layers.sysdef.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/btsimulator/btaudioadaptation_stub/layers.sysdef.xml Mon Jul 12 07:03:47 2010 +0300 @@ -0,0 +1,15 @@ + + +]> + + + + + + + + + + + diff -r 4b81101308c6 -r 4e80e1b997a8 btsimulator/btaudioadaptation_stub/rom/btaudioadaptation.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/btsimulator/btaudioadaptation_stub/rom/btaudioadaptation.iby Mon Jul 12 07:03:47 2010 +0300 @@ -0,0 +1,23 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef __BTAUDIOADAPTATION_IBY__ +#define __BTAUDIOADAPTATION_IBY__ + +file=ABI_DIR\BUILD_DIR\btaudioadaptation_stub.dll SHARED_LIB_DIR\btaudioadaptation.dll + +#endif diff -r 4b81101308c6 -r 4e80e1b997a8 btsimulator/btaudioadaptation_stub/src/btaudiostreaminputadaptation.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/btsimulator/btaudioadaptation_stub/src/btaudiostreaminputadaptation.cpp Mon Jul 12 07:03:47 2010 +0300 @@ -0,0 +1,150 @@ +/* +* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Contains stub implementation of CBTAudioStreamInputAdaptation class, +* which implements BT Audio Adaptation API. +* +*/ + + +#include + +#include "btaudiostreaminputadaptation.h" +#include "btaudioadaptationdebug.h" + +CBTAudioStreamInputAdaptation::CBTAudioStreamInputAdaptation(MBTAudioStreamObserver& /*aStreamObserver*/, MBTAudioErrorObserver& /*aErrorObserver*/) + { + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::CBTAudioStreamInputAdaptation() ->"))); + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::CBTAudioStreamInputAdaptation() <-"))); + } + +void CBTAudioStreamInputAdaptation::ConstructL() + { + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::ConstructL() ->"))); + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::ConstructL() <-"))); + } + +// --------------------------------------------------------------------------- +// Static factory method for the abstract base class. +// This just calls the factory method of the concrete implementation class. +// --------------------------------------------------------------------------- +// +EXPORT_C CBTAudioStreamInputBase* CBTAudioStreamInputBase::NewL(MBTAudioStreamObserver& aStreamObserver, MBTAudioErrorObserver& aErrorObserver) + { + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioInput::NewL() ->"))); + CBTAudioStreamInputBase* audioInput = (CBTAudioStreamInputAdaptation::NewL(aStreamObserver, aErrorObserver)); + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioInput::NewL() <-"))); + return audioInput; + } + +// --------------------------------------------------------------------------- +// Static factory method. +// --------------------------------------------------------------------------- +// +CBTAudioStreamInputAdaptation* CBTAudioStreamInputAdaptation::NewL(MBTAudioStreamObserver& aStreamObserver, MBTAudioErrorObserver& aErrorObserver) + { + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::NewL() ->"))); + CBTAudioStreamInputAdaptation* self = new (ELeave) CBTAudioStreamInputAdaptation(aStreamObserver, aErrorObserver); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::NewL() <-"))); + return self; + } + +CBTAudioStreamInputAdaptation::~CBTAudioStreamInputAdaptation() + { + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::~CBTAudioStreamInputAdaptation() ->"))); + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::~CBTAudioStreamInputAdaptation() <-"))); + } + +// --------------------------------------------------------------------------- +// From class CBTAudioStreamInputBase. +// Returns KErrNotSupported always - this is the stub implementation. +// --------------------------------------------------------------------------- +// +EXPORT_C TInt CBTAudioStreamInputAdaptation::Start() + { + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::Start() ->"))); + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::Start() <-"))); + return KErrNotSupported; + } + +// --------------------------------------------------------------------------- +// From class CBTAudioStreamInputBase. +// Returns a NULL pointer always - this is the stub implementation. +// --------------------------------------------------------------------------- +// +EXPORT_C TAny* CBTAudioStreamInputAdaptation::EncoderInterface(TUid /*aInterfaceId*/) + { + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::EncoderInterface() ->"))); + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::EncoderInterface() <-"))); + return (TAny *) 0; + } + +// --------------------------------------------------------------------------- +// From class CBTAudioStreamInputBase. +// Doesn't do anything - this is the stub implementation. +// --------------------------------------------------------------------------- +// +EXPORT_C void CBTAudioStreamInputAdaptation::BufferEmptied( const TDesC8& /*aBuffer*/ ) + { + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::BufferEmptied() ->"))); + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::BufferEmptied() <-"))); + } + +// --------------------------------------------------------------------------- +// From class CBTAudioStreamInputBase. +// Doesn't do anything - this is the stub implementation. +// --------------------------------------------------------------------------- +// +EXPORT_C void CBTAudioStreamInputAdaptation::Stop() + { + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::Stop() ->"))); + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::Stop() <-"))); + } + +// --------------------------------------------------------------------------- +// From class CBTAudioStreamInputBase. +// Returns KErrNotSupported always - this is the stub implementation. +// --------------------------------------------------------------------------- +// +EXPORT_C TInt CBTAudioStreamInputAdaptation::SetFormat(TFourCC /*aDesiredFourCC*/) + { + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::SetFormat() ->"))); + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::SetFormat() <-"))); + return KErrNotSupported; + } + +// --------------------------------------------------------------------------- +// From class CBTAudioStreamInputBase. +// Returns KErrNotSupported always - this is the stub implementation. +// --------------------------------------------------------------------------- +// +EXPORT_C TInt CBTAudioStreamInputAdaptation::Connect() + { + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::Connect() ->"))); + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::Connect() <-"))); + return KErrNotSupported; + } + +// --------------------------------------------------------------------------- +// From class CBTAudioStreamInputBase. +// Doesn't do anything - this is the stub implementation. +// --------------------------------------------------------------------------- +// +EXPORT_C void CBTAudioStreamInputAdaptation::Disconnect() + { + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::Disconnect() ->"))); + BT_AUDIO_ADAPTATION_TRACE_OPT( KPRINTFTRACE, FLOG(_L("[BTAudioAdaptation]\t CBTAudioStreamInputAdaptation::Disconnect() <-"))); + } diff -r 4b81101308c6 -r 4e80e1b997a8 btsimulator/btaudioadaptation_stub/sysdef_1_4_0.dtd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/btsimulator/btaudioadaptation_stub/sysdef_1_4_0.dtd Mon Jul 12 07:03:47 2010 +0300 @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 4b81101308c6 -r 4e80e1b997a8 irda/irdastack/INC/irerr.ra --- a/irda/irdastack/INC/irerr.ra Mon May 03 13:34:38 2010 +0300 +++ b/irda/irdastack/INC/irerr.ra Mon Jul 12 07:03:47 2010 +0300 @@ -1,74 +1,74 @@ -// Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -/** - @file - @internalAll - @released -*/ - -#include -RESOURCE ARRAY r_error_res_ir_errors_1 - { - items= - { - SINGLE_ERROR - { - text=r_error_res_ir_no_device_found; // -5501 KErrIrObexClientNoDevicesFound - }, - SINGLE_ERROR - { - text=r_error_res_ir_other_device_stupid; // -5502 - }, - SINGLE_ERROR - { - text=r_error_res_ir_other_device_aborted; // -5503 - } - }; - } - -RESOURCE ARRAY r_error_res_ir_errors_2 - { - items= - { - SINGLE_ERROR - { - text=r_error_res_ir_other_device_aborted; // -5507 - }, - SINGLE_ERROR - { - text=r_error_res_ir_unknown_data; // -5508 - }, - SINGLE_ERROR - { - text=r_error_res_ir_receive_failed_oom; // -5509 - }, - SINGLE_ERROR - { - text=r_error_res_ir_other_device_stupid; // -5510 - }, - SINGLE_ERROR - { - text=r_error_res_ir_other_device_no_multi; // -5511 - } - }; - } - -RESOURCE TBUF r_error_res_ir_no_device_found { buf=STRING_r_error_res_ir_no_device_found ; } -RESOURCE TBUF r_error_res_ir_other_device_stupid { buf=STRING_r_error_res_ir_other_device_stupid; } -RESOURCE TBUF r_error_res_ir_other_device_aborted { buf=STRING_r_error_res_ir_other_device_aborted; } -RESOURCE TBUF r_error_res_ir_unknown_data { buf=STRING_r_error_res_ir_unknown_data ; } -RESOURCE TBUF r_error_res_ir_receive_failed_oom { buf=STRING_r_error_res_ir_receive_failed_oom ; } -RESOURCE TBUF r_error_res_ir_other_device_no_multi { buf=STRING_r_error_res_ir_other_device_no_multi; } +// Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +/** + @file + @internalAll + @released +*/ + +#include +RESOURCE ARRAY r_error_res_ir_errors_1 + { + items= + { + SINGLE_ERROR + { + text=r_error_res_ir_no_device_found; // -5501 KErrIrObexClientNoDevicesFound + }, + SINGLE_ERROR + { + text=r_error_res_ir_other_device_stupid; // -5502 + }, + SINGLE_ERROR + { + text=r_error_res_ir_other_device_aborted; // -5503 + } + }; + } + +RESOURCE ARRAY r_error_res_ir_errors_2 + { + items= + { + SINGLE_ERROR + { + text=r_error_res_ir_other_device_aborted; // -5507 + }, + SINGLE_ERROR + { + text=r_error_res_ir_unknown_data; // -5508 + }, + SINGLE_ERROR + { + text=r_error_res_ir_receive_failed_oom; // -5509 + }, + SINGLE_ERROR + { + text=r_error_res_ir_other_device_stupid; // -5510 + }, + SINGLE_ERROR + { + text=r_error_res_ir_other_device_no_multi; // -5511 + } + }; + } + +RESOURCE TBUF r_error_res_ir_no_device_found { buf=STRING_r_error_res_ir_no_device_found ; } +RESOURCE TBUF r_error_res_ir_other_device_stupid { buf=STRING_r_error_res_ir_other_device_stupid; } +RESOURCE TBUF r_error_res_ir_other_device_aborted { buf=STRING_r_error_res_ir_other_device_aborted; } +RESOURCE TBUF r_error_res_ir_unknown_data { buf=STRING_r_error_res_ir_unknown_data ; } +RESOURCE TBUF r_error_res_ir_receive_failed_oom { buf=STRING_r_error_res_ir_receive_failed_oom ; } +RESOURCE TBUF r_error_res_ir_other_device_no_multi { buf=STRING_r_error_res_ir_other_device_no_multi; } diff -r 4b81101308c6 -r 4e80e1b997a8 irda/irdastack/group/BLD.INF --- a/irda/irdastack/group/BLD.INF Mon May 03 13:34:38 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// IrDA stack, IrTranP etc. -// -// - -/** - @file -*/ - - -PRJ_EXPORTS - -../INC/IR_SOCK.H SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(ir_sock.h) - -../INC/irdaextensions.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(irdaextensions.h) - -../irtranp/tranp.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(tranp.h) - -../INC/irerr.ra /epoc32/include/errors/generic/irerr.ra -../INC/irerr.rls /epoc32/include/errors/generic/irerr.rls - -../INC/irda.rh SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(irda.rh) - - -../group/irda.iby /epoc32/rom/include/irda.iby - -PRJ_MMPFILES - -IRDA.MMP - -../irtranp/IRTRANP.MMP - - diff -r 4b81101308c6 -r 4e80e1b997a8 irda/irdastack/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/irda/irdastack/group/bld.inf Mon Jul 12 07:03:47 2010 +0300 @@ -0,0 +1,45 @@ +// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// IrDA stack, IrTranP etc. +// +// + +/** + @file +*/ + + +PRJ_EXPORTS + +../INC/IR_SOCK.H SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(ir_sock.h) + +../INC/irdaextensions.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(irdaextensions.h) + +../irtranp/tranp.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(tranp.h) + +../INC/irerr.ra /epoc32/include/errors/generic/irerr.ra +../INC/irerr.rls /epoc32/include/errors/generic/irerr.rls + +../INC/irda.rh SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(irda.rh) + + +../group/irda.iby /epoc32/rom/include/irda.iby + +PRJ_MMPFILES + +IRDA.MMP + +../irtranp/IRTRANP.MMP + + diff -r 4b81101308c6 -r 4e80e1b997a8 package_definition.xml --- a/package_definition.xml Mon May 03 13:34:38 2010 +0300 +++ b/package_definition.xml Mon Jul 12 07:03:47 2010 +0300 @@ -1,6 +1,20 @@ + + + + + + + + + + + + + + @@ -76,12 +90,14 @@ - - - + + + + + diff -r 4b81101308c6 -r 4e80e1b997a8 package_map.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/package_map.xml Mon Jul 12 07:03:47 2010 +0300 @@ -0,0 +1,2 @@ + + \ No newline at end of file