Update contrib.
1 // Copyright (c) 2010 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 "mediaclientpolicyserversession.h"
18 #include "mediaclientvideotrace.h"
20 // Policy Server EXE name
21 _LIT( KIvePolicyServerImg, "ivepolicyserver" );
23 // Policy Server thread name
24 _LIT( KIvePolicyServerName, "!ivepolicyserver0x10204C27" );
26 // Number of asynchronous message slots
27 const TInt KIveAsyncMessageSlots = 1;
29 static TInt StartServer()
31 DEBUG_PRINTF("medialclientsession StartServer +++");
34 TInt error = server.Create(KIvePolicyServerImg, KNullDesC);
35 if (error != KErrNone)
37 DEBUG_PRINTF2("medialclientsession StartServer server creation failed %d", error);
41 TRequestStatus status;
43 server.Rendezvous(status);
44 if (status != KRequestPending)
52 // logon OK - start the server
55 User::WaitForRequest(status);
56 // wait for start or death
57 error = (server.ExitType() == EExitPanic) ? KErrGeneral : status.Int();
60 DEBUG_PRINTF(" medialclientsession StartServer ---");
64 RMediaClientPolicyServerSession::RMediaClientPolicyServerSession():
67 DEBUG_PRINTF(" RMediaClientPolicyServerSession::RMediaClientPolicyServerSession +++");
68 DEBUG_PRINTF(" RMediaClientPolicyServerSession::RMediaClientPolicyServerSession ---");
71 TInt RMediaClientPolicyServerSession::Connect()
73 DEBUG_PRINTF(" RMediaClientPolicyServerSession::Connect +++");
75 TInt error = KErrNone;
76 for (TInt i = 0; i < 2; i++)
78 // Try to create session.
79 error = CreateSession(KIvePolicyServerName, TVersion( 0, 0, 0 ), KIveAsyncMessageSlots);
81 if (error != KErrNotFound && error != KErrServerTerminated)
83 DEBUG_PRINTF("RMediaClientPolicyServerSession::Connect Server found and session created.");
84 DEBUG_PRINTF2("RMediaClientPolicyServerSession::Connect --- returns %d", error);
88 // If session failed, try to start server once.
91 DEBUG_PRINTF("RMediaClientPolicyServerSession::Connect StartServer");
93 error = StartServer();
94 if (error != KErrNone && error != KErrAlreadyExists)
96 DEBUG_PRINTF("RMediaClientPolicyServerSession::Connect Server startup failed.");
97 DEBUG_PRINTF2("RMediaClientPolicyServerSession::Connect --- returns %d", error);
103 DEBUG_PRINTF2("RMediaClientPolicyServerSession::Connect Session creation failed error %d", error);
107 DEBUG_PRINTF2("RMediaClientPolicyServerSession::Connect --- returns %d", error);
111 TInt RMediaClientPolicyServerSession::SendMessage( TInt aFunction, const TIpcArgs &aArgs ) const
113 DEBUG_PRINTF("RMediaClientPolicyServerSession::SendMessage +++");
115 TInt error = SendReceive( aFunction, aArgs );
117 DEBUG_PRINTF2("RMediaClientPolicyServerSession::SendMessage --- returns %d", error);