cbsref/telephonyrefplugins/atltsy/atcommand/callcontrol/inc/athangupcommandrecords.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cbsref/telephonyrefplugins/atltsy/atcommand/callcontrol/inc/athangupcommandrecords.h Tue Aug 31 16:23:08 2010 +0300
@@ -0,0 +1,112 @@
+// 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:
+// Record the infomation related to hangup commands
+
+#ifndef ATHANGUPCOMMANDRECORDS_H_
+#define ATHANGUPCOMMANDRECORDS_H_
+
+//system include
+#include <e32base.h>
+#include <e32cmn.h>
+
+/**
+ * Hand up command information
+ *
+ */
+class TATHanupCommandInfo
+ {
+public:
+ TATHanupCommandInfo();
+ TInt iCallId;
+ TInt iHangupCause;
+ };
+
+/**
+ * Hang up command information records
+ */
+class CATHangupCommandRecords : public CBase
+ {
+public:
+
+ /**
+ * Factory fucntion
+ */
+ static CATHangupCommandRecords* NewL();
+
+ /**
+ * Factory function
+ *
+ */
+ static CATHangupCommandRecords* NewLC();
+
+ /**
+ * Destructor
+ *
+ */
+ virtual ~CATHangupCommandRecords();
+
+ /**
+ * Add hanup information
+ */
+ TInt AddHangupCommandInfo(TInt aCallId, TInt aHangupCase);
+
+ /**
+ * KErrNone get command info
+ * KErrNotFound not get command info
+ * and then remove this info from the array
+ */
+ TInt GetFirstHangupCommandInfoAndRemoveIt(TATHanupCommandInfo& aInfo);
+
+ /**
+ * Mark there is one hanup active command
+ */
+ void SetHangupActiveFlag(TBool aIsActive);
+
+ /**
+ * Retrieve the flag of current hangup command
+ *
+ * @return The ETrue if there is one acitve hangup command active, EFalase otherwise
+ */
+ TBool GetHangupActiveFlag() const;
+
+ /**
+ * Check if there are any hangup command in this store
+ */
+ TBool IsHaveRecords() const;
+
+protected:
+
+ /**
+ * Constructor
+ */
+ CATHangupCommandRecords();
+
+ /**
+ * 2nd structor
+ */
+ void ConstructL();
+
+private:
+ /**
+ * Flag of active hangup command
+ */
+ TBool iHangupActive;
+
+ /**
+ * Store the hangup command info
+ */
+ RArray<TATHanupCommandInfo> iHangupInfoArray;
+ };
+
+#endif /*ATHANGUPCOMMANDRECORDS_H_*/