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