persistentstorage/dbms/SPConv/cn_proc.cpp
changeset 0 08ec8eefde2f
--- /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;
+	}