messagingapp/msgui/msguiutils/tsrc/unittest_msguiutils/mmstestbed/inc/mmsreadfile.h
author hgs
Tue, 31 Aug 2010 18:53:38 +0530
changeset 56 f42d9a78f435
permissions -rw-r--r--
201033_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
56
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     1
/*
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     2
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     3
 * All rights reserved.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     8
 *
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     9
 * Initial Contributors:
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    11
 *
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    12
 * Contributors:
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    13
 *
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    14
 * Description:
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    15
 */
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    16
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    17
#ifndef MMSREADFILE_H
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    18
#define MMSREADFILE_H
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    19
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    20
//  INCLUDES
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    21
#include <e32base.h>
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    22
#include <badesca.h>
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    23
#include <f32file.h>
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    24
#include <msvstd.h>
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    25
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    26
// forward references
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    27
class CMmsAttaStructure;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    28
class CMmsHeaders;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    29
class CEikonEnv;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    30
class CMmsClientMtm;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    31
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    32
// Out-of-range value for any MMS header with assigned number
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    33
// Used in coverage tests to get coverage for "default" branches
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    34
// in "case" statements.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    35
const TInt KMmsTestIllegalValue = 255;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    36
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    37
//
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    38
// TEST KEY WORDS
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    39
// Extended to include all MMS headers to allow generation of arbitrary PDUs
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    40
// Content type header cannot be separately defined,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    41
// it will always be "multipat/mixed" or "multipart/related"
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    42
_LIT8( KTestEndOfFile,          "EOF" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    43
_LIT8( KTestNewMessage,         "MESSAGE BEGIN" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    44
//------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    45
_LIT8( KTestMessageType,        "MESSAGE-TYPE" ); //X-Mms-Message-Type
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    46
_LIT8( KTestDate,               "DATE" ); // Date
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    47
_LIT8( KTestFrom,               "FROM" ); // From
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    48
_LIT8( KTestTo,                 "TO" ); // To
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    49
_LIT8( KTestCc,                 "CC" ); // Cc
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    50
_LIT8( KTestBcc,                "BCC" ); // Bcc
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    51
_LIT8( KTestSubject,            "SUBJECT" ); // Subject
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    52
_LIT8( KTestExpiryRel,          "EXPIRY-REL" ); // X-Mms-Expiry, relative
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    53
_LIT8( KTestExpiryAbs,          "EXPIRY-ABS" ); // X-Mms-Expiry, absolute
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    54
_LIT8( KTestDeliveryTimeRel,    "DELIVERY-TIME-REL" ); // X-Mms-Delivery-Time, relative
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    55
_LIT8( KTestDeliveryTimeAbs,    "DELIVERY-TIME-ABS" ); // X-Mms-Delivery-Time, absolute
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    56
_LIT8( KTestPriority,           "PRIORITY" ); // X-Mms-Priority
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    57
_LIT8( KTestSenderVisibility,   "SENDER-VISIBILITY" ); // X-Mms-Sender-Visibility
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    58
_LIT8( KTestDeliveryReport,     "DELIVERY-REPORT" ); // X-Mms-Delivery-Report
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    59
_LIT8( KTestReadReply,          "READ-REPLY" ); // X-Mms-Read-Report
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    60
// ---------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    61
_LIT8( KTestNewAttachment,      "ATTACHMENT" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    62
_LIT8( KTestAttachmentType,     "ATTACHMENTTYPE" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    63
_LIT8( KTestAttachmentName,     "ATTACHMENTNAME" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    64
_LIT8( KTestAttachmentContLoc,  "ATTACHMENTCONTLOC" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    65
_LIT8( KTestAttachmentCharset,  "ATTACHMENTCHARSET" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    66
_LIT8( KTestAttachmentCid,      "ATTACHMENTCID" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    67
_LIT8( KTestAttachmentRoot,     "ATTACHMENTROOT" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    68
// content-type and x-type parameters for attachments
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    69
// should appear in name-value pairs.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    70
// Test program is not responsible for verifying illegal scripts
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    71
_LIT8( KTestAttContTypeParamName, "ContTypeParamName" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    72
_LIT8( KTestAttContTypeParamValue, "ContTypeParamValue" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    73
_LIT8( KTestAttXTypeParamName, "X-TypeParamName" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    74
_LIT8( KTestAttXTypeParamValue, "X-TypeParamValue" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    75
// -----------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    76
_LIT8( KTestMessageClass,       "MESSAGE-CLASS" ); // X-Mms-Message-Class
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    77
_LIT8( KTestDelivRepSendAllow,  "DELIV-REP-SEND-ALLOW" ); // X-Mms-Report-Allowed
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    78
_LIT8( KTestAcceptAdvertis,     "ACCEPT-ADVERTISEMENTS" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    79
_LIT8( KTestRetryCount,         "RETRY-COUNT" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    80
_LIT8( KTestRetryInterval,      "RETRY-INTERVAL" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    81
// -------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    82
_LIT8( KTestAlias,				"ALIAS" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    83
_LIT8( KTestFromAlias,			"FROMALIAS" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    84
_LIT8( KTestToAlias,			"TOALIAS" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    85
_LIT8( KTestCcAlias,			"CCALIAS" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    86
_LIT8( KTestBccAlias,			"BCCALIAS" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    87
// -------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    88
// more Message headers to allow testing all possible PDUs and
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    89
// MMS 1.1 headers
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    90
_LIT8( KTestReplyCharging,      "REPLY-CHARGING" ); // X-Mms-Reply-Charging
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    91
_LIT8( KTestReplyChargAbs,      "REPLY-CHARG-DEADLINE-ABS" ); // X-Mms-Reply-Charging, absolute
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    92
_LIT8( KTestReplyChargRel,      "REPLY-CHARG-DEADLINE-REL" ); // X-Mms-Reply-Charging, relative
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    93
_LIT8( KTestReplyChargSize,     "REPLY-CHARG-SIZE" ); // X-Mms-Reply-Charging-Size (octets)
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    94
_LIT8( KTestReplyChargID,       "REPLY-CHARGING-ID" ); // X-Mms-Reply-Charging-ID
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    95
_LIT8( KTestTID,                "TID" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    96
_LIT8( KTestContentLocation,    "CONTLOC" ); // X-Mms-Content-Location
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    97
// The following three must appear as triplets.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    98
// index must be first, address and date may appear in any order
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    99
_LIT8( KTestPreviouslySentIndex, "PREVIOUSINDEX" ); // forwarded count for X-Mms-PreviouslySent headers
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   100
_LIT8( KTestPreviouslySentBy,    "PREV-SENT-BY" ); // X-Mms-Previously-Sent-By
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   101
_LIT8( KTestPreviouslySentDate,  "PREV-SENT-DATE" ); // X-Mms-Previously-Sent-Date
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   102
//---
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   103
_LIT8( KTestMessageId,           "MESSAGE-ID" ); // Message-ID
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   104
_LIT8( KTestMessageSize,         "MESSAGE-SIZE" ); // X-Mms-Message-Size (octets)
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   105
_LIT8( KTestVersion,             "MMS-VERSION" ); // X-MMS-Version (hex:, 10 = 1.0, 11 = 1.1 etc. )
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   106
_LIT8( KTestReadStatus,          "READ-STATUS" ); // X-Mms-Read-Status
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   107
_LIT8( KTestResponseStatus,      "RESPONSE-STATUS" ); // X-Mms-Response-Status
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   108
_LIT8( KTestResponseText,        "RESPONSE-TEXT" ); // X-Mms-Response-Text
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   109
_LIT8( KTestRetrieveStatus,      "RETRIEVE-STATUS" ); // X-Mms-Retrieve-Status
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   110
_LIT8( KTestRetrieveText,        "RETRIEVE-TEXT" ); // X-Mms-Retrieve-Text
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   111
_LIT8( KTestStatus,              "STATUS" ); // X-Mms-Status
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   112
// -------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   113
// MMS 1.2 headers
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   114
_LIT8( KTestAttribute,          "ATTRIBUTE" ); // X-Mms-Attribute
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   115
// The value should be one of the following:
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   116
// BCC, CC, CONTENT, CONTENT-TYPE, DATE, DELIVERY-REPORT, DELIVERY-TIME-ABS,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   117
// EXPIRY-ABS, FROM, MESSAGE-CLASS, MESSAGE-ID, MESSAGE-SIZE, PRIORITY,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   118
// READ-REPLY, SUBJECT, TO, REPLY-CHARGING, REPLY-CHARGING-ID,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   119
// REPLY-CHARG-DEADLINE-ABS, REPLY-CHARG-SIZE, PREV-SENT-BY,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   120
// PREV-SENT-DATE, ADDITIONAL-HEADERS
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   121
_LIT8( KTestDistributionIndicator,  "DISTRIBUTION-INDICATOR" ); // X-Mms-Distribution-Indicator
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   122
_LIT8( KTestLimit,              "LIMIT" ); // X-Mms-Limit
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   123
_LIT8( KTestMessageQuota,       "MESSAGE-QUOTA" ); // X-Mms-Mbox-Quota, message number
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   124
_LIT8( KTestSizeQuota,          "SIZE-QUOTA" ); // X-Mms-Mbox-Quota, size quota
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   125
_LIT8( KTestMessageTotal,       "MESSAGE-TOTAL" ); // X-Mms-Mbox-Totals, message number
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   126
_LIT8( KTestSizeTotal,          "SIZE-TOTAL" ); // X-Mms-Mbox-Totals, total size
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   127
_LIT8( KTestMessageCount,       "MESSAGE-COUNT" ); // X-Mms-Message-Count
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   128
_LIT8( KTestAddKeyword,         "ADD-KEYWORD" ); // X-Mms-MM-Flags
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   129
_LIT8( KTestRemoveKeyword,      "REMOVE-KEYWORD" ); // X-Mms-MM-Flags
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   130
_LIT8( KTestFilterKeyword,      "FILTER-KEYWORD" ); // X-Mms-MM-FLags
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   131
_LIT8( KTestMMState,            "MESSAGE-STATE" ); // X-Mms-MM-State
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   132
_LIT8( KTestQuota,              "QUOTA" ); // X-Mms-Quotas
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   133
_LIT8( KTestStart,              "START" ); // X-Mms-Start
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   134
_LIT8( KTestStore,              "STORE" ); // X-Mms-Store
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   135
_LIT8( KTestStored,             "STORED" ); // X-Mms-Stored
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   136
_LIT8( KTestStoreStatus,        "STORE-STATUS" ); // X-Mms-Store-Status
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   137
_LIT8( KTestStoreStatusText,    "STORE-STATUS-TEXT" ); // X-Mms-Store-Status-Text
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   138
_LIT8( KTestTotals,             "TOTALS" ); // X-Mms-Totals
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   139
// Delete confirmation header structure
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   140
// This consists of index, content location, response status and response status text.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   141
// All three values are not always necessary for each index, but at least content-location
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   142
// and response status should be present.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   143
// The index retains its value until a new index is encountered.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   144
_LIT8( KTestDeleteInfoIndex,    "DELETESTATUSINDEX" ); // index for next delete info fields
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   145
// This header must precede content-location, response-status and response-text fields
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   146
// in a delete confirmation. Index retains its value until a new index is encountered.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   147
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   148
// Element descriptor header not implemented
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   149
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   150
// Application id headers
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   151
// These will officially be supported in MMS encapsulation version 1.3
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   152
// Java has non-standard support even earlier
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   153
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   154
_LIT8( KTestApplicId,            "APPLIC-ID" ); // X-Mms-Applic-ID
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   155
_LIT8( KTestReplyApplicId,       "REPLY-APPLIC-ID" ); // X-Mms-Reply-Applic-ID
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   156
_LIT8( KTestApplicInfo,          "AUX-APPLIC-INFO" ); // X-Mms-Aux-Applic-Info
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   157
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   158
// Since Encapsulation 1.3
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   159
_LIT8( KTestContentClass,        "CONTENT-CLASS" ); // X-Mms-Content-Class
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   160
_LIT8( KTestDrmContent,          "DRM-CONTENT" ); // X-Mms-DRM-Content
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   161
_LIT8( KTestAdaptationAllowed,   "ADAPTATION-ALLOWED" ); // X-Mms-Adaptation-Allowed
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   162
_LIT8( KTestRecommendedRetrievalMode, "REC-RETRIEVAL-MODE" ); // X-Mms-Recommended-Retrieval-Mode
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   163
_LIT8( KTestRecRetrievalModeText, "REC-RETR-MODE-TEXT" ); // X-Mms-Recommended-Retrieval-Mode-Text
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   164
_LIT8( KTestReplaceId,           "REPLACE-ID" ); // X-Mms-Replace-ID
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   165
_LIT8( KTestStatusText,          "STATUS-TEXT" ); // X-Mms-Status-Text
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   166
_LIT8( KTestCancelId,            "CANCEL-ID" ); // X-Mms-Cancel-ID
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   167
_LIT8( KTestCancelStatus,        "CANCEL-STATUS" ); // X-Mms-Cancel-Status
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   168
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   169
// DATA TYPES
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   170
#define aSet            1
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   171
#define aReset          0
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   172
#define PartCount      100
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   173
#define MaxAttaCount   10
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   174
#define DefaultBufLen 256
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   175
#define MaxRecipients   5
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   176
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   177
// status returned by ReadRow
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   178
enum TTestReadStatus
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   179
    {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   180
    ETestUnknown,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   181
    ETestNewMessage,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   182
    ETestNewAttachment,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   183
    ETestEof,    // End of file
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   184
    ETestMessageType,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   185
    ETestDate,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   186
    ETestFrom,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   187
    ETestTo,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   188
    ETestCc,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   189
    ETestBcc,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   190
	ETestAlias,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   191
	ETestFromAlias,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   192
	ETestToAlias,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   193
	ETestCcAlias,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   194
	ETestBccAlias,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   195
    ETestSubject,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   196
    ETestExpiryRel,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   197
    ETestExpiryAbs,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   198
    ETestDeliveryTimeRel,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   199
    ETestDeliveryTimeAbs,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   200
    ETestPriority,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   201
    ETestSenderVisibility,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   202
    ETestDeliveryReport,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   203
    ETestReadReply,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   204
    ETestAttachmentType,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   205
//    ETestAttachmentName,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   206
    ETestAttachmentCharset,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   207
    ETestAttachmentCid,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   208
	ETestAttachmentRoot,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   209
    ETestSettings,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   210
    ETestMessageClass,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   211
    ETestDelivReportSendAllow,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   212
    ETestSingleMessageClass,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   213
    ETestReplyCharging,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   214
    ETestReplyChargAbs,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   215
    ETestReplyChargRel,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   216
    ETestReplyChargSize,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   217
    ETestReplyChargID,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   218
    ETestTID,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   219
    ETestContentLocation,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   220
    ETestPreviouslySentIndex,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   221
    ETestPreviouslySentBy,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   222
    ETestPreviouslySentDate,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   223
    ETestMessageId,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   224
    ETestMessageSize,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   225
    ETestVersion,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   226
    ETestReadStatus,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   227
    ETestResponseStatus,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   228
    ETestResponseText,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   229
    ETestRetrieveStatus,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   230
    ETestRetrieveText,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   231
    ETestStatus,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   232
    ETestAttribute,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   233
    ETestDistributionIndicator,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   234
    ETestLimit,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   235
    ETestMessageQuota,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   236
    ETestSizeQuota,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   237
    ETestMessageTotal,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   238
    ETestSizeTotal,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   239
    ETestMessageCount,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   240
    ETestAddKeyword,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   241
    ETestRemoveKeyword,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   242
    ETestFilterKeyword,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   243
    ETestMMState,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   244
    ETestQuota,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   245
    ETestStart,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   246
    ETestStore,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   247
    ETestStored,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   248
    ETestStoreStatus,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   249
    ETestStoreStatusText,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   250
    ETestTotals,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   251
    ETestDeleteInfoIndex,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   252
    ETestApplicId,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   253
    ETestReplyApplicId,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   254
    ETestApplicInfo,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   255
    ETestContentClass,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   256
    ETestDrmContent,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   257
    ETestAdaptationAllowed,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   258
    ETestRecommendedRetrievalMode,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   259
    ETestRecRetrievalModeText,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   260
    ETestReplaceId,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   261
    ETestStatusText,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   262
    ETestCancelId,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   263
    ETestCancelStatus,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   264
    ETestAttaRecommendedName,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   265
    ETestAttachmentContLoc,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   266
    ETestAttContTypeParamName,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   267
    ETestAttContTypeParamValue,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   268
    ETestAttXTypeParamName,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   269
    ETestAttXTypeParamValue
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   270
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   271
    };
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   272
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   273
// VALUE KEYWORDS
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   274
_LIT( KPersonal,      "Personal" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   275
_LIT( KAdvertisement, "Advertisement" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   276
_LIT( KInformational, "Informational" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   277
_LIT( KAuto,          "Auto" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   278
_LIT( KLow,    "Low" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   279
_LIT( KNormal, "Normal" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   280
_LIT( KHigh,   "High" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   281
_LIT( KHide,   "Hide" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   282
_LIT( KShow,   "Show" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   283
_LIT( KYes,    "Yes" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   284
_LIT( KNo,     "No" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   285
_LIT( KOn,     "On" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   286
_LIT( KOff,     "Off" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   287
_LIT( KDeferred, "Deferred" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   288
_LIT( KExpired,  "Expired" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   289
_LIT( KRetrieved, "Retrieved" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   290
_LIT( KRejected, "Rejected" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   291
_LIT( KUnrecognized, "Unrecognized" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   292
_LIT( KIndeterminate, "Indeterminate" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   293
_LIT( KForwarded, "Forwarded" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   294
_LIT( KUnreachable, "Unreachable" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   295
_LIT( KDraft, "Draft");
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   296
_LIT( KSent, "Sent" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   297
_LIT( KNew, "New" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   298
// X-Mms-Message-Type
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   299
_LIT( KSendReq, "SendReq" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   300
_LIT( KSendConf, "SendConf" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   301
_LIT( KNotifInd, "NotifInd" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   302
_LIT( KNotifResp, "NotifResp" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   303
_LIT( KRetrConf, "RetrConf" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   304
_LIT( KAckInd, "AckInd" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   305
_LIT( KDelInd, "DelInd" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   306
_LIT( KReadReqInd, "ReadReqInd" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   307
_LIT( KReadOrigInd, "ReadOrigInd" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   308
_LIT( KForwardRec, "ForwardReq" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   309
_LIT( KForwardConf, "ForwardConf" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   310
_LIT( KMBoxStoreReq, "MBoxStoreReq" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   311
_LIT( KMBoxStoreConf, "MBoxStoreConf" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   312
_LIT( KMBoxViewReq, "MBoxViewReq" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   313
_LIT( KMBoxViewConf, "MBoxViewConf" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   314
_LIT( KMBoxUploadReq, "MBoxUploadReq" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   315
_LIT( KMBoxUploadConf, "MBoxUploadConf" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   316
_LIT( KMBoxDeleteReq, "MBoxDeleteReq" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   317
_LIT( KMBoxDeleteConf, "MBoxDeleteConf" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   318
_LIT( KMBoxDescr, "MBoxDescr" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   319
_LIT( KDeleteReq, "DeleteReq" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   320
_LIT( KDeleteConf, "DeleteConf" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   321
_LIT( KCancelReq, "CancelReq" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   322
_LIT( KCancelResp, "CancelConf" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   323
// X-Mms-Read-Status
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   324
_LIT( KRead, "Read" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   325
_LIT( KDelNotRead, "DeletedNotRead" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   326
// X-Mms-Reply-Charging
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   327
_LIT( KRequested, "Requested" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   328
_LIT( KReqTextOnly, "ReqTextOnly" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   329
_LIT( KAccepted, "Accepted" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   330
_LIT( KAccTextOnly, "AccTextOnly" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   331
// X-Mms-Cancel-Status (only receival of request, not actual cancellation)
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   332
_LIT( KCancelSuccessful, "CancelSuccess" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   333
_LIT( KCancelCorrupted, "CancelCorrupted" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   334
// X-Mms-Content-Class
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   335
_LIT( KText, "Text" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   336
_LIT( KImageBasic, "ImageBasic" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   337
_LIT( KImageRich, "ImageRich" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   338
_LIT( KVideoBasic, "VideoBasic" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   339
_LIT( KVideoRich, "VideoRich" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   340
_LIT( KMegaPixel, "MegaPixel" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   341
_LIT( KContentBasic, "ContentBasic" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   342
_LIT( KContentRich, "ContentRich" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   343
// X-Mms-Recommended-Retrieval-Mode
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   344
_LIT( KManual, "Manual" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   345
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   346
//X-Mms-ResponseStatus
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   347
// legacy values
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   348
_LIT( KOk, "OK" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   349
_LIT( KErrUnspecified, "Unspecified" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   350
_LIT( KErrServiceDenied, "ServiceDenied" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   351
_LIT( KErrMessageFormatCorrupt, "FormatCorrupt" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   352
_LIT( KErrAddressUnresolved, "AddressUnresolved" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   353
_LIT( KErrMessageNotFound, "MessageNotFound" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   354
_LIT( KErrNetworkProblem, "NetworkProblem" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   355
_LIT( KErrContentNotAccepted, "ContentNotAccepted" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   356
_LIT( KErrUnsupportedMessage, "UnsupportedMessage" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   357
// values since 1.1 (and 1.2)
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   358
_LIT( KErrTransient, "TransientFailure" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   359
_LIT( KErrTransientAddressUnresolved, "TransientAddressUnresolved" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   360
_LIT( KErrTransientNotFound, "TransientMessageNotFound" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   361
_LIT( KErrTransientNetworkproblem, "TransientNetworkProblem" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   362
_LIT( KErrTransientPartialSuccess, "PartialSuccess" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   363
_LIT( KErrPermanent, "PermanentFailure" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   364
_LIT( KErrPermanentServiceDenied, "PermanentServiceDenied" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   365
_LIT( KErrPermanentMessageFormatCorrupt, "PermanentFormatCorrupt" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   366
_LIT( KErrPermanentAddressUnresolved, "PermanentAddressUnresolved" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   367
_LIT( KErrPermanentNotFound, "PermanentMessageNotFound" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   368
_LIT( KErrPermanentContentNotAccepted, "PermanentContentNotAccepted" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   369
_LIT( KErrReplyChargingLimitNotMet, "ReplyChargingLimitNotMet" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   370
_LIT( KErrReplyChargingRequestNotAccepted, "ReplyChargingRequestNotAccepted" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   371
_LIT( KErrReplyChargingForwardingDenied, "ReplyChargingForwardingDenied" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   372
_LIT( KErrReplyChargingNotSupported, "ReplyChargingNotSupported" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   373
_LIT( KErrAddressHidingNotSupported, "AddressHidingNotSupported" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   374
_LIT( KErrPermanentLackOfPrepaid, "PermanentLackOfPrepaid" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   375
//X-Mms-RetrieveStatus (one extra value)
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   376
_LIT( KErrRetrieveContentUnsupported, "PermanentContentUnsupported" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   377
//X-Mms-Store-Status (one extra value)
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   378
_LIT( KErrMMBoxFull, "MMBoxFull" );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   379
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   380
_LIT8( KTestContent,  "Content" ); // For attribute list only
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   381
_LIT8( KTestAdditionalHeaders,  "ADDITIONAL-HEADERS" ); // For attribute list only
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   382
_LIT8( KTestDeliveryTime,       "DELIVERY-TIME"); // for attribute list only
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   383
_LIT8( KTestExpiry,             "EXPIRY"); // for attribute list only
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   384
_LIT8( KTestReplyCharg,         "REPLY-CHARG-DEADLINE" ); // for attribute list only
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   385
_LIT8( KTestContentType,        "CONTENT-TYPE" );  // for attribute list only
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   386
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   387
/**
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   388
*  CMmsReadFile
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   389
*/
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   390
NONSHARABLE_CLASS( CMmsReadFile ):public CBase
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   391
    {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   392
    public:  // Constructors and destructor
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   393
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   394
        static CMmsReadFile* NewL(RFs& aFs, RFileReadStream& aReadStream ); // Two-phased constructor.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   395
        virtual ~CMmsReadFile(); // Destructor
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   396
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   397
    public: // New functions
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   398
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   399
        TInt CompleteTestL(TInt aMessageCounter, CMmsHeaders& aMmsHeaders);
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   400
        TTestReadStatus ReadRowL();
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   401
        void CreateMessageL( CMmsClientMtm* aMmsClient, CMmsHeaders* aMmsHeaders );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   402
		TInt FindAlias(TPtrC alias);
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   403
		void SetAttaStructure( TBool aOldAttaStructure = EFalse );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   404
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   405
    protected:  // Functions from base classes
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   406
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   407
    private:
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   408
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   409
        CMmsReadFile(); // C++ default constructor.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   410
        // By default constructor is private.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   411
        void ConstructL( RFs& aFs, RFileReadStream& aReadStream );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   412
        void Reset();
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   413
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   414
    public: // data
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   415
        TInt                            iMessageType;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   416
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   417
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   418
    private:     // Data
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   419
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   420
        RFs                             iFs;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   421
        RFileReadStream*                iReader;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   422
        TBuf<DefaultBufLen>             iValueBuffer;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   423
        CDesCArray*     iAliasArray;    // aliases
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   424
        HBufC8*         iByteBuffer;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   425
        TTime                           iDate;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   426
        CArrayPtrFlat<CMmsAttaStructure>* iAttaStructures;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   427
        TInt                            iAttaCount;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   428
		TInt							iAttaRoot;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   429
		TInt							iAliasCount;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   430
        TInt                            iNextMessageType;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   431
        TParse                          iParse;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   432
        TFileName                       iFilename;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   433
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   434
    protected:  // Data
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   435
    private:    // Data
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   436
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   437
        // CArrayFixFlat <TestMessage>* iMessages;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   438
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   439
    public:     // Friend classes
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   440
    protected:  // Friend classes
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   441
    private:    // Friend classes
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   442
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   443
    };
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   444
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   445
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   446
NONSHARABLE_CLASS( CMmsAttaStructure ):public CBase
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   447
    {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   448
    public:  // Constructors and destructor
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   449
        static CMmsAttaStructure* NewL(); // Two-phased constructor.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   450
        virtual ~CMmsAttaStructure(); // Destructor
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   451
    private:
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   452
        CMmsAttaStructure(); // C++ default constructor.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   453
        // By default constructor is private.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   454
        void ConstructL();
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   455
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   456
    public:     // Data
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   457
        HBufC8*         iAtta;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   458
        HBufC8*         iAttaName; // content location
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   459
        HBufC8*         iAttaType;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   460
        HBufC8*         iAttaCid;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   461
        TInt            iAttaCharset;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   462
        HBufC*          iAttaRecommendedName; // recommended filename
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   463
       	CDesC8ArrayFlat* iContentTypeParams;  // zero or more "parameter"
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   464
    	CDesC8ArrayFlat* iXTypeParams;        // zero or more X-Type "parameters"
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   465
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   466
    };
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   467
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   468
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   469
#endif      // MMSREADFILE_H
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   470
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   471
// End of File