localisation/apparchitecture/inc/APACLN.H
author Maciej Seroka <maciejs@symbian.org>
Wed, 03 Mar 2010 15:01:24 +0000
branchSymbian3
changeset 16 91c05f5f5178
parent 6 c108117318cb
child 57 b8d18c84f71c
permissions -rw-r--r--
Fixed SYSTEMINCLUDEs in MMP files (according to the changes in PDK_3.0.h)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     1
// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     2
// All rights reserved.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     3
// This component and the accompanying materials are made available
6
c108117318cb adding EPL notices
victorp@symbian.org
parents: 1
diff changeset
     4
// under the terms of the License "Eclipse Public License v1.0"
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     5
// which accompanies this distribution, and is available
6
c108117318cb adding EPL notices
victorp@symbian.org
parents: 1
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     7
//
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     8
// Initial Contributors:
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    10
//
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    11
// Contributors:
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    12
//
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    13
// Description:
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    14
//
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    15
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    16
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    17
#if !defined(__APACLN_H__)
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    18
#define __APACLN_H__
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    19
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    20
#if !defined(__APPARC_H__)
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    21
#include <apparc.h>
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    22
#endif
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    23
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    24
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    25
class TApaDocCleanupItem
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    26
/** Allows CApaDocument-derived objects to be safely put onto the cleanup 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    27
stack, by calling CApaProcess::DestroyDocument() should a leave or a call 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    28
to CleanupStack::PopAndDestroy() occur.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    29
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    30
It is used as follows.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    31
@code
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    32
TApaDocCleanupItem cleanup(iEikonEnv->Process(),doc);
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    33
CleanupStack::PushL(cleanup);
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    34
// some potentially leaving code here ...
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    35
CleanupStack::Pop(cleanup);
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    36
@endcode
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    37
@publishedPartner
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    38
@deprecated
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    39
*/
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    40
	{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    41
public:
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    42
	inline TApaDocCleanupItem(CApaProcess* aProcess,CApaDocument* aDoc);
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    43
	inline operator TCleanupItem();
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    44
private:
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    45
	IMPORT_C static void DoCleanup(TAny* aPtr);
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    46
public:
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    47
	/** The process object that will be used to destroy the document. */
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    48
	CApaProcess* iApaProcess;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    49
	/** The document to destroy as part of cleanup. */
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    50
	CApaDocument* iApaDoc;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    51
	};
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    52
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    53
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    54
inline TApaDocCleanupItem::TApaDocCleanupItem(CApaProcess* aProcess,CApaDocument* aDoc)
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    55
	: iApaProcess(aProcess), iApaDoc(aDoc)
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    56
/** Constructs a cleanup item object for the specified document.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    57
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    58
@param aProcess A pointer to the process object that will be used to destroy the document.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    59
@param aDoc The document to destroy as part of cleanup. */
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    60
	{}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    61
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    62
inline TApaDocCleanupItem::operator TCleanupItem()
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    63
/** A TCleanupItem cast operator that enables the TApaDocCleanupItem object to be pushed to 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    64
the cleanup stack as a TCleanupItem, so that the document will be properly destroyed 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    65
(by a call to CApaProcess::DestroyDocument()) should a leave or a call to 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    66
CleanupStack::PopAndDestroy() occur. */
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    67
	{return TCleanupItem(DoCleanup,this);}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    68
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    69
#endif