--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/javaextensions/wma/mms/src.s60/cmmsmessageattachment.h Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,220 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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: ?Description
+ *
+*/
+
+
+#ifndef _CMMS_MESSAGE_ATTACHMENT_H
+#define _CMMS_MESSAGE_ATTACHMENT_H
+
+// INCLUDES
+#include <e32base.h>
+#include <f32file.h>
+
+namespace java
+{
+namespace wma
+{
+_LIT(KTempMmsAttachmentName, "midp_wma20_attachment");
+_LIT(KTempDriveExt, ":\\");
+
+/**
+ * Class to store the attachment data on the native side
+ * 1. Attachment data
+ * 2. Attach data type
+ * 3. Content Id
+ * 4. Content location
+ * 5. IsStarterId
+ * 6. Attchment Character encoding
+ * 7. Attachment size
+ *
+ * @lib hmidpS60v30.lib on wins/winscw and midp2.exe
+ * @since Series 60 3.0
+ */
+
+class CMMSMessageAttachment: public CBase
+{
+public:
+ /**
+ * Create the Java counter part of MessagePart.
+ * @since Series 60 3.0
+ * @param aRFs
+ * @param aDataArray: data of the message part
+ * @param aAttachmentType: data type (attachment type)
+ * @param aContentId: Content Id of the data
+ * @param aLocation: lovcation of the data
+ * @param aValue: Message is from java side to native side or
+ * other way arround.
+ * @return newly created CMIDMessageAttachment
+ */
+ static CMMSMessageAttachment* NewL(RFs& aRFs, const TDesC8& aDataArray,
+ const TDesC8& aAttachmentType, const TDesC8& aContentId,
+ const TDesC8& aLocation, TInt aAttachmentNameOrData = TRUE);
+ /**
+ * Destructor of the CMIDMEssageAttachment.
+ * @since Series 60 3.0
+ *
+ * @return
+ */
+ ~CMMSMessageAttachment();
+
+ /**
+ * Set the character encoding of MessagePart.
+ * @since Series 60 3.0
+ * @param aEncoding Character encoding as TUint
+ *
+ * @return
+ */
+ void SetEncoding(TUint aEncoding);
+ /**
+ * Get the character encoding of MessagePart.
+ * @since Series 60 3.0
+ *
+ * @return the character encoding of MessagePart
+ */
+ TInt Encoding();
+ /**
+ * Get the mime type of MessagePart (attachment).
+ * @since Series 60 3.0
+ *
+ * @return the mime type of MessagePart (attachment).
+ */
+ TDesC8& AttachmentType();
+ /**
+ * Get the data of MessagePart (attachment).
+ * @since Series 60 3.0
+ *
+ * @return the data of MessagePart (attachment).
+ */
+ TDesC8& AttachmentData();
+ /**
+ * Get the value of starter contentId of MessagePart (attachment).
+ * @since Series 60 3.0
+ *
+ * @return if the messge part is starter content Id it will
+ true orther wise false.
+ */
+ TInt IsStarterContentId();
+ /**
+ * Set the value of starter contentId of MessagePart (attachment).
+ * @since Series 60 3.0
+ *
+ * @return
+ */
+ void SetStarterContentId(TInt aValue = FALSE);
+ /**
+ * Get the contentId of MessagePart (attachment).
+ * @since Series 60 3.0
+ *
+ * @return content Id
+ */
+ TDesC8& ContentIdL();
+ /**
+ * Get the location of MessagePart (attachment).
+ * @since Series 60 3.0
+ *
+ * @return content Id
+ */
+ TDesC8& ContentLocationL();
+ /**
+ * When sending messages from Java side to native side.
+ * We are saving the attachment on the D drive in temp folder.
+ * Get the name of that temp file contain data of MessagePart
+ * (attachment).
+ * @since Series 60 3.0
+ *
+ * @return temp file name
+ */
+ // required in client connection
+ TDesC& AttachmentName();
+
+private:
+ /**
+ * private constructor of CMIDMessageAttachment
+ * C++ default constructor.
+ * @since Series 60 3.0
+ * @param aRFs
+ * @return temp file name
+ */
+ CMMSMessageAttachment(RFs& aRFs);
+ /**
+ * default Symbian 2nd phase constructor.
+ * @since Series 60 3.0
+ * @param aDataArray: data of the message part
+ * @param aAttachmentType: data type (attachment type)
+ * @param aContentId: Content Id of the data
+ * @param aLocation: lovcation of the data
+ * @param aValue: Message is from java side to native side or
+ * other way arround.
+ * @return
+ */
+ void ConstructL(const TDesC8& aDataArray, const TDesC8& aAttachmentType,
+ const TDesC8& aContentId, const TDesC8& aLocation,
+ TInt aAttachmentNameOrData);
+
+ /**
+ * Set the contentlocation of the MessagePart (Attachment)
+ * @since Series 60 3.0
+ * @param aLocation
+ * @return
+ */
+ void SetContentLocationLC(const TDesC8& aLocation);
+ /**
+ * Set the contentId of the MessagePart (Attachment)
+ * @since Series 60 3.0
+ * @param aContentId
+ * @return
+ */
+ void SetContentIdLC(const TDesC8& aContentId);
+ /**
+ * Set the mime type of the MessagePart (Attachment)
+ * @since Series 60 3.0
+ * @param aAttachmentType
+ * @return
+ */
+ void SetAttchmentTypeLC(const TDesC8& aAttachmentType);
+
+private:
+ /*
+ * own the mAttachmentNameWithPath
+ */
+ TFileName *mAttachmentNameWithPath;
+ /*
+ * own the mAttachmentTypeBuf8
+ */
+ TDesC8* mAttachmentTypeBuf8;
+ /*
+ * own the mAttachmentData8
+ */
+ TDesC8* mAttachmentData8;
+ /*
+ * own the mContantId8
+ */
+ HBufC8* mContantId8;
+ /*
+ * own the mContantLocation8
+ */
+ HBufC8* mContantLocation8;
+
+ TInt mEncoding;
+ //Handle to fileserver
+ RFs& mRFs;
+ //
+ TInt mIsStarterContentId;
+};
+} //namespace wma
+} //namespace java
+
+#endif