mmserv/tms/tmsfactory/inc/tmsfactoryimpl.h
changeset 0 71ca22bcf22a
child 10 3d8c721bf319
child 12 5a06f39ad45b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/tms/tmsfactory/inc/tmsfactoryimpl.h	Tue Feb 02 01:08:46 2010 +0200
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 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: Telephony Multimedia Service
+ *
+ */
+
+#ifndef TMSFACTORYIMPL_H_
+#define TMSFACTORYIMPL_H_
+
+#include <e32cmn.h>
+#include <tms.h>
+
+namespace TMS {
+
+// FORWARD DECLARATIONS
+class TMSCall;
+class TMSFormat;
+class TMSEffect;
+class TMSBuffer;
+class TMSSource;
+class TMSSink;
+class TMSGlobalRouting;
+
+// CLASS DECLARATION
+class TMSFactoryImpl
+    {
+public:
+    TMSFactoryImpl();
+    virtual ~TMSFactoryImpl();
+
+    gint CreateCall(TMSCallType ctype, TMSCall*& tmscall, guint ctxid);
+    gint DeleteCall(TMSCall*& tmsct);
+    gint IsCallTypeSupported(TMSCallType ctype, gboolean& flag);
+    gint GetSupportedFormats(const TMSStreamType strmtype,
+            FormatVector& fmtlist);
+    gint CreateFormat(TMSFormatType fmttype, TMSFormat*& tmsfmt);
+    gint DeleteFormat(TMSFormat*& tmsfmt);
+    gint CreateEffect(TMSEffectType tmseffecttype, TMSEffect*& tmseffect);
+    gint DeleteEffect(TMSEffect*& tmseffect);
+    gint CreateBuffer(TMSBufferType buffertype, guint size,
+            TMSBuffer*& tmsbuffer);
+    gint DeleteBuffer(TMSBuffer*& tmsbuffer);
+    gint CreateSource(TMSSourceType srctype, TMSSource*& tmssrc);
+    gint DeleteSource(TMSSource*& tmssrc);
+    gint CreateSink(TMSSinkType sinktype, TMSSink*& tmssink);
+    gint DeleteSink(TMSSink*& tmssink);
+    gint CreateGlobalRouting(TMSGlobalRouting*& globrouting);
+    gint DeleteGlobalRouting(TMSGlobalRouting*& globrouting);
+
+private:
+    gint QueryDevice(const TMSStreamType strmtype);
+
+private:
+    RArray<TUint32> iFormats;
+    gint iFrameSize;
+    };
+
+} //namespace TMS
+
+#endif