devicediagnosticsfw/diagresultsdb/client/src/diagresultsdbrecordengineparam.cpp
changeset 0 b497e44ab2fc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/devicediagnosticsfw/diagresultsdb/client/src/diagresultsdbrecordengineparam.cpp	Thu Dec 17 09:07:52 2009 +0200
@@ -0,0 +1,194 @@
+/*
+* Copyright (c) 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:  Class definition of CDiagResultsDbRecordEngineParam
+*
+*/
+
+
+#include <s32std.h> 
+
+#include "diagresultsdbrecordengineparam.h"
+
+
+// ---------------------------------------------------------------------------
+// NewL.Used when creating the object from a stream that contains the
+// serialized object.
+// ---------------------------------------------------------------------------
+//        
+EXPORT_C CDiagResultsDbRecordEngineParam* CDiagResultsDbRecordEngineParam::NewL (
+                                        RReadStream& aStream )
+    {
+    CDiagResultsDbRecordEngineParam* self = 
+                     new( ELeave ) CDiagResultsDbRecordEngineParam();
+    
+    CleanupStack::PushL( self );
+    self->ConstructL( aStream );
+    CleanupStack::Pop();
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// NewL
+// ---------------------------------------------------------------------------
+//  
+EXPORT_C CDiagResultsDbRecordEngineParam* CDiagResultsDbRecordEngineParam::NewL
+                                            ( 
+                                            RArray<TUid>*   aInitialUids,
+                                            TBool           aDependencyExecution
+                                            )
+    {
+    CDiagResultsDbRecordEngineParam* self = 
+                     new( ELeave ) CDiagResultsDbRecordEngineParam( 
+                                                        aInitialUids, 
+                                                        aDependencyExecution );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+    
+
+
+// ---------------------------------------------------------------------------
+// NewLC.
+// ---------------------------------------------------------------------------
+//   
+EXPORT_C CDiagResultsDbRecordEngineParam* CDiagResultsDbRecordEngineParam::NewLC (
+                                          RArray<TUid>*   aInitialUids,
+                                          TBool           aDependencyExecution
+                                          )
+    {
+    CDiagResultsDbRecordEngineParam* self = 
+                                new( ELeave ) CDiagResultsDbRecordEngineParam( 
+                                        aInitialUids, 
+                                        aDependencyExecution );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// ConstructL.
+// ---------------------------------------------------------------------------
+//
+void CDiagResultsDbRecordEngineParam::ConstructL ( RReadStream& aStream )
+    {
+    InternalizeL( aStream );
+    }
+    
+// ---------------------------------------------------------------------------
+// ConstructL.
+// ---------------------------------------------------------------------------
+//
+void CDiagResultsDbRecordEngineParam::ConstructL ()
+    {
+    if ( !iExecutionUids )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    }
+    
+  
+// ---------------------------------------------------------------------------
+// Destructor.
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CDiagResultsDbRecordEngineParam::~CDiagResultsDbRecordEngineParam()
+    {
+    iExecutionUids->Close();
+    delete iExecutionUids;
+    iExecutionUids = NULL;
+    }
+
+// ---------------------------------------------------------------------------
+// C++ default constructor.
+// ---------------------------------------------------------------------------
+//    
+CDiagResultsDbRecordEngineParam::CDiagResultsDbRecordEngineParam()
+    {
+    
+    }
+
+// ---------------------------------------------------------------------------
+// Return execution uid array.
+// ---------------------------------------------------------------------------
+//   
+EXPORT_C const RArray<TUid>& CDiagResultsDbRecordEngineParam::ExecutionsUidArray() const
+    {
+    return *iExecutionUids;
+    }
+    
+// ---------------------------------------------------------------------------
+// Return dependency execution.
+// ---------------------------------------------------------------------------
+//       
+EXPORT_C TBool CDiagResultsDbRecordEngineParam::DependencyExecution() const
+    {
+    return iDependencyExecution;
+    }
+    
+// ---------------------------------------------------------------------------
+// Externalize this object into a stream.
+// ---------------------------------------------------------------------------
+//  
+EXPORT_C void CDiagResultsDbRecordEngineParam::ExternalizeL(
+                                             RWriteStream& aStream ) const
+    {
+    aStream.WriteInt16L( iExecutionUids->Count() );
+    
+    for (TInt i=0; i < iExecutionUids->Count(); ++i )
+        {
+        aStream.WriteInt32L( (*iExecutionUids)[i].iUid );
+        }
+        
+    aStream.WriteUint8L ( iDependencyExecution );   
+    }
+
+
+// ---------------------------------------------------------------------------
+// Internalize the object from a stream.
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CDiagResultsDbRecordEngineParam::InternalizeL( RReadStream& aStream )
+    {
+    iExecutionUids = new (ELeave) RArray<TUid>(10);
+    
+    TInt length = aStream.ReadInt16L();
+    
+    for ( TInt i=0; i < length; ++i )
+        {
+        
+        iExecutionUids->AppendL( TUid::Uid( aStream.ReadInt32L() ) );
+        }
+    
+    iDependencyExecution = aStream.ReadUint8L();     
+    }
+
+
+// ---------------------------------------------------------------------------
+// Constructor.
+// ---------------------------------------------------------------------------
+//
+CDiagResultsDbRecordEngineParam::CDiagResultsDbRecordEngineParam (
+                                RArray<TUid>*   aInitialUids,
+                                TBool           aDependencyExecution )
+    {
+    iExecutionUids = aInitialUids;
+    iDependencyExecution = aDependencyExecution;
+    }
+    
+  
+    
+