diff -r 000000000000 -r f63038272f30 bluetoothengine/btaudioman/inc/BTAccServer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bluetoothengine/btaudioman/inc/BTAccServer.h Mon Jan 18 20:28:57 2010 +0200 @@ -0,0 +1,90 @@ +/* +* 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: +* Server class is responsible for creating sessions and then handle +* messages from the session class. +* +*/ + + +#ifndef BTACC_SERVER_H +#define BTACC_SERVER_H + +// INCLUDES +#include + +// CONSTANTS + +// FORWARD DECLARATION +class CBasrvAccMan; +class TAccInfo; +class CBTAccSession; + +/** +* CBTAccServer server core class +*/ +NONSHARABLE_CLASS(CBTAccServer) : public CPolicyServer + { +public: // Constructors and destructor + /** + * Two-phased constructor. + */ + static CBTAccServer* NewLC(); + + /** + * Destructor. + */ + ~CBTAccServer(); + + void StartShutdownTimerIfNoSessions(); + + void ClientOpened(CBTAccSession& aSession); + + void ClientClosed(CBTAccSession& aSession); + +private: // Functions from base classes + /** + * Creates a new session to client + * @param aVersion the version + * @param aMessage not used + * return the new created session + */ + CSession2* NewSessionL(const TVersion& aVersion, const RMessage2& aMessage) const; + + /** + * Constructor + * @param aPriority This AO's priority + */ + CBTAccServer(TInt aPriority); + + /** + * Two-Phase constructor + */ + void ConstructL(); + + void CancelShutdownTimer(); + + static TInt TimerFired(TAny* aThis); + +private: // Data + CBasrvAccMan* iAccMan; + + CPeriodic* iTimer; + + RPointerArray iSessions; + }; + +#endif // BTACC_SERVER_H + +// End of File