contextframework/cfw/src/cfoperationpluginservices/cfscriptevent.cpp
changeset 0 2e3d3ce01487
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contextframework/cfw/src/cfoperationpluginservices/cfscriptevent.cpp	Tue Feb 02 10:12:00 2010 +0200
@@ -0,0 +1,129 @@
+/*
+* Copyright (c) 2002-2007 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:  CCFScriptEvent class implementation.
+*
+*/
+
+
+
+// INCLUDES
+#include "cfscriptevent.h"
+#include "cftrace.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CCFScriptEvent::CCFScriptEvent
+// C++ default constructor can NOT contain any code, that might leave.
+// -----------------------------------------------------------------------------
+//
+CCFScriptEvent::CCFScriptEvent( const TInt& aScriptId ) 
+    : iScriptId( aScriptId )
+    {
+    FUNC_LOG;
+    }
+
+// -----------------------------------------------------------------------------
+// CCFScriptEvent::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CCFScriptEvent::ConstructL( const TDesC& aIdentifier, 
+    const RKeyValueArray& aParameters )
+    {
+    FUNC_LOG;
+
+    iIdentifier = aIdentifier.AllocL();
+
+    for ( TInt i = 0; i < aParameters.Count(); ++i )
+        {
+        iParameters.AppendL( aParameters[ i ] );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CCFScriptEvent::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CCFScriptEvent* CCFScriptEvent::NewL( const TInt& aScriptId, 
+    const RKeyValueArray& aParameters, 
+    const TDesC& aIdentifier )
+    {
+    FUNC_LOG;
+
+    CCFScriptEvent* event 
+        = CCFScriptEvent::NewLC( aScriptId, aParameters, aIdentifier );
+    CleanupStack::Pop( event );
+    return event;
+    }
+
+// -----------------------------------------------------------------------------
+// CCFScriptEvent::NewLC
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CCFScriptEvent* CCFScriptEvent::NewLC( const TInt& aScriptId, 
+    const RKeyValueArray& aParameters, 
+    const TDesC& aIdentifier )
+    {
+    FUNC_LOG;
+
+    CCFScriptEvent* event = new( ELeave ) CCFScriptEvent( aScriptId );
+    CleanupStack::PushL( event );
+    event->ConstructL( aIdentifier, aParameters );
+    return event;
+    }
+
+// Destructor
+CCFScriptEvent::~CCFScriptEvent()
+    {
+    FUNC_LOG;
+
+    iParameters.Close(); // Content is not owned.
+    delete iIdentifier;
+    }
+
+// -----------------------------------------------------------------------------
+// CCFScriptEvent::ScriptId
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt CCFScriptEvent::ScriptId() const
+    {
+    FUNC_LOG;
+
+    return iScriptId;
+    }
+
+// -----------------------------------------------------------------------------
+// CCFScriptEvent::Identifier
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TPtrC CCFScriptEvent::Identifier() const
+    {
+    FUNC_LOG;
+
+    return TPtrC( *iIdentifier );
+    }
+
+// -----------------------------------------------------------------------------
+// CCFScriptEvent::Parameters
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const RKeyValueArray& CCFScriptEvent::Parameters() const
+    {
+    FUNC_LOG;
+
+    return iParameters;
+    }