os/mm/devsound/sounddevbt/PlatSec/src/Server/AudioServer/MmfBtAudioServerSession.cpp
Update contrib.
1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #include "MmfBtAudioServerSession.h"
17 #include "MmfBtAudioClientServer.h"
18 #include "MmfBtAudioServer.h"
23 CMMFAudioServerSession* CMMFAudioServerSession::NewL(TName& aDevSoundServerName)
25 CMMFAudioServerSession* self = new(ELeave) CMMFAudioServerSession(aDevSoundServerName);
26 CleanupStack::PushL(self);
32 void CMMFAudioServerSession::ConstructL()
36 CMMFAudioServerSession::CMMFAudioServerSession(TName& aDevSoundServerName)// : iEventsQue(_FOFF(TMMFAudioPolicyEventHolder,iLink))
38 iDevSoundServerName = aDevSoundServerName;
41 void CMMFAudioServerSession::CreateL(const CMmfIpcServer& aServer)
43 CMmfIpcSession::CreateL(aServer);
44 CMMFAudioServer* server = static_cast<CMMFAudioServer*>(CONST_CAST(CMmfIpcServer*, &aServer));
45 server->IncrementSessionId();
46 iAudioServerSessionId = server->AudioServerSessionId();
49 CMMFAudioServerSession::~CMMFAudioServerSession()
51 CMMFAudioServer* server =
52 const_cast<CMMFAudioServer*>(static_cast<const CMMFAudioServer*>(Server()));
55 server->DecrementSessionId();
59 void CMMFAudioServerSession::ServiceL(const RMmfIpcMessage& aMessage)
61 TBool complete = EFalse;
62 switch(aMessage.Function())
64 case EMMFDevSoundServerNameLength:
65 complete = DoGetDevSoundServerNameLengthL(aMessage);
67 case EMMFDevSoundServerName:
68 complete = DoGetDevSoundServerNameL(aMessage);
71 User::Leave(KErrNotSupported);
75 aMessage.Complete(KErrNone);
79 TInt CMMFAudioServerSession::DoGetDevSoundServerNameLengthL(const RMmfIpcMessage& aMessage)
81 TPckgBuf<TInt> descriptorSizePckg(iDevSoundServerName.Length());
82 aMessage.WriteL(2,descriptorSizePckg);
86 TInt CMMFAudioServerSession::DoGetDevSoundServerNameL(const RMmfIpcMessage& aMessage)
88 delete iDevSoundServerNameFlat;
89 iDevSoundServerNameFlat = NULL;
91 iDevSoundServerNameFlat = CBufFlat::NewL(32);
92 RBufWriteStream stream;
93 stream.Open(*iDevSoundServerNameFlat);
94 CleanupClosePushL(stream);
95 stream << iDevSoundServerName;
96 CleanupStack::PopAndDestroy();//s
98 aMessage.WriteL(2,iDevSoundServerNameFlat->Ptr(0));
103 void CMMFAudioServerSession::SendEventToClient(/*TMMFAudioPolicyEvent& aEvent*/)