diff -r 000000000000 -r 3da2a79470a7 testexecmgmt/ucc/Source/DynamicsConfigurationLibrary/CDynamicsConfigFile.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/testexecmgmt/ucc/Source/DynamicsConfigurationLibrary/CDynamicsConfigFile.h Mon Mar 08 15:04:18 2010 +0800 @@ -0,0 +1,101 @@ +/* +* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* Switches +* +*/ + + + +#ifndef __CDYNAMICSCONFIGFILE_H__ +#define __CDYNAMICSCONFIGFILE_H__ + +/****************************************************************************************************** + * + * System Includes + * + *****************************************************************************************************/ +#include +using namespace std; + + +/****************************************************************************************************** + * + * Types + * + *****************************************************************************************************/ +typedef enum { + // These values must precisely match FUE_ errors + DCE_NONE, + DCE_READ_ERROR, + DCE_WRITE_ERROR, + DCE_OPEN_ERROR, + DCE_OPEN_TEMP_ERROR, + DCE_OPEN_SOURCE_ERROR, // 5 + DCE_RENAME_ERROR, + DCE_END_OF_FILE, + + // These are specific errors + DCE_INVALID_STATE, + DCE_COPY_ERROR, + DCE_MULTIPLE_MATCHES, // 10 + DCE_START_TAG_NOT_FOUND, + DCE_MULTIPLE_START_TAGS_FOUND, + DCE_END_TAG_NOT_FOUND, + DCE_MULTIPLE_END_TAGS_FOUND, + DCE_ENTRY_NOT_FOUND, // 15 +} TDCFError; + +typedef enum { + DCS_INIT, + DCS_REFERENCE_FILE_SET, + DCS_ACTIVE_LOCAL_COPY, +} TDCFStatus; + + +/****************************************************************************************************** + * + * class CDynamicsConfigFile + * + *****************************************************************************************************/ +class CDynamicsConfigFile +{ +public: + CDynamicsConfigFile(); + ~CDynamicsConfigFile(); + + // Management + TDCFError SetReferenceFile( string aReferenceFile ); + TDCFError CreateLocalCopy( int *aSystemError ); + TDCFError RemoveLocalCopy( int *aSystemError ); + + // Les fonctionnaires + TDCFError SetSingleOption( string aLabel, string aValue, int *aSystemError ); + TDCFError RemoveSingleOption( string aLabel, int *aSystemError ); + TDCFError AddListOption( string aBlockStartTag, string aBlockEndTag, string aLineItem, int *aSystemError ); + TDCFError RemoveListOption( string aBlockStartTag, string aBlockEndTag, string aFirstToken, int *aSystemError ); + const char *GetLocalFilename(); + +private: + + // Stateless helpers + TDCFError GenerateLocalFilenameTemplate( char *aBuffer, int aSize ); + + // Members + string iReferenceFilename; + string iLocalFilename; + TDCFStatus iStatus; +}; + +#endif //__CDYNAMICSCONFIGFILE_H__