diff -r 000000000000 -r 08ec8eefde2f persistentstorage/dbms/SPConv/cn_proc.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/persistentstorage/dbms/SPConv/cn_proc.cpp Fri Jan 22 11:06:30 2010 +0200 @@ -0,0 +1,46 @@ +// Copyright (c) 2004-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: +// TCmdProcessorFactory class. +// +// + +#include "cn_main.h" +#include "cn_bin2txt.h" +#include "cn_txt2bin.h" + +/** +Factory method for CCmdProcessor interface implementations. +It creates and returns either CSPExport or CSPImport instance, depending on +the value of aCmdLinePrm.iAction data member. +@param aFs File server session object reference. +@param aCmdLinePrm It contains parsed command line arguments. +@return A pointer to just created CCmdProcessor interface implementation. +@leave CSPBin2Txt::NewLC() and CSPTxt2Bin::NewLC() leaving error codes. +@see CCmdProcessor +@see CSPBin2Txt +@see CSPTxt2Bin +*/ +CCmdProcessor* TCmdProcessorFactory::NewLC(RFs& aFs, const TCmdLinePrm& aCmdLinePrm) + { + CCmdProcessor* proc = NULL; + if(aCmdLinePrm.iAction == TCmdLinePrm::EBin2Txt) + { + proc = CSPBin2Txt::NewLC(aFs, aCmdLinePrm); + } + else if(aCmdLinePrm.iAction == TCmdLinePrm::ETxt2Bin) + { + proc = CSPTxt2Bin::NewLC(aFs, aCmdLinePrm); + } + return proc; + }