sysstatemgmt/systemstatereferenceplugins/custcmd/inc/cmdpublishsimownedandchanged.h
changeset 0 4e1aa6a622a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sysstatemgmt/systemstatereferenceplugins/custcmd/inc/cmdpublishsimownedandchanged.h	Tue Feb 02 00:53:00 2010 +0200
@@ -0,0 +1,87 @@
+// Copyright (c) 2008-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:
+//
+
+/**
+ @file
+ @internalComponent
+ @released
+*/
+
+#ifndef __CMDPUBLISHSIMOWNEDANDCHANGED_H__
+#define __CMDPUBLISHSIMOWNEDANDCHANGED_H__
+
+#include <etelmm.h>
+#include <ssm/ssmcustomcommand.h>
+#include <ssm/ssmadaptationcli.h>
+
+NONSHARABLE_CLASS (CCustomCmdPublishSimOwnedAndChanged) : public CActive, public MSsmCustomCommand
+	{
+public:
+	static CCustomCmdPublishSimOwnedAndChanged* NewL();
+
+	// from MSsmcustomCommand
+	TInt Initialize(CSsmCustomCommandEnv* aCmdEnv);
+	void Execute(const TDesC8& aParams, TRequestStatus& aStatus);
+	void Close();
+	void Release();
+	void ExecuteCancel();
+
+protected:
+	// from CActive
+	void RunL();
+	void DoCancel();
+	TInt RunError(TInt aError);
+
+private:
+	CCustomCmdPublishSimOwnedAndChanged();
+	~CCustomCmdPublishSimOwnedAndChanged();
+	void ConstructL();
+	void CompleteClientRequest(TInt aReason);
+
+	void SimOwned();
+	void SimChanged();
+	
+	void ReadAndUpdateStoredImsiL(RMobilePhone::TMobilePhoneSubscriberId& aReadValue,
+	    const RMobilePhone::TMobilePhoneSubscriberId aUpdateValue);
+	TInt CompareToLastStoredImsi(const RMobilePhone::TMobilePhoneSubscriberId aNewValue);
+#ifdef TEST_CUSTCMD_MACRO
+    friend class CCustomCmdTestPublishSimOwnedAndChanged;
+#endif
+private:
+	enum TPublishSimOwnedAndChangedState
+		{
+		EPublishSimOwnedAndChangedIdle = 0,
+		EPublishSimOwned,
+		EPublishSimChanged,
+		};
+
+	RSsmSimAdaptation iSsmSimAdaptation;
+	TPublishSimOwnedAndChangedState iState;
+	TRequestStatus* iExecuteRequest;
+	TPckgBuf<TBool> iBooleanPckg;
+
+	// Session with telephony server
+    RTelServer iServer;
+
+    // Phone sub-session handle
+    RMobilePhone iPhone;
+
+    //Value received from Etel will be stored here
+    RMobilePhone::TMobilePhoneSubscriberId iSubscriberId;
+    HBufC* iTsyModuleName;
+
+	};
+
+#endif // __CMDPUBLISHSIMOWNEDANDCHANGED_H__