smsprotocols/smsstack/gsmu/src/gsmuieoperations.cpp
branchRCL_3
changeset 66 07a122eea281
parent 65 630d2f34d719
equal deleted inserted replaced
65:630d2f34d719 66:07a122eea281
     1 // Copyright (c) 1999-2010 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
    11 // Contributors:
    11 // Contributors:
    12 //
    12 //
    13 // Description:
    13 // Description:
    14 //
    14 //
    15 
    15 
    16 
       
    17 #include "OstTraceDefinitions.h"
       
    18 #ifdef OST_TRACE_COMPILER_IN_USE
       
    19 #include "gsmuieoperationsTraces.h"
       
    20 #endif
       
    21 
       
    22 #include "Gsmumain.h"
    16 #include "Gsmumain.h"
    23 #include "gsmuieoperations.h"
    17 #include "gsmuieoperations.h"
    24 #include "Gsmumsg.h"
    18 #include "Gsmumsg.h"
    25 #include "gsmumsgadditionalattributes.h"
    19 #include "gsmumsgadditionalattributes.h"
    26 #include "Gsmuelem.h"
    20 #include "Gsmuelem.h"
    44  *  
    38  *  
    45  *  @internalComponent
    39  *  @internalComponent
    46  */
    40  */
    47 CSmsIEOperation*  CSmsIEOperation::NewL(CSmsInformationElement::TSmsInformationElementIdentifier aId, CSmsMessage& aMessage, CCnvCharacterSetConverter& aCharacterSetConverter, RFs& aFs)
    41 CSmsIEOperation*  CSmsIEOperation::NewL(CSmsInformationElement::TSmsInformationElementIdentifier aId, CSmsMessage& aMessage, CCnvCharacterSetConverter& aCharacterSetConverter, RFs& aFs)
    48 	{
    42 	{
    49 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSIEOPERATION_NEWL_1, "CSmsIEOperation::NewL()");
    43 	LOGGSMU1("CSmsIEOperation::NewL()");
    50 
    44 
    51 	CSmsIEOperation* iEOperation = NULL;
    45 	CSmsIEOperation* iEOperation = NULL;
    52 
    46 
    53 	switch (aId)
    47 	switch (aId)
    54 	    {
    48 	    {
    86  *  @return The information element ID supported by this operations class.
    80  *  @return The information element ID supported by this operations class.
    87  *  @capability None
    81  *  @capability None
    88  */
    82  */
    89 EXPORT_C CSmsInformationElement::TSmsInformationElementIdentifier CSmsIEOperation::Id() const
    83 EXPORT_C CSmsInformationElement::TSmsInformationElementIdentifier CSmsIEOperation::Id() const
    90 	{
    84 	{
    91 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSIEOPERATION_ID_1, "CSmsIEOperation::Id()");
    85 	LOGGSMU1("CSmsIEOperation::Id()");
    92 
    86 
    93 	return iId;
    87 	return iId;
    94 	} // CSmsInformationElement::TSmsInformationElementIdentifier
    88 	} // CSmsInformationElement::TSmsInformationElementIdentifier
    95 
    89 
    96 
    90 
   101  *  
    95  *  
   102  *  @return True if the message type is supported. False otherwise.
    96  *  @return True if the message type is supported. False otherwise.
   103  */
    97  */
   104 TBool CSmsIEOperation::MessageTypeSupported() const
    98 TBool CSmsIEOperation::MessageTypeSupported() const
   105 	{
    99 	{
   106 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSIEOPERATION_MESSAGETYPESUPPORTED_1, "CSmsIEOperation::MessageTypeSupported()");
   100 	LOGGSMU1("CSmsIEOperation::MessageTypeSupported()");
   107 
   101 
   108 	CSmsPDU::TSmsPDUType type = iMessage.Type();
   102 	CSmsPDU::TSmsPDUType type = iMessage.Type();
   109 
   103 
   110     return ((type == CSmsPDU::ESmsDeliver) ||
   104     return ((type == CSmsPDU::ESmsDeliver) ||
   111             (type == CSmsPDU::ESmsSubmit));
   105             (type == CSmsPDU::ESmsSubmit));
   128  */
   122  */
   129 void CSmsIEOperation::operator=(const CSmsIEOperation&)
   123 void CSmsIEOperation::operator=(const CSmsIEOperation&)
   130     {
   124     {
   131     // Ignore in code coverage - not intended to be used
   125     // Ignore in code coverage - not intended to be used
   132     BULLSEYE_OFF    
   126     BULLSEYE_OFF    
   133     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSIEOPERATION_OPERATOR_1, "CSmsIEOperation::operator=");
   127     LOGGSMU1("CSmsIEOperation::operator=");
   134     Panic(KGsmuPanicMethodBodyNotImplemented1);
   128     Panic(KGsmuPanicMethodBodyNotImplemented1);
   135     BULLSEYE_RESTORE
   129     BULLSEYE_RESTORE
   136     }
   130     }
   137 
   131 
   138 /**
   132 /**
   145  */
   139  */
   146 TBool CSmsIEOperation::operator==(const CSmsIEOperation&)
   140 TBool CSmsIEOperation::operator==(const CSmsIEOperation&)
   147     {
   141     {
   148     // Ignore in code coverage - not intended to be used
   142     // Ignore in code coverage - not intended to be used
   149     BULLSEYE_OFF    
   143     BULLSEYE_OFF    
   150     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSIEOPERATION_OPERATOR1_1, "CSmsIEOperation::operator==");
   144     LOGGSMU1("CSmsIEOperation::operator==");
   151     Panic(KGsmuPanicMethodBodyNotImplemented1);
   145     Panic(KGsmuPanicMethodBodyNotImplemented1);
   152     return EFalse;
   146     return EFalse;
   153     BULLSEYE_RESTORE
   147     BULLSEYE_RESTORE
   154     }
   148     }
   155 
   149 
   163  */
   157  */
   164 void CSmsCtrlOperation::operator=(const CSmsCtrlOperation&)
   158 void CSmsCtrlOperation::operator=(const CSmsCtrlOperation&)
   165     {
   159     {
   166     // Ignore in code coverage - not intended to be used
   160     // Ignore in code coverage - not intended to be used
   167     BULLSEYE_OFF    
   161     BULLSEYE_OFF    
   168     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSCTRLOPERATION_OPERATOR_1, "CSmsCtrlOperation::operator=");
   162     LOGGSMU1("CSmsCtrlOperation::operator=");
   169     Panic(KGsmuPanicMethodBodyNotImplemented1);
   163     Panic(KGsmuPanicMethodBodyNotImplemented1);
   170     BULLSEYE_RESTORE
   164     BULLSEYE_RESTORE
   171     }
   165     }
   172 
   166 
   173 /**
   167 /**
   180  */
   174  */
   181 TBool CSmsCtrlOperation::operator==(const CSmsCtrlOperation&)
   175 TBool CSmsCtrlOperation::operator==(const CSmsCtrlOperation&)
   182     {
   176     {
   183     // Ignore in code coverage - not intended to be used
   177     // Ignore in code coverage - not intended to be used
   184     BULLSEYE_OFF    
   178     BULLSEYE_OFF    
   185     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSCTRLOPERATION_OPERATOR1_1, "CSmsCtrlOperation::operator==");
   179     LOGGSMU1("CSmsCtrlOperation::operator==");
   186     Panic(KGsmuPanicMethodBodyNotImplemented1);
   180     Panic(KGsmuPanicMethodBodyNotImplemented1);
   187     return EFalse;
   181     return EFalse;
   188     BULLSEYE_RESTORE
   182     BULLSEYE_RESTORE
   189     }
   183     }
   190 
   184 
   200 	} // CSmsHyperLinkOperations::CSmsHyperLinkOperations
   194 	} // CSmsHyperLinkOperations::CSmsHyperLinkOperations
   201 
   195 
   202 
   196 
   203 void CSmsIEOperation::ConstructL()
   197 void CSmsIEOperation::ConstructL()
   204 	{
   198 	{
   205 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSIEOPERATION_CONSTRUCTL_1, "CSmsIEOperation::ConstructL()");
   199 	LOGGSMU1("CSmsIEOperation::ConstructL()");
   206 	} // CSmsIEOperation::ConstructL
   200 	} // CSmsIEOperation::ConstructL
   207 
   201 
   208 
   202 
   209 /**
   203 /**
   210  *  @internalComponent
   204  *  @internalComponent
   216  */
   210  */
   217 void CSmsHyperLinkOperations::operator=(const CSmsHyperLinkOperations&)
   211 void CSmsHyperLinkOperations::operator=(const CSmsHyperLinkOperations&)
   218     {
   212     {
   219     // Ignore in code coverage - not intended to be used
   213     // Ignore in code coverage - not intended to be used
   220     BULLSEYE_OFF    
   214     BULLSEYE_OFF    
   221     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSHYPERLINKOPERATIONS_OPERATOR_1, "CSmsHyperLinkOperations::operator=");
   215     LOGGSMU1("CSmsHyperLinkOperations::operator=");
   222     Panic(KGsmuPanicMethodBodyNotImplemented1);
   216     Panic(KGsmuPanicMethodBodyNotImplemented1);
   223     BULLSEYE_RESTORE
   217     BULLSEYE_RESTORE
   224     }
   218     }
   225 
   219 
   226 /**
   220 /**
   233  */
   227  */
   234 TBool CSmsHyperLinkOperations::operator==(const CSmsHyperLinkOperations&)
   228 TBool CSmsHyperLinkOperations::operator==(const CSmsHyperLinkOperations&)
   235     {
   229     {
   236     // Ignore in code coverage - not intended to be used
   230     // Ignore in code coverage - not intended to be used
   237     BULLSEYE_OFF    
   231     BULLSEYE_OFF    
   238     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSHYPERLINKOPERATIONS_OPERATOR1_1, "CSmsHyperLinkOperations::operator==");
   232     LOGGSMU1("CSmsHyperLinkOperations::operator==");
   239     Panic(KGsmuPanicMethodBodyNotImplemented1);
   233     Panic(KGsmuPanicMethodBodyNotImplemented1);
   240     return EFalse;
   234     return EFalse;
   241     BULLSEYE_RESTORE
   235     BULLSEYE_RESTORE
   242     }
   236     }
   243 
   237 
   249  *  @leave
   243  *  @leave
   250  *  If the message type or version does not support this operation.
   244  *  If the message type or version does not support this operation.
   251  */
   245  */
   252 void CSmsHyperLinkOperations::ValidateOperationL() const
   246 void CSmsHyperLinkOperations::ValidateOperationL() const
   253 	{
   247 	{
   254 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSHYPERLINKOPERATIONS_VALIDATEOPERATIONL_1, "CSmsHyperLinkOperations::ValidateOperationL()");
   248 	LOGGSMU1("CSmsHyperLinkOperations::ValidateOperationL()");
   255 
   249 
   256 	if (iMessage.Version() < CSmsMessage::ESmsMessageV1)
   250 	if (iMessage.Version() < CSmsMessage::ESmsMessageV1)
   257 	    {
   251 	    {
   258 	    OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSHYPERLINKOPERATIONS_VALIDATEOPERATIONL_2, "CSmsHyperLinkOperations::AddHyperLinkL, Operation not supported, Msg Version %d", iMessage.Version());
   252 	    LOGGSMU2("CSmsHyperLinkOperations::AddHyperLinkL, Operation not supported, Msg Version %d", iMessage.Version());
   259 	    User::Leave(KErrNotSupported);
   253 	    User::Leave(KErrNotSupported);
   260 	    }
   254 	    }
   261 
   255 
   262 	if (!MessageTypeSupported())
   256 	if (!MessageTypeSupported())
   263 	    {
   257 	    {
   264 	    OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSHYPERLINKOPERATIONS_VALIDATEOPERATIONL_3, "CSmsHyperLinkOperations::AddHyperLinkL, Operation not supported by this PDU type, type = %d", iMessage.Type());
   258 	    LOGGSMU2("CSmsHyperLinkOperations::AddHyperLinkL, Operation not supported by this PDU type, type = %d", iMessage.Type());
   265 	    User::Leave(KErrNotSupported);
   259 	    User::Leave(KErrNotSupported);
   266 	    }
   260 	    }
   267 	} // CSmsHyperLinkOperations::ValidateOperationL
   261 	} // CSmsHyperLinkOperations::ValidateOperationL
   268 
   262 
   269 
   263 
   282  *  If the message version or type does not support hyperlinks.
   276  *  If the message version or type does not support hyperlinks.
   283  *  @capability None
   277  *  @capability None
   284  */
   278  */
   285 EXPORT_C void CSmsHyperLinkOperations::AddHyperLinkL(TUint aPosition, TUint8 aTitleLength,  TUint8  aURLLength) const
   279 EXPORT_C void CSmsHyperLinkOperations::AddHyperLinkL(TUint aPosition, TUint8 aTitleLength,  TUint8  aURLLength) const
   286 	{
   280 	{
   287 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSHYPERLINKOPERATIONS_ADDHYPERLINKL_1, "CSmsHyperLinkOperations::AddHyperLinkL()");
   281 	LOGGSMU1("CSmsHyperLinkOperations::AddHyperLinkL()");
   288 
   282 
   289 	ValidateOperationL();
   283 	ValidateOperationL();
   290 
   284 
   291 	CSmsMessageAdditionalAttributes& additionalAttributes = *((CSmsMessageAdditionalAttributes*) iMessage.AdditionalInfo());
   285 	CSmsMessageAdditionalAttributes& additionalAttributes = *((CSmsMessageAdditionalAttributes*) iMessage.AdditionalInfo());
   292 
   286 
   314  *  The number of hyper links contained in this message.
   308  *  The number of hyper links contained in this message.
   315  *  @capability None
   309  *  @capability None
   316  */
   310  */
   317 EXPORT_C TUint CSmsHyperLinkOperations::NumberOfHyperLinksL() const
   311 EXPORT_C TUint CSmsHyperLinkOperations::NumberOfHyperLinksL() const
   318 	{
   312 	{
   319 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSHYPERLINKOPERATIONS_NUMBEROFHYPERLINKSL_1, "CSmsHyperLinkOperations::NumberOfHyperLinks");
   313 	LOGGSMU1("CSmsHyperLinkOperations::NumberOfHyperLinks");
   320 
   314 
   321 	ValidateOperationL();
   315 	ValidateOperationL();
   322 
   316 
   323 	TUint numberOfHyperLinks = 0;
   317 	TUint numberOfHyperLinks = 0;
   324 
   318 
   371  *  If aIndex is out of range.
   365  *  If aIndex is out of range.
   372  *  @capability None
   366  *  @capability None
   373  */
   367  */
   374 EXPORT_C void  CSmsHyperLinkOperations::CopyHyperLinkAtIndexL(TUint aIndex, TUint& aPosition, TUint8& aTitleLength,  TUint8&  aURLLength) const
   368 EXPORT_C void  CSmsHyperLinkOperations::CopyHyperLinkAtIndexL(TUint aIndex, TUint& aPosition, TUint8& aTitleLength,  TUint8&  aURLLength) const
   375 	{
   369 	{
   376 	OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSHYPERLINKOPERATIONS_COPYHYPERLINKATINDEXL_1, "CSmsHyperLinkOperations::CopyHyperLinkAtIndexL(): aIndex=%d", aIndex);
   370 	LOGGSMU2("CSmsHyperLinkOperations::CopyHyperLinkAtIndexL(): aIndex=%d", aIndex);
   377 
   371 
   378 	ValidateOperationL();
   372 	ValidateOperationL();
   379 
   373 
   380 	TUint numberOfHyperLinks = 0;
   374 	TUint numberOfHyperLinks = 0;
   381 
   375 
   423  *  If the message version or type does not support hyperlinks.
   417  *  If the message version or type does not support hyperlinks.
   424  *  @capability None
   418  *  @capability None
   425  */
   419  */
   426 EXPORT_C void  CSmsHyperLinkOperations::RemoveAllHyperLinksL() const
   420 EXPORT_C void  CSmsHyperLinkOperations::RemoveAllHyperLinksL() const
   427 	{
   421 	{
   428 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSHYPERLINKOPERATIONS_REMOVEALLHYPERLINKSL_1, "CSmsHyperLinkOperations::RemoveAllHyperLinks");
   422 	LOGGSMU1("CSmsHyperLinkOperations::RemoveAllHyperLinks");
   429 
   423 
   430 	ValidateOperationL();
   424 	ValidateOperationL();
   431 
   425 
   432 	TSmsInformationElementCategories::TInformationElementCategory category;
   426 	TSmsInformationElementCategories::TInformationElementCategory category;
   433 
   427 
   468  *  If the index is out of range.
   462  *  If the index is out of range.
   469  *  @capability None
   463  *  @capability None
   470  */
   464  */
   471 EXPORT_C void  CSmsHyperLinkOperations::RemoveHyperLinkL(TUint aIndex) const
   465 EXPORT_C void  CSmsHyperLinkOperations::RemoveHyperLinkL(TUint aIndex) const
   472 	{
   466 	{
   473 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSHYPERLINKOPERATIONS_REMOVEHYPERLINKL_1, "CSmsHyperLinkOperations::RemoveHyperLink");
   467 	LOGGSMU1("CSmsHyperLinkOperations::RemoveHyperLink");
   474 
   468 
   475 	ValidateOperationL();
   469 	ValidateOperationL();
   476 
   470 
   477 	TUint numberOfHyperLinks = 0;
   471 	TUint numberOfHyperLinks = 0;
   478 
   472 
   518  */
   512  */
   519 void CSmsReplyAddressOperations::operator=(const CSmsReplyAddressOperations&)
   513 void CSmsReplyAddressOperations::operator=(const CSmsReplyAddressOperations&)
   520     {
   514     {
   521     // Ignore in code coverage - not intended to be used
   515     // Ignore in code coverage - not intended to be used
   522     BULLSEYE_OFF    
   516     BULLSEYE_OFF    
   523     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSREPLYADDRESSOPERATIONS_OPERATOR_1, "CSmsReplyAddressOperations::operator=");
   517     LOGGSMU1("CSmsReplyAddressOperations::operator=");
   524     Panic(KGsmuPanicMethodBodyNotImplemented1);
   518     Panic(KGsmuPanicMethodBodyNotImplemented1);
   525     BULLSEYE_RESTORE
   519     BULLSEYE_RESTORE
   526     }
   520     }
   527 
   521 
   528 /**
   522 /**
   535  */
   529  */
   536 TBool CSmsReplyAddressOperations::operator==(const CSmsReplyAddressOperations&)
   530 TBool CSmsReplyAddressOperations::operator==(const CSmsReplyAddressOperations&)
   537     {
   531     {
   538     // Ignore in code coverage - not intended to be used
   532     // Ignore in code coverage - not intended to be used
   539     BULLSEYE_OFF    
   533     BULLSEYE_OFF    
   540     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSREPLYADDRESSOPERATIONS_OPERATOR1_1, "CSmsReplyAddressOperations::operator==");
   534     LOGGSMU1("CSmsReplyAddressOperations::operator==");
   541     Panic(KGsmuPanicMethodBodyNotImplemented1);
   535     Panic(KGsmuPanicMethodBodyNotImplemented1);
   542     return EFalse;
   536     return EFalse;
   543     BULLSEYE_RESTORE
   537     BULLSEYE_RESTORE
   544     }
   538     }
   545 
   539 
   551  *  @leave
   545  *  @leave
   552  *  If the message type or version does not support this operation.
   546  *  If the message type or version does not support this operation.
   553  */
   547  */
   554 void CSmsReplyAddressOperations::ValidateOperationL() const
   548 void CSmsReplyAddressOperations::ValidateOperationL() const
   555 	{
   549 	{
   556 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSREPLYADDRESSOPERATIONS_VALIDATEOPERATIONL_1, "CSmsReplyAddressOperations::ValidateOperationL()");
   550 	LOGGSMU1("CSmsReplyAddressOperations::ValidateOperationL()");
   557 
   551 
   558 	if (iMessage.Version() < CSmsMessage::ESmsMessageV1)
   552 	if (iMessage.Version() < CSmsMessage::ESmsMessageV1)
   559 	    {
   553 	    {
   560 	    OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSREPLYADDRESSOPERATIONS_VALIDATEOPERATIONL_2, "CSmsReplyAddressOperations::AddReplyAddressL, Operation not supported, Msg Version %d", iMessage.Version());
   554 	    LOGGSMU2("CSmsReplyAddressOperations::AddReplyAddressL, Operation not supported, Msg Version %d", iMessage.Version());
   561 	    User::Leave(KErrNotSupported);
   555 	    User::Leave(KErrNotSupported);
   562 	    }
   556 	    }
   563 
   557 
   564 	if (!MessageTypeSupported())
   558 	if (!MessageTypeSupported())
   565 	    {
   559 	    {
   566 	    OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSREPLYADDRESSOPERATIONS_VALIDATEOPERATIONL_3, "CSmsReplyAddressOperations::AddReplyAddressL, Operation not supported by this PDU type, type = %d", iMessage.Type());
   560 	    LOGGSMU2("CSmsReplyAddressOperations::AddReplyAddressL, Operation not supported by this PDU type, type = %d", iMessage.Type());
   567 	    User::Leave(KErrNotSupported);
   561 	    User::Leave(KErrNotSupported);
   568 	    }
   562 	    }
   569 	} // CSmsReplyAddressOperations::ValidateOperationL
   563 	} // CSmsReplyAddressOperations::ValidateOperationL
   570 
   564 
   571 
   565 
   582  *  If the message already contains a reply address.
   576  *  If the message already contains a reply address.
   583  *  @capability None
   577  *  @capability None
   584  */
   578  */
   585 EXPORT_C void  CSmsReplyAddressOperations::AddReplyAddressL(const TDesC& aAddress) const
   579 EXPORT_C void  CSmsReplyAddressOperations::AddReplyAddressL(const TDesC& aAddress) const
   586 	{
   580 	{
   587 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSREPLYADDRESSOPERATIONS_ADDREPLYADDRESSL_1, "CSmsReplyAddressOperations::AddReplyAddressL()");
   581 	LOGGSMU1("CSmsReplyAddressOperations::AddReplyAddressL()");
   588 
   582 
   589 	ValidateOperationL();
   583 	ValidateOperationL();
   590 
   584 
   591 	if (ContainsReplyAddressIEL())
   585 	if (ContainsReplyAddressIEL())
   592 	    {
   586 	    {
   593 	    OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSREPLYADDRESSOPERATIONS_ADDREPLYADDRESSL_2, "CSmsReplyAddressOperations::AddReplyAddressL, Already Exists");
   587 	    LOGGSMU1("CSmsReplyAddressOperations::AddReplyAddressL, Already Exists");
   594 	    User::Leave(KErrAlreadyExists);
   588 	    User::Leave(KErrAlreadyExists);
   595 	    }
   589 	    }
   596 
   590 
   597 	CSmsMessageAdditionalAttributes& additionalAttributes = *((CSmsMessageAdditionalAttributes*) iMessage.AdditionalInfo());
   591 	CSmsMessageAdditionalAttributes& additionalAttributes = *((CSmsMessageAdditionalAttributes*) iMessage.AdditionalInfo());
   598 
   592 
   628  *  If the message already contains a reply address.
   622  *  If the message already contains a reply address.
   629  *  @capability None
   623  *  @capability None
   630  */
   624  */
   631 EXPORT_C void  CSmsReplyAddressOperations::AddParsedReplyAddressL(const TGsmSmsTelNumber& aParsedAddress) const
   625 EXPORT_C void  CSmsReplyAddressOperations::AddParsedReplyAddressL(const TGsmSmsTelNumber& aParsedAddress) const
   632 	{
   626 	{
   633 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSREPLYADDRESSOPERATIONS_ADDPARSEDREPLYADDRESSL_1, "CSmsReplyAddressOperations::AddParsedReplyAddressL");
   627 	LOGGSMU1("CSmsReplyAddressOperations::AddParsedReplyAddressL");
   634 
   628 
   635 	ValidateOperationL();
   629 	ValidateOperationL();
   636 
   630 
   637 	if (ContainsReplyAddressIEL())
   631 	if (ContainsReplyAddressIEL())
   638 	    {
   632 	    {
   639 	    OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSREPLYADDRESSOPERATIONS_ADDPARSEDREPLYADDRESSL_2, "CSmsReplyAddressOperations::AddParsedReplyAddressL, Already Exists");
   633 	    LOGGSMU1("CSmsReplyAddressOperations::AddParsedReplyAddressL, Already Exists");
   640 	    User::Leave(KErrAlreadyExists);
   634 	    User::Leave(KErrAlreadyExists);
   641 	    }
   635 	    }
   642 
   636 
   643 	CSmsMessageAdditionalAttributes& additionalAttributes = *((CSmsMessageAdditionalAttributes*) iMessage.AdditionalInfo());
   637 	CSmsMessageAdditionalAttributes& additionalAttributes = *((CSmsMessageAdditionalAttributes*) iMessage.AdditionalInfo());
   644 
   638 
   673  *  If the message version or type does not support this query.
   667  *  If the message version or type does not support this query.
   674  *  @capability None
   668  *  @capability None
   675  */
   669  */
   676 EXPORT_C TBool CSmsReplyAddressOperations::ContainsReplyAddressIEL() const
   670 EXPORT_C TBool CSmsReplyAddressOperations::ContainsReplyAddressIEL() const
   677 	{
   671 	{
   678 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSREPLYADDRESSOPERATIONS_CONTAINSREPLYADDRESSIEL_1, "CSmsReplyAddressOperations::ContainsReplyAddressIEL()");
   672 	LOGGSMU1("CSmsReplyAddressOperations::ContainsReplyAddressIEL()");
   679 
   673 
   680 	TBool rc = EFalse;
   674 	TBool rc = EFalse;
   681 
   675 
   682 	ValidateOperationL();
   676 	ValidateOperationL();
   683 
   677 
   724  *  If the reply address is corrupt
   718  *  If the reply address is corrupt
   725  *  @capability None
   719  *  @capability None
   726  */
   720  */
   727 EXPORT_C HBufC* CSmsReplyAddressOperations::GetReplyAddressL() const
   721 EXPORT_C HBufC* CSmsReplyAddressOperations::GetReplyAddressL() const
   728 	{
   722 	{
   729 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSREPLYADDRESSOPERATIONS_GETREPLYADDRESSL_1, "CSmsReplyAddressOperations::GetReplyAddressL");
   723 	LOGGSMU1("CSmsReplyAddressOperations::GetReplyAddressL");
   730 
   724 
   731 	ValidateOperationL();
   725 	ValidateOperationL();
   732 
   726 
   733 	TBool found = EFalse;
   727 	TBool found = EFalse;
   734 
   728 
   800  *  If the reply address is corrupt
   794  *  If the reply address is corrupt
   801  *  @capability None
   795  *  @capability None
   802  */
   796  */
   803 EXPORT_C TInt  CSmsReplyAddressOperations::GetParsedReplyAddressL(TGsmSmsTelNumber& aParsedAddress) const
   797 EXPORT_C TInt  CSmsReplyAddressOperations::GetParsedReplyAddressL(TGsmSmsTelNumber& aParsedAddress) const
   804 	{
   798 	{
   805 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSREPLYADDRESSOPERATIONS_GETPARSEDREPLYADDRESSL_1, "CSmsReplyAddressOperations::GetParsedReplyAddressL");
   799 	LOGGSMU1("CSmsReplyAddressOperations::GetParsedReplyAddressL");
   806 
   800 
   807 	ValidateOperationL();
   801 	ValidateOperationL();
   808 
   802 
   809 	TBool rc = EFalse;
   803 	TBool rc = EFalse;
   810 
   804 
   874  *  If the message version or type does not support this query.
   868  *  If the message version or type does not support this query.
   875  *  @capability None
   869  *  @capability None
   876  */
   870  */
   877 EXPORT_C void  CSmsReplyAddressOperations::RemoveReplyAddressL() const
   871 EXPORT_C void  CSmsReplyAddressOperations::RemoveReplyAddressL() const
   878 	{
   872 	{
   879 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSREPLYADDRESSOPERATIONS_REMOVEREPLYADDRESSL_1, "CSmsReplyAddressOperations::RemoveReplyAddress");
   873 	LOGGSMU1("CSmsReplyAddressOperations::RemoveReplyAddress");
   880 
   874 
   881 	ValidateOperationL();
   875 	ValidateOperationL();
   882 
   876 
   883 	TSmsInformationElementCategories::TInformationElementCategory category;
   877 	TSmsInformationElementCategories::TInformationElementCategory category;
   884 
   878 
   922  *  @leave
   916  *  @leave
   923  *  If the message type or version does not support this operation.
   917  *  If the message type or version does not support this operation.
   924  */
   918  */
   925 void CSmsSpecialSMSMessageOperations::ValidateOperationL() const
   919 void CSmsSpecialSMSMessageOperations::ValidateOperationL() const
   926 	{
   920 	{
   927 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSSPECIALSMSMESSAGEOPERATIONS_VALIDATEOPERATIONL_1, "CSmsSpecialSMSMessageOperations::ValidateOperationL()");
   921 	LOGGSMU1("CSmsSpecialSMSMessageOperations::ValidateOperationL()");
   928 
   922 
   929 	if (iMessage.Version() < CSmsMessage::ESmsMessageV1)
   923 	if (iMessage.Version() < CSmsMessage::ESmsMessageV1)
   930 	    {
   924 	    {
   931 	    OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSSPECIALSMSMESSAGEOPERATIONS_VALIDATEOPERATIONL_2, "CSmsSpecialSMSMessageOperations::AddSpecialMessageIndicationL, Operation not supported, version %d", iMessage.Version());
   925 	    LOGGSMU2("CSmsSpecialSMSMessageOperations::AddSpecialMessageIndicationL, Operation not supported, version %d", iMessage.Version());
   932 	    User::Leave(KErrNotSupported);
   926 	    User::Leave(KErrNotSupported);
   933 	    }
   927 	    }
   934 
   928 
   935 	if (!MessageTypeSupported())
   929 	if (!MessageTypeSupported())
   936 	    {
   930 	    {
   937 	    OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSSPECIALSMSMESSAGEOPERATIONS_VALIDATEOPERATIONL_3, "CSmsSpecialSMSMessageOperations::AddSpecialMessageIndicationL, Operation not supported by this PDU type, type = %d", iMessage.Type());
   931 	    LOGGSMU2("CSmsSpecialSMSMessageOperations::AddSpecialMessageIndicationL, Operation not supported by this PDU type, type = %d", iMessage.Type());
   938 	    User::Leave(KErrNotSupported);
   932 	    User::Leave(KErrNotSupported);
   939 	    }
   933 	    }
   940 	} // CSmsSpecialSMSMessageOperations::ValidateOperationL
   934 	} // CSmsSpecialSMSMessageOperations::ValidateOperationL
   941 
   935 
   942 
   936 
   950  */
   944  */
   951 void CSmsSpecialSMSMessageOperations::operator=(const CSmsSpecialSMSMessageOperations&)
   945 void CSmsSpecialSMSMessageOperations::operator=(const CSmsSpecialSMSMessageOperations&)
   952     {
   946     {
   953     // Ignore in code coverage - not intended to be used
   947     // Ignore in code coverage - not intended to be used
   954     BULLSEYE_OFF    
   948     BULLSEYE_OFF    
   955     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSSPECIALSMSMESSAGEOPERATIONS_OPERATOR_1, "CSmsSpecialSMSMessageOperations::operator=");
   949     LOGGSMU1("CSmsSpecialSMSMessageOperations::operator=");
   956     Panic(KGsmuPanicMethodBodyNotImplemented1);
   950     Panic(KGsmuPanicMethodBodyNotImplemented1);
   957     BULLSEYE_RESTORE
   951     BULLSEYE_RESTORE
   958     }
   952     }
   959 
   953 
   960 /**
   954 /**
   965  *  
   959  *  
   966  *  @capability None
   960  *  @capability None
   967  */
   961  */
   968 TBool CSmsSpecialSMSMessageOperations::operator==(const CSmsSpecialSMSMessageOperations&)
   962 TBool CSmsSpecialSMSMessageOperations::operator==(const CSmsSpecialSMSMessageOperations&)
   969 	{
   963 	{
   970 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSSPECIALSMSMESSAGEOPERATIONS_OPERATOR1_1, "CSmsSpecialSMSMessageOperations::operator==");
   964 	LOGGSMU1("CSmsSpecialSMSMessageOperations::operator==");
   971 	Panic(KGsmuPanicMethodBodyNotImplemented1);
   965 	Panic(KGsmuPanicMethodBodyNotImplemented1);
   972 	return EFalse;
   966 	return EFalse;
   973 	} // CSmsSpecialSMSMessageOperations::operator
   967 	} // CSmsSpecialSMSMessageOperations::operator
   974 
   968 
   975 
   969 
   996                                                                             TSmsMessageIndicationType aMessageIndicationType,
   990                                                                             TSmsMessageIndicationType aMessageIndicationType,
   997                                                                             TExtendedSmsIndicationType aExtendedType,
   991                                                                             TExtendedSmsIndicationType aExtendedType,
   998                                                                             TSmsMessageProfileType aProfile,
   992                                                                             TSmsMessageProfileType aProfile,
   999                                                                             TUint8 aMessageCount) const
   993                                                                             TUint8 aMessageCount) const
  1000 	{
   994 	{
  1001 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSSPECIALSMSMESSAGEOPERATIONS_ADDSPECIALMESSAGEINDICATIONL_1, "CSmsSpecialSMSMessageOperations::AddSpecialMessageIndicationL");
   995 	LOGGSMU1("CSmsSpecialSMSMessageOperations::AddSpecialMessageIndicationL");
  1002 
   996 
  1003 	ValidateOperationL();
   997 	ValidateOperationL();
  1004 
   998 
  1005 	CSmsUserData& userData = iMessage.SmsPDU().UserData();
   999 	CSmsUserData& userData = iMessage.SmsPDU().UserData();
  1006 
  1000 
  1053  *  If the message version or type does not support this query.
  1047  *  If the message version or type does not support this query.
  1054  *  @capability None
  1048  *  @capability None
  1055  */
  1049  */
  1056 EXPORT_C TUint CSmsSpecialSMSMessageOperations::GetCountOfSpecialMessageIndicationsL() const
  1050 EXPORT_C TUint CSmsSpecialSMSMessageOperations::GetCountOfSpecialMessageIndicationsL() const
  1057 	{
  1051 	{
  1058 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSSPECIALSMSMESSAGEOPERATIONS_GETCOUNTOFSPECIALMESSAGEINDICATIONSL_1, "CSmsSpecialSMSMessageOperations::GetCountOfSpecialMessageIndicationsL()");
  1052 	LOGGSMU1("CSmsSpecialSMSMessageOperations::GetCountOfSpecialMessageIndicationsL()");
  1059 
  1053 
  1060 	ValidateOperationL();
  1054 	ValidateOperationL();
  1061 
  1055 
  1062 	CSmsUserData& userData = iMessage.SmsPDU().UserData();
  1056 	CSmsUserData& userData = iMessage.SmsPDU().UserData();
  1063 
  1057 
  1099                                                                        TSmsMessageIndicationType& aMessageIndicationType,
  1093                                                                        TSmsMessageIndicationType& aMessageIndicationType,
  1100                                                                        TExtendedSmsIndicationType& aExtendedType,
  1094                                                                        TExtendedSmsIndicationType& aExtendedType,
  1101                                                                        TSmsMessageProfileType&  aProfile,
  1095                                                                        TSmsMessageProfileType&  aProfile,
  1102                                                                        TUint8& aMessageCount) const
  1096                                                                        TUint8& aMessageCount) const
  1103 	{
  1097 	{
  1104 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSSPECIALSMSMESSAGEOPERATIONS_GETMESSAGEINDICATIONIEL_1, "CSmsSpecialSMSMessageOperations::GetMessageIndicationIEL()");
  1098 	LOGGSMU1("CSmsSpecialSMSMessageOperations::GetMessageIndicationIEL()");
  1105 
  1099 
  1106 	ValidateOperationL();
  1100 	ValidateOperationL();
  1107 
  1101 
  1108 	CSmsUserData& userData = iMessage.SmsPDU().UserData();
  1102 	CSmsUserData& userData = iMessage.SmsPDU().UserData();
  1109 
  1103 
  1143  *  If the message version or type does not support this query.
  1137  *  If the message version or type does not support this query.
  1144  *  @capability None
  1138  *  @capability None
  1145  */
  1139  */
  1146 EXPORT_C void CSmsSpecialSMSMessageOperations::RemoveSpecialMessageIndicationL(TSmsMessageIndicationType aMessageIndicationType, TExtendedSmsIndicationType aExtendedType) const
  1140 EXPORT_C void CSmsSpecialSMSMessageOperations::RemoveSpecialMessageIndicationL(TSmsMessageIndicationType aMessageIndicationType, TExtendedSmsIndicationType aExtendedType) const
  1147 	{
  1141 	{
  1148 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSSPECIALSMSMESSAGEOPERATIONS_REMOVESPECIALMESSAGEINDICATIONL_1, "CSmsSpecialSMSMessageOperations::RemoveAllSpecialMessageIndications");
  1142 	LOGGSMU1("CSmsSpecialSMSMessageOperations::RemoveAllSpecialMessageIndications");
  1149 
  1143 
  1150 	ValidateOperationL();
  1144 	ValidateOperationL();
  1151 
  1145 
  1152 	CSmsUserData& userData = iMessage.SmsPDU().UserData();
  1146 	CSmsUserData& userData = iMessage.SmsPDU().UserData();
  1153 
  1147 
  1185  *  If the message version or type does not support this query.
  1179  *  If the message version or type does not support this query.
  1186  *  @capability None
  1180  *  @capability None
  1187  */
  1181  */
  1188 EXPORT_C void CSmsSpecialSMSMessageOperations::RemoveAllSpecialMessageIndicationsL() const
  1182 EXPORT_C void CSmsSpecialSMSMessageOperations::RemoveAllSpecialMessageIndicationsL() const
  1189 	{
  1183 	{
  1190 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSSPECIALSMSMESSAGEOPERATIONS_REMOVEALLSPECIALMESSAGEINDICATIONSL_1, "CSmsSpecialSMSMessageOperations::RemoveAllSpecialMessageIndicationsL");
  1184 	LOGGSMU1("CSmsSpecialSMSMessageOperations::RemoveAllSpecialMessageIndicationsL");
  1191 
  1185 
  1192 	ValidateOperationL();
  1186 	ValidateOperationL();
  1193 
  1187 
  1194 	CSmsUserData& userData = iMessage.SmsPDU().UserData();
  1188 	CSmsUserData& userData = iMessage.SmsPDU().UserData();
  1195 
  1189 
  1224  */
  1218  */
  1225 void CSmsEnhancedVoiceMailOperations::operator=(const CSmsEnhancedVoiceMailOperations&)
  1219 void CSmsEnhancedVoiceMailOperations::operator=(const CSmsEnhancedVoiceMailOperations&)
  1226     {
  1220     {
  1227     // Ignore in code coverage - not intended to be used
  1221     // Ignore in code coverage - not intended to be used
  1228     BULLSEYE_OFF    
  1222     BULLSEYE_OFF    
  1229     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSENHANCEDVOICEMAILOPERATIONS_OPERATOR_1, "CSmsEnhancedVoiceMailOperations::operator=");
  1223     LOGGSMU1("CSmsEnhancedVoiceMailOperations::operator=");
  1230     Panic(KGsmuPanicMethodBodyNotImplemented1);
  1224     Panic(KGsmuPanicMethodBodyNotImplemented1);
  1231     BULLSEYE_RESTORE
  1225     BULLSEYE_RESTORE
  1232     }
  1226     }
  1233 
  1227 
  1234 /**
  1228 /**
  1241  */
  1235  */
  1242 TBool CSmsEnhancedVoiceMailOperations::operator==(const CSmsEnhancedVoiceMailOperations&)
  1236 TBool CSmsEnhancedVoiceMailOperations::operator==(const CSmsEnhancedVoiceMailOperations&)
  1243     {
  1237     {
  1244     // Ignore in code coverage - not intended to be used
  1238     // Ignore in code coverage - not intended to be used
  1245     BULLSEYE_OFF    
  1239     BULLSEYE_OFF    
  1246     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSENHANCEDVOICEMAILOPERATIONS_OPERATOR1_1, "CSmsEnhancedVoiceMailOperations::operator==");
  1240     LOGGSMU1("CSmsEnhancedVoiceMailOperations::operator==");
  1247     Panic(KGsmuPanicMethodBodyNotImplemented1);
  1241     Panic(KGsmuPanicMethodBodyNotImplemented1);
  1248     return EFalse;
  1242     return EFalse;
  1249     BULLSEYE_RESTORE
  1243     BULLSEYE_RESTORE
  1250     }
  1244     }
  1251 
  1245 
  1257  *  @leave
  1251  *  @leave
  1258  *  If the message type or version does not support this operation.
  1252  *  If the message type or version does not support this operation.
  1259  */
  1253  */
  1260 void CSmsEnhancedVoiceMailOperations::ValidateOperationL() const
  1254 void CSmsEnhancedVoiceMailOperations::ValidateOperationL() const
  1261 	{
  1255 	{
  1262 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSENHANCEDVOICEMAILOPERATIONS_VALIDATEOPERATIONL_1, "CSmsEnhancedVoiceMailOperations::ValidateOperationL()");
  1256 	LOGGSMU1("CSmsEnhancedVoiceMailOperations::ValidateOperationL()");
  1263 
  1257 
  1264 	if (iMessage.Version() < CSmsMessage::ESmsMessageV1)
  1258 	if (iMessage.Version() < CSmsMessage::ESmsMessageV1)
  1265 	    {
  1259 	    {
  1266 	    OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSENHANCEDVOICEMAILOPERATIONS_VALIDATEOPERATIONL_2, "CSmsEnhancedVoiceMailInformation::AddEnhancedVoiceMailIEL, Operation not supported, Msg Version %d", iMessage.Version());
  1260 	    LOGGSMU2("CSmsEnhancedVoiceMailInformation::AddEnhancedVoiceMailIEL, Operation not supported, Msg Version %d", iMessage.Version());
  1267 	    User::Leave(KErrNotSupported);
  1261 	    User::Leave(KErrNotSupported);
  1268 	    }
  1262 	    }
  1269 
  1263 
  1270 	if (!MessageTypeSupported())
  1264 	if (!MessageTypeSupported())
  1271 	    {
  1265 	    {
  1272 	    OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSENHANCEDVOICEMAILOPERATIONS_VALIDATEOPERATIONL_3, "CSmsSpecialSMSMessageOperations::AddEnhancedVoiceMailIEL, Operation not supported by this PDU type, type = %d", iMessage.Type());
  1266 	    LOGGSMU2("CSmsSpecialSMSMessageOperations::AddEnhancedVoiceMailIEL, Operation not supported by this PDU type, type = %d", iMessage.Type());
  1273 	    User::Leave(KErrNotSupported);
  1267 	    User::Leave(KErrNotSupported);
  1274 	    }
  1268 	    }
  1275 	} // CSmsEnhancedVoiceMailOperations::ValidateOperationL
  1269 	} // CSmsEnhancedVoiceMailOperations::ValidateOperationL
  1276 
  1270 
  1277 
  1271 
  1293  *  If the input parameter contains invalid parameters.
  1287  *  If the input parameter contains invalid parameters.
  1294  *  @capability None
  1288  *  @capability None
  1295  */
  1289  */
  1296 EXPORT_C void CSmsEnhancedVoiceMailOperations::AddEnhancedVoiceMailIEL(const CEnhancedVoiceMailBoxInformation& aEVMI) const
  1290 EXPORT_C void CSmsEnhancedVoiceMailOperations::AddEnhancedVoiceMailIEL(const CEnhancedVoiceMailBoxInformation& aEVMI) const
  1297 	{
  1291 	{
  1298 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSENHANCEDVOICEMAILOPERATIONS_ADDENHANCEDVOICEMAILIEL_1, "CSmsEnhancedVoiceMailInformation::AddEnhancedVoiceMailIEL");
  1292 	LOGGSMU1("CSmsEnhancedVoiceMailInformation::AddEnhancedVoiceMailIEL");
  1299 
  1293 
  1300 	ValidateOperationL();
  1294 	ValidateOperationL();
  1301 
  1295 
  1302 	if (ContainsEnhancedVoiceMailIEL())
  1296 	if (ContainsEnhancedVoiceMailIEL())
  1303 	    {
  1297 	    {
  1304 	    OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSENHANCEDVOICEMAILOPERATIONS_ADDENHANCEDVOICEMAILIEL_2, "CSmsEnhancedVoiceMailInformation::AddEnhancedVoiceMailIEL, Already Exists");
  1298 	    LOGGSMU1("CSmsEnhancedVoiceMailInformation::AddEnhancedVoiceMailIEL, Already Exists");
  1305 	    User::Leave(KErrAlreadyExists);
  1299 	    User::Leave(KErrAlreadyExists);
  1306 	    }
  1300 	    }
  1307 
  1301 
  1308 	CSmsMessageAdditionalAttributes& additionalAttributes = *((CSmsMessageAdditionalAttributes*) iMessage.AdditionalInfo());
  1302 	CSmsMessageAdditionalAttributes& additionalAttributes = *((CSmsMessageAdditionalAttributes*) iMessage.AdditionalInfo());
  1309 
  1303 
  1337  *  If the CSmsMessage does not contain an Enhanced Voice Mail Information Element
  1331  *  If the CSmsMessage does not contain an Enhanced Voice Mail Information Element
  1338  *  @capability None
  1332  *  @capability None
  1339  */
  1333  */
  1340 EXPORT_C CEnhancedVoiceMailBoxInformation* CSmsEnhancedVoiceMailOperations::RemoveEnhancedVoiceMailIEL() const
  1334 EXPORT_C CEnhancedVoiceMailBoxInformation* CSmsEnhancedVoiceMailOperations::RemoveEnhancedVoiceMailIEL() const
  1341 	{
  1335 	{
  1342 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSENHANCEDVOICEMAILOPERATIONS_REMOVEENHANCEDVOICEMAILIEL_1, "CSmsEnhancedVoiceMailInformation::RemoveEnhancedVoiceMailIE");
  1336 	LOGGSMU1("CSmsEnhancedVoiceMailInformation::RemoveEnhancedVoiceMailIE");
  1343 
  1337 
  1344 	ValidateOperationL();
  1338 	ValidateOperationL();
  1345 
  1339 
  1346 	CEnhancedVoiceMailBoxInformation* voiceMailBoxInfo = NULL;
  1340 	CEnhancedVoiceMailBoxInformation* voiceMailBoxInfo = NULL;
  1347 	TBool deleteInformationElement = ETrue;
  1341 	TBool deleteInformationElement = ETrue;
  1364  *  If the CSmsMessage does not contain an Enhanced Voice Mail Information Element to copy.
  1358  *  If the CSmsMessage does not contain an Enhanced Voice Mail Information Element to copy.
  1365  *  @capability None
  1359  *  @capability None
  1366  */
  1360  */
  1367 EXPORT_C CEnhancedVoiceMailBoxInformation* CSmsEnhancedVoiceMailOperations::CopyEnhancedVoiceMailIEL() const
  1361 EXPORT_C CEnhancedVoiceMailBoxInformation* CSmsEnhancedVoiceMailOperations::CopyEnhancedVoiceMailIEL() const
  1368 	{
  1362 	{
  1369 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSENHANCEDVOICEMAILOPERATIONS_COPYENHANCEDVOICEMAILIEL_1, "CSmsEnhancedVoiceMailInformation::CopyEnhancedVoiceMailIEL");
  1363 	LOGGSMU1("CSmsEnhancedVoiceMailInformation::CopyEnhancedVoiceMailIEL");
  1370 
  1364 
  1371 	ValidateOperationL();
  1365 	ValidateOperationL();
  1372 
  1366 
  1373 	CEnhancedVoiceMailBoxInformation* voiceMailBoxInfo = NULL;
  1367 	CEnhancedVoiceMailBoxInformation* voiceMailBoxInfo = NULL;
  1374 	TBool deleteInformationElement = EFalse;
  1368 	TBool deleteInformationElement = EFalse;
  1390  *  @leave KErrNotFound
  1384  *  @leave KErrNotFound
  1391  *  If the CSmsMessage does not contain an Enhanced Voice Mail Information Element to copy.
  1385  *  If the CSmsMessage does not contain an Enhanced Voice Mail Information Element to copy.
  1392  */
  1386  */
  1393 CEnhancedVoiceMailBoxInformation* CSmsEnhancedVoiceMailOperations::GetEnhancedVoiceMailIEL(TBool aRemove) const
  1387 CEnhancedVoiceMailBoxInformation* CSmsEnhancedVoiceMailOperations::GetEnhancedVoiceMailIEL(TBool aRemove) const
  1394 	{
  1388 	{
  1395 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSENHANCEDVOICEMAILOPERATIONS_GETENHANCEDVOICEMAILIEL_1, "CSmsEnhancedVoiceMailOperations::GetEnhancedVoiceMailIEL()");
  1389 	LOGGSMU1("CSmsEnhancedVoiceMailOperations::GetEnhancedVoiceMailIEL()");
  1396 
  1390 
  1397 	TBool found = EFalse;
  1391 	TBool found = EFalse;
  1398 
  1392 
  1399 	CEnhancedVoiceMailBoxInformation* voiceMailBoxInfo = NULL;
  1393 	CEnhancedVoiceMailBoxInformation* voiceMailBoxInfo = NULL;
  1400 
  1394 
  1459  *  True if the CSmsMessage contains an Enhanced Voice Mail Information Element.
  1453  *  True if the CSmsMessage contains an Enhanced Voice Mail Information Element.
  1460  *  @capability None
  1454  *  @capability None
  1461  */
  1455  */
  1462 EXPORT_C TBool CSmsEnhancedVoiceMailOperations::ContainsEnhancedVoiceMailIEL() const
  1456 EXPORT_C TBool CSmsEnhancedVoiceMailOperations::ContainsEnhancedVoiceMailIEL() const
  1463 	{
  1457 	{
  1464 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSENHANCEDVOICEMAILOPERATIONS_CONTAINSENHANCEDVOICEMAILIEL_1, "CSmsEnhancedVoiceMailInformation::ContainsEnhancedVoiceMailIEL");
  1458 	LOGGSMU1("CSmsEnhancedVoiceMailInformation::ContainsEnhancedVoiceMailIEL");
  1465 
  1459 
  1466 	ValidateOperationL();
  1460 	ValidateOperationL();
  1467 
  1461 
  1468 	TBool rc = EFalse;
  1462 	TBool rc = EFalse;
  1469 
  1463 
  1527  */
  1521  */
  1528 void CSmsSMSCCtrlParameterOperations::operator=(const CSmsSMSCCtrlParameterOperations&)
  1522 void CSmsSMSCCtrlParameterOperations::operator=(const CSmsSMSCCtrlParameterOperations&)
  1529     {
  1523     {
  1530     // Ignore in code coverage - not intended to be used
  1524     // Ignore in code coverage - not intended to be used
  1531     BULLSEYE_OFF    
  1525     BULLSEYE_OFF    
  1532     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSSMSCCTRLPARAMETEROPERATIONS_OPERATOR_1, "CSmsSMSCCtrlParameterOperations::operator=");
  1526     LOGGSMU1("CSmsSMSCCtrlParameterOperations::operator=");
  1533     Panic(KGsmuPanicMethodBodyNotImplemented1);
  1527     Panic(KGsmuPanicMethodBodyNotImplemented1);
  1534     BULLSEYE_RESTORE
  1528     BULLSEYE_RESTORE
  1535     }
  1529     }
  1536 
  1530 
  1537 /**
  1531 /**
  1544  */
  1538  */
  1545 TBool CSmsSMSCCtrlParameterOperations::operator==(const CSmsSMSCCtrlParameterOperations&)
  1539 TBool CSmsSMSCCtrlParameterOperations::operator==(const CSmsSMSCCtrlParameterOperations&)
  1546     {
  1540     {
  1547     // Ignore in code coverage - not intended to be used
  1541     // Ignore in code coverage - not intended to be used
  1548     BULLSEYE_OFF    
  1542     BULLSEYE_OFF    
  1549     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSSMSCCTRLPARAMETEROPERATIONS_OPERATOR1_1, "CSmsSMSCCtrlParameterOperations::operator==");
  1543     LOGGSMU1("CSmsSMSCCtrlParameterOperations::operator==");
  1550     Panic(KGsmuPanicMethodBodyNotImplemented1);
  1544     Panic(KGsmuPanicMethodBodyNotImplemented1);
  1551     return EFalse;
  1545     return EFalse;
  1552     BULLSEYE_RESTORE
  1546     BULLSEYE_RESTORE
  1553     }
  1547     }
  1554 
  1548 
  1562  */
  1556  */
  1563 void CSmsSMSCCtrlParameterOperations::ValidateOperationL() const
  1557 void CSmsSMSCCtrlParameterOperations::ValidateOperationL() const
  1564 	{
  1558 	{
  1565 	if (iMessage.Version() < CSmsMessage::ESmsMessageV2)
  1559 	if (iMessage.Version() < CSmsMessage::ESmsMessageV2)
  1566 	    {
  1560 	    {
  1567 	    OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSSMSCCTRLPARAMETEROPERATIONS_VALIDATEOPERATIONL_1, "CSmsSMSCCtrlParameterOperations Operation not supported, Msg Version %d", iMessage.Version());
  1561 	    LOGGSMU2("CSmsSMSCCtrlParameterOperations Operation not supported, Msg Version %d", iMessage.Version());
  1568 	    User::Leave(KErrNotSupported); 
  1562 	    User::Leave(KErrNotSupported); 
  1569 	    }
  1563 	    }
  1570 
  1564 
  1571 	if (!MessageTypeSupported())
  1565 	if (!MessageTypeSupported())
  1572 	    {
  1566 	    {
  1573 	    OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSSMSCCTRLPARAMETEROPERATIONS_VALIDATEOPERATIONL_2, "CSmsSMSCCtrlParameterOperations Operation not supported by this PDU type, type = %d", iMessage.Type());
  1567 	    LOGGSMU2("CSmsSMSCCtrlParameterOperations Operation not supported by this PDU type, type = %d", iMessage.Type());
  1574 	    User::Leave(KErrNotSupported);
  1568 	    User::Leave(KErrNotSupported);
  1575 	    }
  1569 	    }
  1576 	} // CSmsSMSCCtrlParameterOperations::ValidateOperationL()
  1570 	} // CSmsSMSCCtrlParameterOperations::ValidateOperationL()
  1577 
  1571 
  1578 
  1572