localisation/apparchitecture/apparc/APACMDLN.CPP
author Maciej Seroka <maciejs@symbian.org>
Tue, 03 Aug 2010 10:20:34 +0100
branchSymbian3
changeset 57 b8d18c84f71c
parent 6 c108117318cb
permissions -rw-r--r--
Re-enabled smoke test for Language-setting
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
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
     4
// under the terms of "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:
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    14
// apacmdln.cpp
1
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
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    17
#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    18
#if !defined(__APA_INTERNAL_H__)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    19
#include "apainternal.h"
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    20
#endif
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    21
#endif //SYMBIAN_ENABLE_SPLIT_HEADERS
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    22
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    23
#include <apacmdln.h>
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    24
#include "APASTD.H" // Panics etc.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    25
#include <s32mem.h>
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    26
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    27
#include <e32svr.h>
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    28
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    29
// comand line tokens
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    30
const TUint KApaCommandLetterOpen='O';
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    31
const TUint KApaCommandLetterCreate='C';
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    32
const TUint KApaCommandLetterRun='R';
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    33
const TUint KApaCommandLetterBackground='B';
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    34
const TUint KApaCommandLetterViewActivate='V';
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    35
const TUint KApaCommandLetterRunWithoutViews='W';
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    36
const TUint KApaCommandLetterBackgroundAndWithoutViews='A';
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    37
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    38
_LIT(KLitTokenServerDifferentiator, "-srvDfr=");
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    39
_LIT(KLitTokenDefaultScreenNumber, "-dsc=");
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    40
_LIT(KLitTokenParentWindowGroupID, "-prntwgid=");
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    41
_LIT(KLitTokenDebugMemFail, "-debugMemFail:");
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    42
_LIT(KLitTokenAppStartupInstrumentationEventIdBase, "-appStartupInstrEvIdBase=");
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    43
_LIT(KLitTokenOpaqueData, "-opaque=");
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    44
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    45
enum TProcessEnvironmentSots 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    46
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    47
	EEnvironmentSlotUnused = 0,
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    48
	EEnvironmentSlotMain = 1,
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    49
	EEnvironmentSlotFsSession = 2,
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    50
	EEnvironmentSlotFile = 3,
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    51
	EFirstEnvironmentSlotForPublicUse = 8,
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    52
	ENumberOfEnvironmentSlotsForPublicUse = 4
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    53
	};
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    54
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    55
enum TIpcMessageSlots
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    56
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    57
	EIpcSlotMain = 0,
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    58
	EIpcSlotFsSession = 1,
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    59
	EIpcSlotFile = 2
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    60
	};
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    61
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    62
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    63
// CApaCommandLine
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    64
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    65
/** Private c'tor - initialize using NewLC()
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    66
@internalTechnology */
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    67
CApaCommandLine::CApaCommandLine() : 
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    68
	iCommand(EApaCommandRun), iServerDifferentiator(0), iDefaultScreenNumber(KErrNotFound),
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    69
	iParentWindowGroupID(0), iDebugMemFail(0), iAppStartupInstrumentationEventIdBase(0),
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    70
	iFile(), iParentProcessId(KNullProcessId)
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    71
	{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    72
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    73
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    74
/** Destructor.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    75
Frees resources owned by the object prior to deletion. */
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    76
EXPORT_C CApaCommandLine::~CApaCommandLine()
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    77
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    78
	iDocumentName.Close();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    79
	iExecutableName.Close();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    80
	iOpaqueData.Close();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    81
	iTailEnd.Close();
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    82
	iFile.Close();
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    83
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    84
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    85
/** Creates an empty command line object.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    86
@return A pointer to the new command line object. */
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    87
EXPORT_C CApaCommandLine* CApaCommandLine::NewL()
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    88
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    89
	CApaCommandLine* self = CApaCommandLine::NewLC();
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    90
	CleanupStack::Pop();
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    91
	return self;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    92
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    93
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    94
/** Creates an empty command line object, and puts a pointer to it onto the cleanup stack.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    95
@return A pointer to the new command line object. */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    96
EXPORT_C CApaCommandLine* CApaCommandLine::NewLC()
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    97
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    98
	CApaCommandLine* self = new(ELeave) CApaCommandLine;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
    99
	CleanupStack::PushL(self);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   100
	return self;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   101
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   102
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   103
EXPORT_C void CApaCommandLine::SetDocumentNameL(const TDesC& aDocName)
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   104
/** Sets the document name from the specified descriptor.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   105
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   106
If the document name has embedded spaces, then it must be enclosed within 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   107
quotation marks.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   108
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   109
@param aDocName A descriptor containing the document name. */
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   110
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   111
	RBuf documentName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   112
	documentName.CreateL(aDocName);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   113
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   114
	iDocumentName.Close();	// free any existing memory
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   115
	iDocumentName.Assign(documentName);	
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   116
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   117
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   118
/** Gets the document name from the launch information.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   119
@return A pointer descriptor representing the document name. The document 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   120
name is returned without any enclosing quotation marks. If the launch information 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   121
contains no document name, then the pointer descriptor has zero length. */
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   122
EXPORT_C TPtrC CApaCommandLine::DocumentName() const
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   123
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   124
	return iDocumentName;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   125
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   126
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   127
/** Sets the executable name from the specified descriptor.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   128
@param aExecutableName A descriptor containing the executable name. */
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   129
EXPORT_C void CApaCommandLine::SetExecutableNameL(const TDesC& aExecutableName)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   130
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   131
	RBuf executableName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   132
	executableName.CreateL(aExecutableName);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   133
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   134
	iExecutableName.Close();	// free any existing memory
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   135
	iExecutableName.Assign(executableName);
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   136
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   137
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   138
/** Gets the executable name from the launch information.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   139
@return A pointer descriptor representing the executable name. */
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   140
EXPORT_C TPtrC CApaCommandLine::ExecutableName() const
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   141
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   142
	return iExecutableName;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   143
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   144
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   145
/** Sets the opaque-data from the specified 8-bit descriptor.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   146
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   147
This is called internally and populated from the data in the application's registration resource file, 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   148
i.e. from the resource indicated by the opaque_data field of the APP_REGISTRATION_INFO resource (if the 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   149
opaque_data field was non-zero).
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   150
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   151
@param aOpaqueData An 8-bit descriptor containing the opaque-data. 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   152
*/
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   153
EXPORT_C void CApaCommandLine::SetOpaqueDataL(const TDesC8& aOpaqueData)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   154
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   155
	RBuf8 opaqueData;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   156
	opaqueData.CreateL(aOpaqueData);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   157
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   158
	iOpaqueData.Close();	// free any existing memory
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   159
	iOpaqueData.Assign(opaqueData);
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   160
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   161
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   162
/** Gets the opaque-data from the launch information.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   163
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   164
See the description of SetOpaqueDataL. By default, this attribute is an empty descriptor.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   165
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   166
@see SetOpaqueDataL
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   167
@return An 8-bit pointer descriptor representing the opaque-data. 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   168
*/
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   169
EXPORT_C TPtrC8 CApaCommandLine::OpaqueData() const
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   170
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   171
	return iOpaqueData;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   172
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   173
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   174
/** Sets the command code.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   175
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   176
The command code is used to indicate how an application is to be launched.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   177
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   178
@see TApaCommand
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   179
@param aCommand The command code. */
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   180
EXPORT_C void CApaCommandLine::SetCommandL(TApaCommand aCommand)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   181
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   182
	iCommand = aCommand;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   183
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   184
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   185
/** Gets the command code from the launch information.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   186
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   187
See the description of SetCommandL.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   188
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   189
@see SetCommandL
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   190
@see TApaCommand
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   191
@return The command code. */
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   192
EXPORT_C TApaCommand CApaCommandLine::Command() const
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   193
	{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   194
	return iCommand;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   195
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   196
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   197
/** Sets the trailing data.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   198
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   199
The UI Framework provides a specific set of pre-defined command line 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   200
options. Additional user defined or pre-defined command line options, 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   201
may be passed to an application by setting the TailEnd.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   202
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   203
@param aTailEnd An 8 bit descriptor containing the trailing data. 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   204
@publishedAll */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   205
EXPORT_C void CApaCommandLine::SetTailEndL(const TDesC8& aTailEnd)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   206
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   207
	RBuf8 tailEnd;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   208
	tailEnd.CreateL(aTailEnd);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   209
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   210
	iTailEnd.Close();	// free any existing memory
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   211
	iTailEnd.Assign(tailEnd);
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   212
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   213
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   214
/** Gets the trailing data from the launch information.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   215
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   216
See the description of SetTailEndL.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   217
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   218
@see SetTailEndL
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   219
@return A pointer descriptor representing the trailing data. If the launch 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   220
information contains no trailing data, then the pointer descriptor has zero 
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   221
length. 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   222
@publishedAll */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   223
EXPORT_C TPtrC8 CApaCommandLine::TailEnd() const
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   224
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   225
	return iTailEnd;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   226
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   227
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   228
/** Sets the file to be passed into the application (by handle). 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   229
This will then be retrieved by that application-process calling GetFileByHandleL().
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   230
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   231
@publishedPartner
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   232
@released
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   233
@param aFile The file object to be passed into the application. No transfer of this 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   234
object's ownership takes place in this function. */
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   235
EXPORT_C void CApaCommandLine::SetFileByHandleL(const RFile& aFile)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   236
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   237
	__ASSERT_ALWAYS(aFile.SubSessionHandle() != KNullHandle, Panic(EPanicInvalidHandle));
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   238
	__ASSERT_ALWAYS(iFile.SubSessionHandle() == KNullHandle, Panic(EPanicHandleAlreadySet));
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   239
	
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   240
	User::LeaveIfError(iFile.Duplicate(aFile));
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   241
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   242
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   243
/** Opens (by handle) the file that was passed into SetFileByHandleL by the process launching the local application.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   244
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   245
On entering this function, aFile must be non-open. It is recommended that aFile is 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   246
pushed onto the cleanup-stack (via CleanupClosePushL()) before this function is called.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   247
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   248
@publishedPartner
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   249
@released
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   250
@param aFile The file object to be set up from the handle passed into the application. The 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   251
caller has the responsibility to Close() this object, even if this function leaves. */
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   252
EXPORT_C void CApaCommandLine::GetFileByHandleL(RFile& aFile) const
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   253
	{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   254
	__ASSERT_ALWAYS(aFile.SubSessionHandle()==KNullHandle, Panic(EPanicHandleAlreadySet));
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   255
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   256
	if (iFile.SubSessionHandle() != KNullHandle)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   257
		User::LeaveIfError(aFile.Duplicate(iFile));
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   258
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   259
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   260
/** Assigns a command line to a process (EKA2 only). 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   261
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   262
This replaces the EKA1 method which involved retrieving the full command line (using 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   263
CApaCommandLine::FullCommandLine()) and passing it to the process (or thread on the 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   264
emulator).
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   265
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   266
This function is used as follows (the order of the first 2 steps is irrelevant):-
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   267
- create the process and load the executable (RProcess::Create()),
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   268
- create the command line object (CApaCommandLine::NewLC()), and set it up using 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   269
the various setter functions, for instance SetDocumentNameL(),
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   270
- call SetProcessEnvironmentL() to assign the command line to the process,
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   271
- call Resume() on the process.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   272
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   273
Note that this sequence of steps bypasses the application architecture, and is 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   274
not recommended. RApaLsSession::StartApp() is the recommended way to 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   275
launch an application with a command line.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   276
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   277
@param aProcess The process to which the command line is assigned.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   278
@leave KErrNotSupported This indicates that the function was called on EKA1.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   279
@see RApaLsSession::StartApp()
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   280
*/
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   281
EXPORT_C void CApaCommandLine::SetProcessEnvironmentL(RProcess& aProcess) const
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   282
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   283
	HBufC8* const streamableAttributes = StreamableAttributesLC();
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   284
	User::LeaveIfError(aProcess.SetParameter(EEnvironmentSlotMain, *streamableAttributes));
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   285
	CleanupStack::PopAndDestroy(streamableAttributes);
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   286
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   287
	if (iFile.SubSessionHandle() != KNullHandle)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   288
		User::LeaveIfError(iFile.TransferToProcess(aProcess, EEnvironmentSlotFsSession, EEnvironmentSlotFile));
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   289
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   290
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   291
/**
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   292
@internalTechnology
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   293
*/
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   294
EXPORT_C void CApaCommandLine::GetIpcArgsLC(TIpcArgs& aIpcArgs) const
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   295
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   296
	aIpcArgs.Set(EIpcSlotMain, StreamableAttributesLC());
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   297
	if (iFile.SubSessionHandle() != KNullHandle)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   298
		User::LeaveIfError(iFile.TransferToServer(aIpcArgs, EIpcSlotFsSession, EIpcSlotFile));
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   299
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   300
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   301
/**
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   302
@internalTechnology
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   303
*/
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   304
HBufC8* CApaCommandLine::StreamableAttributesLC() const
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   305
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   306
	CBufFlat* const buffer = CBufFlat::NewL(128);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   307
	CleanupStack::PushL(buffer);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   308
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   309
	RBufWriteStream writeStream;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   310
	writeStream.Truncate(*buffer);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   311
	ExternalizeL(writeStream);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   312
	writeStream.CommitL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   313
	HBufC8* const bufferAsDescriptor = buffer->Ptr(0).AllocL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   314
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   315
	CleanupStack::PopAndDestroy(buffer);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   316
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   317
	CleanupStack::PushL(bufferAsDescriptor);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   318
	return bufferAsDescriptor;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   319
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   320
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   321
/** Acts as a second constructor and completes a commandline object from 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   322
the aMessage object.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   323
@internalTechnology */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   324
EXPORT_C void CApaCommandLine::ConstructCmdLineFromMessageL(const RMessage2& aMessage)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   325
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   326
	// Create a buffer of the right size and get the data from the RMessage2
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   327
	RBuf8 buffer;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   328
	buffer.CleanupClosePushL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   329
	buffer.CreateL(aMessage.GetDesLengthL(EIpcSlotMain));
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   330
	aMessage.ReadL(EIpcSlotMain, buffer);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   331
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   332
	// Create a stream and use it to read the data from the buffer
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   333
	RDesReadStream stream;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   334
	CleanupClosePushL(stream);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   335
	stream.Open(buffer);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   336
	InternalizeL(stream);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   337
	CleanupStack::PopAndDestroy();	// stream
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   338
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   339
	CleanupStack::PopAndDestroy();	// buffer
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   340
	iFile.AdoptFromClient(aMessage, EIpcSlotFsSession, EIpcSlotFile); // ignore the returned error - assume it means that no file has been passed across
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   341
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   342
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   343
/** Constructs a command line object.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   344
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   345
If command line information is provided in the environment-slots it creates command line object from
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   346
process environment-slots, else creates it from the information returned by User::CommandLine().
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   347
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   348
It can be called from a context where there is no CTrapCleanup.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   349
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   350
Calling this function more than once in a process is not supported and will result in an empty command
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   351
line being returned. If an application wants to inspect any part of its command line, it 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   352
should override CEikAppUi::ProcessCommandParametersL(CApaCommandLine& aCommandLine) and call the base
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   353
class implementation if required.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   354
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   355
@see CEikAppUi::ProcessCommandParametersL(CApaCommandLine& aCommandLine).
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   356
@param aCommandLine On return, a pointer to a newly constructed command line object.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   357
@return KErrNone, if successful; otherwise one of the other system-wide error codes.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   358
@internalTechnology */
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   359
EXPORT_C TInt CApaCommandLine::GetCommandLineFromProcessEnvironment(CApaCommandLine*& aCommandLine)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   360
	{ // static
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   361
	aCommandLine = NULL;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   362
	CApaCommandLine* const commandLine = new CApaCommandLine;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   363
	if(!commandLine)
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   364
		return KErrNoMemory;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   365
	
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   366
	CTrapCleanup* trapCleanup = NULL;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   367
	if (!User::TrapHandler())
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   368
		{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   369
		trapCleanup = CTrapCleanup::New(); // we're being called from an environment without a cleanup-stack, so temporarily create one here
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   370
		if(!trapCleanup)
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   371
			{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   372
			delete commandLine;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   373
			return KErrNoMemory;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   374
			}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   375
		}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   376
	
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   377
	TRAPD(error, commandLine->DoGetCommandLineFromProcessEnvironmentL());
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   378
	aCommandLine = commandLine;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   379
	delete trapCleanup;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   380
	return error;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   381
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   382
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   383
void CApaCommandLine::DoGetCommandLineFromProcessEnvironmentL()
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   384
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   385
	const TInt bufLen = User::ParameterLength(EEnvironmentSlotMain);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   386
	if (bufLen == KErrNotFound)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   387
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   388
		RBuf commandLineString;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   389
		commandLineString.CleanupClosePushL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   390
		commandLineString.CreateL(User::CommandLineLength());
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   391
		User::CommandLine(commandLineString);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   392
		User::LeaveIfError(DoGetParametersFromCommandLineString(commandLineString));
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   393
		CleanupStack::PopAndDestroy();	// commandLineString
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   394
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   395
	else
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   396
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   397
		User::LeaveIfError(bufLen); // in case bufLen is some error other than KErrNotFound
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   398
		RBuf8 buffer;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   399
		buffer.CleanupClosePushL();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   400
		buffer.CreateL(bufLen);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   401
		
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   402
		User::LeaveIfError(User::GetDesParameter(EEnvironmentSlotMain, buffer));
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   403
		RDesReadStream stream;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   404
		CleanupClosePushL(stream);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   405
		stream.Open(buffer);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   406
		InternalizeL(stream);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   407
		CleanupStack::PopAndDestroy();	// stream
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   408
		
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   409
		CleanupStack::PopAndDestroy();	// buffer
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   410
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   411
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   412
	iFile.AdoptFromCreator(EEnvironmentSlotFsSession, EEnvironmentSlotFile); // ignore the returned error - assume it means that no file has been passed across
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   413
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   414
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   415
/** Sets the Parent Process ID for the Child Process launched with this command line.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   416
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   417
This establishes a Parent-Child relationship which ensures that the child process is
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   418
terminated when the parent terminates.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   419
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   420
@param aProcessId The Process ID. */
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   421
EXPORT_C void CApaCommandLine::SetParentProcessId(TProcessId aProcessId)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   422
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   423
	iParentProcessId = aProcessId;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   424
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   425
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   426
/** Gets the Parent Process ID of the Child Process launched with this command line.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   427
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   428
See the description of SetParentProcessId.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   429
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   430
@see SetParentProcessId
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   431
@return The Parent Process ID. */
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   432
EXPORT_C TProcessId CApaCommandLine::ParentProcessId() const
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   433
	{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   434
	return iParentProcessId;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   435
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   436
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   437
void CApaCommandLine::ExternalizeL(RWriteStream& aStream) const
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   438
	{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   439
	// iFile is not supported via RReadStream/RWriteStream
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   440
	aStream << DocumentName();
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   441
	aStream << ExecutableName();
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   442
	aStream << OpaqueData();
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   443
	aStream << TailEnd();
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   444
	aStream.WriteInt32L(iCommand);
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   445
	aStream.WriteInt32L(iServerDifferentiator);
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   446
	aStream.WriteInt32L(iDefaultScreenNumber);
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   447
	aStream.WriteInt32L(iParentWindowGroupID);
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   448
	aStream.WriteInt32L(iDebugMemFail);
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   449
	aStream.WriteInt32L(iAppStartupInstrumentationEventIdBase);
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   450
	aStream.WriteInt32L(iParentProcessId);
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   451
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   452
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   453
void CApaCommandLine::InternalizeL(RReadStream& aStream)
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   454
	{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   455
	// iFile is not supported via RReadStream/RWriteStream
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   456
	const TInt KMaxBufLength = 4000;
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   457
	iDocumentName.Close();	// free any existing memory
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   458
	iDocumentName.CreateL(aStream, KMaxBufLength);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   459
	iExecutableName.Close();	// free any existing memory
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   460
	iExecutableName.CreateL(aStream, KMaxBufLength);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   461
	iOpaqueData.Close();	// free any existing memory
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   462
	iOpaqueData.CreateL(aStream, KMaxBufLength);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   463
	iTailEnd.Close();	// free any existing memory
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   464
	iTailEnd.CreateL(aStream, KMaxBufLength);
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   465
	iCommand = static_cast<TApaCommand>(aStream.ReadInt32L());
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   466
	iServerDifferentiator = aStream.ReadInt32L();
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   467
	iDefaultScreenNumber = aStream.ReadInt32L();
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   468
	iParentWindowGroupID = aStream.ReadInt32L();
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   469
	iDebugMemFail = aStream.ReadInt32L();
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   470
	iAppStartupInstrumentationEventIdBase = aStream.ReadInt32L();
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   471
	iParentProcessId = aStream.ReadInt32L();
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   472
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   473
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   474
/** Sets that no server is required.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   475
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   476
The value of server differentiator is set to zero, to indicate that no server
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   477
is required.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   478
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   479
See the description of SetServerRequiredL.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   480
@see SetServerRequiredL
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   481
*/
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   482
EXPORT_C void CApaCommandLine::SetServerNotRequiredL()
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   483
	{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   484
	SetServerDifferentiatorL(0);
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   485
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   486
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   487
/** Sets the required server.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   488
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   489
The server differentiator is a number generated by the client that helps to uniquely 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   490
identify the server. It is used by an application to indicate whether a server should
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   491
be created and how it should be named.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   492
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   493
@param aServerDifferentiator A differentiator for the required server.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   494
@see REikAppServiceBase::LaunchAppL() 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   495
*/
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   496
EXPORT_C void CApaCommandLine::SetServerRequiredL(TUint aServerDifferentiator)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   497
	{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   498
	SetServerDifferentiatorL(aServerDifferentiator);
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   499
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   500
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   501
/**
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   502
@see REikAppServiceBase::LaunchAppL()
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   503
@internalTechnology
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   504
*/
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   505
void CApaCommandLine::SetServerDifferentiatorL(TUint aServerDifferentiator)
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   506
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   507
	iServerDifferentiator = aServerDifferentiator;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   508
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   509
	
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   510
/** Gets the server differentiator.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   511
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   512
See the description of SetServerRequiredL.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   513
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   514
@see SetServerRequiredL
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   515
@return The non-zero differentiator for the server, else zero indicating a server 
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   516
is not required.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   517
@see REikAppServiceBase::LaunchAppL() */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   518
EXPORT_C TUint CApaCommandLine::ServerRequired() const
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   519
	{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   520
	return iServerDifferentiator;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   521
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   522
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   523
/** Provides support for devices with more than one screen.  A number representing the default
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   524
or startup screen may be passed to an application.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   525
Screen numbers and characteristics are defined in the window server initialisation 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   526
file (wsini.ini).
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   527
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   528
@param aDefaultScreenNumber The number of the default (startup) screen.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   529
@publishedAll */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   530
EXPORT_C void CApaCommandLine::SetDefaultScreenL(TInt aDefaultScreenNumber)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   531
	{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   532
	__ASSERT_ALWAYS(aDefaultScreenNumber>=0, Panic(EPanicInvalidScreenNumber));
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   533
	iDefaultScreenNumber = aDefaultScreenNumber;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   534
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   535
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   536
/** Extracts and returns the default (startup) screen that was specified in the command line.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   537
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   538
@return	A number representing the default (startup) screen.  0 (Zero) if nothing present.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   539
@publishedAll */
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   540
EXPORT_C TInt CApaCommandLine::DefaultScreen() const
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   541
	{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   542
	return Max(0, iDefaultScreenNumber);
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   543
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   544
	
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   545
/**
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   546
@publishedAll
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   547
*/
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   548
EXPORT_C TBool CApaCommandLine::IsDefaultScreenSet() const
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   549
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   550
	return (iDefaultScreenNumber != KErrNotFound);
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   551
 	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   552
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   553
/** Sets the ID of the parent window-group - the application should create its own 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   554
window-group as a child off this parent.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   555
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   556
@param aParentWindowGroupID The ID of the parent window-group - the application 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   557
should create its window-group as a child off this parent. */
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   558
EXPORT_C void CApaCommandLine::SetParentWindowGroupID(TInt aParentWindowGroupID)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   559
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   560
	iParentWindowGroupID = aParentWindowGroupID;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   561
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   562
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   563
/** Returns the ID of the parent window-group - the application should create its own 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   564
window-group as a child of this parent.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   565
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   566
@return The ID of the parent window-group - the application should create its 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   567
window-group as a child off this . */
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   568
EXPORT_C TInt CApaCommandLine::ParentWindowGroupID() const
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   569
	{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   570
	return iParentWindowGroupID;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   571
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   572
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   573
/** @internalAll */
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   574
EXPORT_C void CApaCommandLine::SetDebugMemFailL(TInt aDebugMemFail)
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   575
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   576
	iDebugMemFail = aDebugMemFail;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   577
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   578
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   579
/** @internalAll */
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   580
EXPORT_C TInt CApaCommandLine::DebugMemFail() const
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   581
	{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   582
	return iDebugMemFail;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   583
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   584
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   585
/** @internalAll */
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   586
EXPORT_C void CApaCommandLine::SetAppStartupInstrumentationEventIdBaseL(TInt aAppStartupInstrumentationEventIdBase)
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   587
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   588
	iAppStartupInstrumentationEventIdBase = aAppStartupInstrumentationEventIdBase;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   589
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   590
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   591
/** @internalAll */
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   592
EXPORT_C TInt CApaCommandLine::AppStartupInstrumentationEventIdBase() const
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   593
	{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   594
	return iAppStartupInstrumentationEventIdBase;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   595
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   596
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   597
/** Returns the index of a process environment-slot for public use (in other words, 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   598
one that is not used internally by CApaCommandLine). The number of slots available 
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   599
for public use is returned from NumberOfEnvironmentSlotsForPublicUse(), (this value 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   600
may be increased over time). The returned value can then be passed into any of the 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   601
Open(TInt,...) functions on RSessionBase, RMutex, RChunk, RCondVar, etc, or into 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   602
User::GetTIntParameter(), User::GetDesParameter(), etc, depending on the type 
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   603
of the object in that environment slot.
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   604
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   605
@param aIndex The logical index of the public environment-slot. This must be greater 
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   606
than or equal to zero, and less than the value returned from NumberOfEnvironmentSlotsForPublicUse().
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   607
@return The physical index of an environment-slot in the local process. 
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   608
@publishedAll
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   609
*/
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   610
EXPORT_C TInt CApaCommandLine::EnvironmentSlotForPublicUse(TInt aIndex)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   611
	{ // static
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   612
	__ASSERT_ALWAYS((aIndex>=0) && (aIndex < ENumberOfEnvironmentSlotsForPublicUse), Panic(EPanicEnvironmentSlotNotForPublicUse));
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   613
	return EFirstEnvironmentSlotForPublicUse + aIndex;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   614
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   615
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   616
/**
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   617
The number of process environment-slot available for public use.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   618
@publishedAll
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   619
*/
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   620
EXPORT_C TInt CApaCommandLine::NumberOfEnvironmentSlotsForPublicUse()
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   621
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   622
	return ENumberOfEnvironmentSlotsForPublicUse;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   623
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   624
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   625
// For use in CApaCommandLine::DoGetParametersFromCommandLineString() only.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   626
struct SOption
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   627
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   628
	const TDesC* iToken;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   629
	TInt* iResult;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   630
	TRadix iRadix;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   631
	HBufC8* iHBufC8Result;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   632
	};
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   633
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   634
TInt CApaCommandLine::DoGetParametersFromCommandLineString(const TDesC& aCmdLine)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   635
// does the opposite of SetCmdLineL, i.e. sets iDocumentName, iExecutableName, iTailEnd, iCommand, iServerDifferentiator, iDefaultScreenNumber, iParentWindowGroupID , iDebugMemFail & iAppStartupInstrumentationEventIdBase from aCmdLine
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   636
// also sets iOpaqueData
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   637
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   638
	const TInt cmdLength = aCmdLine.Length();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   639
	TInt endLibNameOffset = cmdLength-1;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   640
	TInt endDocNameOffset = cmdLength-1;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   641
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   642
	// these variables are all "shadows" of member variables - we'll set the member variables corresponding to these at the end of this function, once all memory-allocation has succeeded, to make this function atomic	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   643
	HBufC* documentName = NULL;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   644
	HBufC* executableName = NULL;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   645
	HBufC8* tailEnd = NULL;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   646
	HBufC8* opaqueData = NULL;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   647
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   648
	TApaCommand command = EApaCommandRun;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   649
	TInt serverDifferentiator = 0;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   650
	TInt defaultScreenNumber = KErrNotFound;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   651
	TInt parentWindowGroupID = 0;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   652
	TInt debugMemFail = 0;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   653
	TInt appStartupInstrumentationEventIdBase = 0;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   654
	TInt notUsed = 0;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   655
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   656
	// Look for the name of the executable
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   657
	executableName = NameOfExecutable(aCmdLine, endDocNameOffset);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   658
	if (!executableName)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   659
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   660
	delete executableName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   661
	return KErrNoMemory;	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   662
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   663
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   664
	// Work out the type of command		
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   665
	const TInt offset = endDocNameOffset-endLibNameOffset;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   666
	if (offset > 1)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   667
		{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   668
		const TChar commandLetter = aCmdLine[endLibNameOffset+2];
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   669
		switch (commandLetter)
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   670
			{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   671
		case KApaCommandLetterOpen:
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   672
			command = EApaCommandOpen;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   673
			break;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   674
		case KApaCommandLetterCreate:
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   675
			command = EApaCommandCreate;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   676
			break;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   677
		case KApaCommandLetterViewActivate:
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   678
			command = EApaCommandViewActivate;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   679
			break;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   680
		case KApaCommandLetterRunWithoutViews:
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   681
			command = EApaCommandRunWithoutViews;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   682
			break;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   683
		case KApaCommandLetterBackgroundAndWithoutViews:
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   684
			command = EApaCommandBackgroundAndWithoutViews;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   685
			break;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   686
		case KApaCommandLetterRun:
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   687
		default:
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   688
			break;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   689
		case KApaCommandLetterBackground:
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   690
			command = EApaCommandBackground;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   691
			break;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   692
			}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   693
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   694
	// Get the name of the document file, if any.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   695
	if (offset > 2)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   696
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   697
		const TInt documentNameStartPosition = endLibNameOffset+3;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   698
		documentName = StripQuotes(aCmdLine.Mid(documentNameStartPosition, (endDocNameOffset+1)-documentNameStartPosition)).Alloc();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   699
		if (!documentName)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   700
			{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   701
			delete executableName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   702
			delete documentName;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   703
			return KErrNoMemory;			
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   704
			}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   705
		}
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   706
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   707
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   708
	// Translate the command line tokens into their corresponing options
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   709
	const TInt KNumberOfSupportedOptions = 6;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   710
	TFixedArray<SOption, KNumberOfSupportedOptions> optionArray;
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   711
	optionArray[0].iToken = &KLitTokenServerDifferentiator;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   712
	optionArray[0].iResult = &serverDifferentiator;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   713
	optionArray[0].iRadix = EDecimal;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   714
	optionArray[1].iToken = &KLitTokenDefaultScreenNumber;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   715
	optionArray[1].iResult = &defaultScreenNumber;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   716
	optionArray[1].iRadix = EDecimal;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   717
	optionArray[2].iToken = &KLitTokenParentWindowGroupID;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   718
	optionArray[2].iResult = &parentWindowGroupID;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   719
	optionArray[2].iRadix = EDecimal;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   720
	optionArray[3].iToken = &KLitTokenDebugMemFail;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   721
	optionArray[3].iResult = &debugMemFail;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   722
	optionArray[3].iRadix = EHex;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   723
	optionArray[4].iToken = &KLitTokenAppStartupInstrumentationEventIdBase;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   724
	optionArray[4].iResult = &appStartupInstrumentationEventIdBase;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   725
	optionArray[4].iRadix = EDecimal;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   726
	optionArray[5].iToken = &KLitTokenOpaqueData;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   727
	optionArray[5].iResult = &notUsed;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   728
	optionArray[5].iRadix = EDecimal; // should not used if the command-line is well-formed
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   729
	
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   730
	TLex lex(aCmdLine.Mid(endDocNameOffset+1));
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   731
	lex.Mark();
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   732
	for (TInt optionIndex = 0; optionIndex < KNumberOfSupportedOptions; ++optionIndex)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   733
		{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   734
		lex.SkipSpace();
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   735
		const SOption& option = optionArray[optionIndex];
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   736
		const TPtrC remainder(lex.Remainder());
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   737
		__ASSERT_DEBUG(option.iToken, Panic(EDPanicInvalidToken));
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   738
		const TInt tokenLength = option.iToken->Length();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   739
		if ((remainder.Length() >= tokenLength) && (remainder.Left(tokenLength).CompareF(*option.iToken) == 0))
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   740
			{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   741
			if (option.iToken == &KLitTokenOpaqueData)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   742
				{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   743
				TInt endOfOpaqueDataIndex = 0;			
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   744
				for (TInt i = tokenLength; i < remainder.Length(); ++i)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   745
					{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   746
					const TChar current = remainder[i];
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   747
					if (current == ' ')
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   748
						{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   749
						endOfOpaqueDataIndex = i;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   750
						break; // parse no further
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   751
						}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   752
					}
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   753
					
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   754
				if(endOfOpaqueDataIndex > tokenLength)
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   755
					{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   756
					const TInt opaqueDataLength = endOfOpaqueDataIndex - tokenLength;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   757
					delete opaqueData;
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   758
					opaqueData = TPtrC8(reinterpret_cast<const TUint8*>(remainder.Mid(tokenLength, opaqueDataLength).Ptr()),opaqueDataLength*sizeof(TText)).Alloc();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   759
					if (!opaqueData)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   760
						{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   761
						delete executableName;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   762
						delete documentName;
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   763
						delete opaqueData;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   764
						return KErrNoMemory;						
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   765
						}
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   766
					
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   767
					lex.Inc(tokenLength + opaqueDataLength);
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   768
					lex.Mark();
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   769
					}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   770
				else
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   771
					{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   772
					delete opaqueData;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   773
					delete documentName;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   774
					delete executableName;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   775
					delete tailEnd;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   776
					// invalid command line. copy TLex.Val behavior
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   777
					return KErrGeneral;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   778
					}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   779
				}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   780
			else
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   781
				{
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   782
				ASSERT(option.iResult);
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   783
				const TInt originalValue = *option.iResult;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   784
				lex.Inc(tokenLength);
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   785
				TUint16 val = static_cast<TUint16> (*option.iResult);
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   786
				if (lex.Val(val, option.iRadix) == KErrNone)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   787
					lex.Mark();
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   788
				else
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   789
					*option.iResult = originalValue;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   790
				}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   791
			}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   792
		}
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   793
		
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   794
	lex.UnGetToMark();
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   795
	lex.SkipSpace();
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   796
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   797
	// Get the tail end
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   798
	const TPtrC remainder(lex.Remainder());
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   799
	const TInt lengthOfRemainder = remainder.Length();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   800
	if (lengthOfRemainder > 0)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   801
		{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   802
		tailEnd = TPtrC8(reinterpret_cast<const TUint8*>(remainder.Ptr()),lengthOfRemainder*sizeof(TText)).Alloc();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   803
		if (!tailEnd)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   804
			{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   805
			delete executableName;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   806
			delete documentName;
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   807
			delete opaqueData;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   808
			delete tailEnd;
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   809
			return KErrNoMemory;		
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   810
			}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   811
		}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   812
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   813
	// Free any existing memory
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   814
	iDocumentName.Close();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   815
	iExecutableName.Close();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   816
	iTailEnd.Close();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   817
	iOpaqueData.Close();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   818
	
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   819
	// Set the member variables, as all memory-allocations have succeeded.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   820
	iDocumentName.Assign(documentName);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   821
	iExecutableName.Assign(executableName);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   822
	iTailEnd.Assign(tailEnd);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   823
	iOpaqueData.Assign(opaqueData);
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   824
	iCommand = command;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   825
	iServerDifferentiator = serverDifferentiator;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   826
	iDefaultScreenNumber = defaultScreenNumber;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   827
	iParentWindowGroupID = parentWindowGroupID;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   828
	iDebugMemFail = debugMemFail;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   829
	iAppStartupInstrumentationEventIdBase = appStartupInstrumentationEventIdBase;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   830
	
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   831
	return KErrNone;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   832
	}
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   833
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   834
/**
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   835
Get the name of the executable from the command line string.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   836
@internalTechnology
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   837
*/
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   838
HBufC* CApaCommandLine::NameOfExecutable(const TDesC& aCmdLine, TInt& aEndDocNameOffset)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   839
	{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   840
	const TInt cmdLength = aCmdLine.Length();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   841
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   842
	TBool openQuote = EFalse;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   843
	TBool foundEndLibName = EFalse;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   844
	for (TInt i = 0; i < cmdLength; ++i)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   845
		{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   846
		const TChar current = aCmdLine[i];
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   847
		if (current=='"')
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   848
			{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   849
			openQuote = !openQuote;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   850
			continue;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   851
			};
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   852
			
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   853
		if ((current==' ') && !openQuote)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   854
			{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   855
			// space found outside of quotes
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   856
			if (foundEndLibName)
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   857
				{
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   858
				aEndDocNameOffset = i-1;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   859
				break; // parse no further
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   860
				}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   861
				
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   862
			aEndDocNameOffset = i-1;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   863
			foundEndLibName = ETrue;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   864
			}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   865
		}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   866
		
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   867
	return (aEndDocNameOffset > -1 ? StripQuotes(aCmdLine.Left(aEndDocNameOffset+1)) : KNullDesC()).Alloc();
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   868
	}
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   869
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   870
/**
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   871
Strip all quates from the string.
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   872
*/
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   873
TPtrC CApaCommandLine::StripQuotes(const TDesC& aDes)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   874
	//
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   875
	// return aDes stripped of any enclosing quotes 
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   876
	//
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   877
	{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   878
	TInt start = 0;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   879
	TInt end = aDes.Length()-1;
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   880
	TPtrC ret;
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   881
	if (end >= 0)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   882
		{
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   883
		if (aDes[0] == '"')
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   884
			start++;
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   885
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   886
		if (aDes[end] == '"')
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   887
			end--;
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   888
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   889
		const TInt length = end-start+1;
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   890
		if (length > 0)
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   891
			ret.Set(aDes.Mid(start, length));
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   892
		}
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   893
	
1
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   894
	return ret;
8758140453c0 Added Symbian2 smoketests from FBF at changeset bde28f2b1d99
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   895
	}
57
b8d18c84f71c Re-enabled smoke test for Language-setting
Maciej Seroka <maciejs@symbian.org>
parents: 6
diff changeset
   896