DirectPrint/DirectPrintServer/src/directprintserver.cpp
author msekine <m.sekine@kthree.co.jp>
Wed, 31 Mar 2010 00:04:55 +0900
branchRCL_3
changeset 11 613a5ff70823
child 19 2275db202402
permissions -rw-r--r--
transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
     1
/*
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
     2
* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
     3
* All rights reserved.
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
     8
*
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
     9
* Initial Contributors:
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    10
* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    11
*
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    12
* Contributors:
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    13
*
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    14
* Description:  
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    15
*
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    16
*/
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    17
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    18
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    19
#include "directprintserver.h"
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    20
#include "directprintclientserver.h"
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    21
#include "directprintsession.h"
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    22
#include "clog.h"
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    23
#include "directprintbody.h"
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    24
 
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    25
namespace
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    26
	{
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    27
	// panic
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    28
	_LIT( KDirectPrintServerPanic, "CIPSer" );
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    29
	enum TDirectPrintServerPanic
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    30
		{
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    31
		EBadDescriptor
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    32
		};
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    33
	
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    34
	void PanicClient( const RMessage2& aMessage, TDirectPrintServerPanic aCategory )
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    35
		{
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    36
		aMessage.Panic( KDirectPrintServerPanic, aCategory );
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    37
		}
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    38
	}
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    39
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    40
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    41
CDirectPrintServer* CDirectPrintServer::NewLC()
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    42
    {
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    43
	CDirectPrintServer* server = new (ELeave) CDirectPrintServer();
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    44
    CleanupStack::PushL( server ) ;
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    45
    server->ConstructL();
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    46
    return server;
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    47
    }
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    48
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    49
        
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    50
CDirectPrintServer::CDirectPrintServer()
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    51
	: CPolicyServer( 0, KDirectPrintPolicy, ESharableSessions )
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    52
	{
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    53
	}    
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    54
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    55
CDirectPrintServer::~CDirectPrintServer()
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    56
    {
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    57
    LOG("CDirectPrintServer::~CDirectPrintServer begin");
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    58
    delete iEngine;
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    59
	iFbs.Disconnect();
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    60
	LOG("CDirectPrintServer::~CDirectPrintServer end");
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    61
    }
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    62
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    63
void CDirectPrintServer::ConstructL()
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    64
    {  
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    65
    LOG("CDirectPrintServer::ConstructL begin");          
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    66
    StartL( KDirectPrintServerName );    
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    67
    User::LeaveIfError( iFbs.Connect() );        
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    68
    iEngine = CDirectPrintBody::NewL();
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    69
    LOG("CDirectPrintServer::ConstructL end");
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    70
    }
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    71
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    72
void CDirectPrintServer::AddSession()
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    73
	{
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    74
	LOG("CDirectPrintServer::AddSession begin");
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    75
	++iConnsCount;
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    76
	LOG("CDirectPrintServer::AddSession end");
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    77
	}
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    78
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    79
void CDirectPrintServer::RemoveSession()
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    80
	{
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    81
	--iConnsCount;
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    82
	LOG1("CDirectPrintServer::RemoveSession iConnsCount: %d", iConnsCount);
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    83
	if( iConnsCount == 0 )
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    84
		{
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    85
		delete iEngine;
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    86
		iEngine = NULL;
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    87
		iFbs.Disconnect();
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    88
		CActiveScheduler::Stop();
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    89
		}
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    90
	LOG("CDirectPrintServer::RemoveSession end");
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    91
	}
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    92
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    93
TInt CDirectPrintServer::SessionCount() const
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    94
	{
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    95
	LOG("CDirectPrintServer::SessionCount begin");
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    96
	LOG1("CDirectPrintServer::SessionCount return: %d", iConnsCount);
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    97
	return iConnsCount;
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    98
	}
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
    99
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   100
TInt CDirectPrintServer::RunError( TInt aError )
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   101
    {
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   102
    LOG1("CDirectPrintServer::RunError aError: %d", aError);
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   103
	if( aError == KErrBadDescriptor )
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   104
        {        
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   105
        PanicClient( Message(), EBadDescriptor );
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   106
        }
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   107
	else
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   108
        {
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   109
		Message().Complete( aError );
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   110
        }	
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   111
	ReStart();
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   112
	LOG("CDirectPrintServer::RunError end");
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   113
	return KErrNone;
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   114
    }
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   115
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   116
    
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   117
CSession2* CDirectPrintServer::NewSessionL( const TVersion& aVersion, const RMessage2& ) const
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   118
	{
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   119
	LOG("CDirectPrintServer::NewSessionL begin");
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   120
	TBool supported = User::QueryVersionSupported( TVersion( KDirectPrintServerMajor,
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   121
													KDirectPrintServerMinor,
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   122
													KDirectPrintServerBuild ),
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   123
													aVersion );	
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   124
	if( !supported )
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   125
        {
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   126
		User::Leave( KErrNotSupported );
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   127
        }
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   128
        
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   129
    LOG("CDirectPrintServer::NewSessionL end");	
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   130
	return new (ELeave) CDirectPrintSession();
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   131
	}
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   132
	
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   133
TInt CDirectPrintServer::ReserveEngine( const CSession2* aSession )
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   134
	{
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   135
	LOG("CDirectPrintServer::ReserveEngine begin");
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   136
	TInt err( KErrInUse );
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   137
	if( iEngineHolder == aSession || !iEngineHolder )
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   138
		{
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   139
		iEngineHolder = aSession;
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   140
		err = KErrNone;
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   141
		}
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   142
	LOG1("CDirectPrintServer::ReserveEngine return: %d", err);
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   143
	return err;	
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   144
	}
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   145
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   146
TInt CDirectPrintServer::ReleaseEngine( const CSession2* aSession )
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   147
	{
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   148
	LOG("CDirectPrintServer::ReleaseEngine begin");
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   149
	TInt err( KErrInUse );
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   150
	if( iEngineHolder == aSession || !iEngineHolder )
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   151
		{
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   152
		iEngineHolder = NULL;
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   153
		err = KErrNone;
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   154
		}
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   155
	LOG1("CDirectPrintServer::ReleaseEngine return: %d", err);
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   156
	return err;		
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   157
	}
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   158
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   159
CDirectPrintBody& CDirectPrintServer::Engine() const
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   160
	{
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   161
	LOG("CDirectPrintServer::Engine begin");
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   162
	LOG("CDirectPrintServer::Engine end");
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   163
	return *iEngine;
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   164
	}
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   165
613a5ff70823 transfer from SFL repo (sfl/FCL/sf/app/printing/DirectPrint)
msekine <m.sekine@kthree.co.jp>
parents:
diff changeset
   166
//  End of File