--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mobilemessaging/audiomsg/inc/audiomessagesendoperation.h Thu Dec 17 08:44:11 2009 +0200
@@ -0,0 +1,150 @@
+/*
+* Copyright (c) 2005-2006 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 that handles sending operations
+*
+*/
+
+
+
+#ifndef __AUDIOMESSAGESENDOPERATION_H
+#define __AUDIOMESSAGESENDOPERATION_H
+
+#include "audiomessageoperation.h"
+#include "audiomessagedocument.h"
+#include "audiomessagesaveoperation.h"
+class CUniAddressHandler;
+
+
+/**
+ * class for sending
+ *
+ * @lib audiomessage.exe
+ * @since S60 v3.1
+ */
+class CAudioMessageSendOperation : public CAudioMessageOperation,
+ public MAmsOperationObserver
+ {
+ protected: // data
+
+ enum TAmsSendState
+ {
+ EAmsSendRemoveDuplicateAddresses,
+ EAmsSendSave,
+ EAmsSendMtmSend,
+ EAmsSendEnd
+ };
+
+ public: // New methods
+
+ /**
+ * Factory method that creates this object.
+ *
+ * @param aAddressCtrl
+ * @param aObserver
+ * @param aDocument
+ * @param aView
+ * @param aFs
+ * @return Pointer to instance in cleanup stack
+ */
+ static CAudioMessageSendOperation* NewL(
+ CMsgAddressControl& aAddressCtrl,
+ CUniAddressHandler& aAddressHandler,
+ MAmsOperationObserver& aObserver,
+ CAudioMessageDocument& aDocument,
+ CMsgEditorView& aView );
+
+ /**
+ * Destructor
+ */
+ virtual ~CAudioMessageSendOperation();
+
+ /**
+ * Initializes the iSendState, then completes
+ */
+ void Send();
+
+ protected: // From CActive
+ void RunL();
+ void DoCancel();
+
+ // From MAmsOperationObserver
+ protected:
+ void EditorOperationEvent(
+ TAmsOperationType aOperation,
+ TAmsOperationEvent aEvent );
+
+ private:
+
+ /**
+ * Constructor.
+ */
+ CAudioMessageSendOperation(
+ CMsgAddressControl& aAddressCtrl,
+ CUniAddressHandler& aAddressHandler,
+ MAmsOperationObserver& aObserver,
+ CAudioMessageDocument& aDocument,
+ CMsgEditorView& aView );
+
+ /**
+ * 2nd phase constructor.
+ */
+ void ConstructL();
+
+ /**
+ * Called by RunL.
+ * Calls different functions according to iSendStep
+ */
+ void DoSendStepL();
+
+ /**
+ * Removes dublicates off
+ */
+ void DoRemoveDuplicateAddressesL();
+
+ /**
+ * Saves
+ */
+ void DoSave();
+
+ /**
+ * Sends
+ */
+ void DoSendL();
+
+ protected: // data
+
+ CMsgAddressControl& iAddressCtrl;
+ CUniAddressHandler& iAddressHandler;
+
+ CMsgEditorView& iView;
+ /**
+ * pointer to sendoperation
+ * Own.
+ */
+ CAudioMessageSaveOperation* iSaveOperation;
+
+ /**
+ * pointer to sendoperation
+ * Own.
+ */
+ CMsvOperation* iMtmSendOperation;
+
+ TAmsSendState iSendState;
+
+ };
+
+#endif // __AUDIOMESSAGESENDOPERATION_H
+
+
+