smsprotocols/smsstack/gsmu/src/gsmumsgadditionattributes.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".
    13 // Description:
    13 // Description:
    14 // GsmuMsgAdditionalAttributes.cpp
    14 // GsmuMsgAdditionalAttributes.cpp
    15 // 
    15 // 
    16 //
    16 //
    17 
    17 
       
    18 
       
    19 #include "OstTraceDefinitions.h"
       
    20 #ifdef OST_TRACE_COMPILER_IN_USE
       
    21 #include "gsmumsgadditionattributesTraces.h"
       
    22 #endif
       
    23 
    18 #include "gsmumsgadditionalattributes.h"
    24 #include "gsmumsgadditionalattributes.h"
    19 #include "smsstacklog.h"
    25 #include "smsstacklog.h"
    20 
    26 
    21 
    27 
    22 CSmsMessageAdditionalAttributes* CSmsMessageAdditionalAttributes::NewL()
    28 CSmsMessageAdditionalAttributes* CSmsMessageAdditionalAttributes::NewL()
    23     {
    29     {
    24 	LOGGSMU1("CSmsMessageAdditionalAttributes::NewL()");
    30 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_NEWL_1, "CSmsMessageAdditionalAttributes::NewL()");
    25 
    31 
    26 	CSmsMessageAdditionalAttributes* additionalAttributes=new(ELeave) CSmsMessageAdditionalAttributes();
    32 	CSmsMessageAdditionalAttributes* additionalAttributes=new(ELeave) CSmsMessageAdditionalAttributes();
    27 	CleanupStack::PushL(additionalAttributes);
    33 	CleanupStack::PushL(additionalAttributes);
    28 	additionalAttributes->ConstructL();
    34 	additionalAttributes->ConstructL();
    29 	CleanupStack::Pop();
    35 	CleanupStack::Pop();
    37     } // CSmsMessageAdditionalAttributes::CSmsMessageAdditionalAttributes
    43     } // CSmsMessageAdditionalAttributes::CSmsMessageAdditionalAttributes
    38 
    44 
    39 
    45 
    40 CSmsMessageAdditionalAttributes::~CSmsMessageAdditionalAttributes()
    46 CSmsMessageAdditionalAttributes::~CSmsMessageAdditionalAttributes()
    41     {
    47     {
    42 	LOGGSMU1("CSmsMessageAdditionalAttributes::~CSmsMessageAdditionalAttributes()");
    48 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_DTOR_1, "CSmsMessageAdditionalAttributes::~CSmsMessageAdditionalAttributes()");
    43 
    49 
    44 	iSmsPDUArray.ResetAndDestroy();
    50 	iSmsPDUArray.ResetAndDestroy();
    45 
    51 
    46     for (TInt category = 0; category < TSmsInformationElementCategories::ENumberOfCategories; category++)
    52     for (TInt category = 0; category < TSmsInformationElementCategories::ENumberOfCategories; category++)
    47         {
    53         {
    64     } // CSmsMessageAdditionalAttributes::CSmsMessageAdditionalAttributes
    70     } // CSmsMessageAdditionalAttributes::CSmsMessageAdditionalAttributes
    65 
    71 
    66 
    72 
    67 void CSmsMessageAdditionalAttributes::ConstructL()
    73 void CSmsMessageAdditionalAttributes::ConstructL()
    68     {
    74     {
    69 	LOGGSMU1("CSmsMessageAdditionalAttributes::ConstructL()");
    75 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_CONSTRUCTL_1, "CSmsMessageAdditionalAttributes::ConstructL()");
    70 
    76 
    71     iStatusReportScheme = new (ELeave) CSmsMessageAdditionalAttributes::CDefaultScheme();
    77     iStatusReportScheme = new (ELeave) CSmsMessageAdditionalAttributes::CDefaultScheme();
    72     
    78     
    73     for (TInt category = 0; category < TSmsInformationElementCategories::ENumberOfCategories; category++)
    79     for (TInt category = 0; category < TSmsInformationElementCategories::ENumberOfCategories; category++)
    74         {
    80         {
    77     } // CSmsMessageAdditionalAttributes::ConstructL
    83     } // CSmsMessageAdditionalAttributes::ConstructL
    78 
    84 
    79 
    85 
    80 void CSmsMessageAdditionalAttributes::AddControlInformationElementL(CSmsInformationElement* aIE)
    86 void CSmsMessageAdditionalAttributes::AddControlInformationElementL(CSmsInformationElement* aIE)
    81     {
    87     {
    82     LOGGSMU1("CSmsMessageAdditionalAttributes::AddControlInformationElementL()");
    88     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_ADDCONTROLINFORMATIONELEMENTL_1, "CSmsMessageAdditionalAttributes::AddControlInformationElementL()");
    83 
    89 
    84     TSmsInformationElementCategories::TInformationElementCategory category;
    90     TSmsInformationElementCategories::TInformationElementCategory category;
    85     if (aIE != NULL)
    91     if (aIE != NULL)
    86         {
    92         {
    87         if (TSmsInformationElementCategories::GetCategoryDefinition(aIE->Identifier(), category))
    93         if (TSmsInformationElementCategories::GetCategoryDefinition(aIE->Identifier(), category))
    88         	{
    94         	{
    89         	AddControlInformationElementL(category,aIE);
    95         	AddControlInformationElementL(category,aIE);
    90         	}
    96         	}
    91         else
    97         else
    92             {
    98             {
    93             LOGGSMU1("CSmsMessageAdditionalAttributes::AddControlInformationElementL, aIE->Identifier() is invalid");
    99             OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_ADDCONTROLINFORMATIONELEMENTL_2, "CSmsMessageAdditionalAttributes::AddControlInformationElementL, aIE->Identifier() is invalid");
    94             User::Leave(KErrArgument);
   100             User::Leave(KErrArgument);
    95             }
   101             }
    96         }
   102         }
    97     else
   103     else
    98         {
   104         {
    99         LOGGSMU1("CSmsMessageAdditionalAttributes::AddControlInformationElementL, aIE == NULL");
   105         OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_ADDCONTROLINFORMATIONELEMENTL_3, "CSmsMessageAdditionalAttributes::AddControlInformationElementL, aIE == NULL");
   100         User::Leave(KErrArgument);
   106         User::Leave(KErrArgument);
   101         }
   107         }
   102     } // CSmsMessageAdditionalAttributes::AddControlInformationElementL
   108     } // CSmsMessageAdditionalAttributes::AddControlInformationElementL
   103 
   109 
   104 
   110 
   105 TBool CSmsMessageAdditionalAttributes::Find1stInstanceOfControlInformationElement(TInformationElementId aId, TUint& aIndex) const
   111 TBool CSmsMessageAdditionalAttributes::Find1stInstanceOfControlInformationElement(TInformationElementId aId, TUint& aIndex) const
   106     {
   112     {
   107     LOGGSMU1("CSmsMessageAdditionalAttributes::Find1stInstanceOfControlInformationElement()");
   113     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_FIND1STINSTANCEOFCONTROLINFORMATIONELEMENT_1, "CSmsMessageAdditionalAttributes::Find1stInstanceOfControlInformationElement()");
   108     
   114     
   109     TBool rc = EFalse;
   115     TBool rc = EFalse;
   110     TSmsInformationElementCategories::TInformationElementCategory category;
   116     TSmsInformationElementCategories::TInformationElementCategory category;
   111     
   117     
   112     if (TSmsInformationElementCategories::GetCategoryDefinition(aId, category))
   118     if (TSmsInformationElementCategories::GetCategoryDefinition(aId, category))
   126     } // CSmsMessageAdditionalAttributes::Find1stInstanceOfControlInformationElement
   132     } // CSmsMessageAdditionalAttributes::Find1stInstanceOfControlInformationElement
   127 
   133 
   128 
   134 
   129 TBool CSmsMessageAdditionalAttributes::FindNextInstanceOfControlInformationElement(TInformationElementId aId, TUint aStartIndex, TUint& aIndex) const
   135 TBool CSmsMessageAdditionalAttributes::FindNextInstanceOfControlInformationElement(TInformationElementId aId, TUint aStartIndex, TUint& aIndex) const
   130     {
   136     {
   131     LOGGSMU1("CSmsMessageAdditionalAttributes::FindNextInstanceOfControlInformationElement()");
   137     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_FINDNEXTINSTANCEOFCONTROLINFORMATIONELEMENT_1, "CSmsMessageAdditionalAttributes::FindNextInstanceOfControlInformationElement()");
   132     
   138     
   133     TBool rc = EFalse;
   139     TBool rc = EFalse;
   134     TSmsInformationElementCategories::TInformationElementCategory category;
   140     TSmsInformationElementCategories::TInformationElementCategory category;
   135 
   141 
   136 	if (TSmsInformationElementCategories::GetCategoryDefinition(aId, category))
   142 	if (TSmsInformationElementCategories::GetCategoryDefinition(aId, category))
   151     } // CSmsMessageAdditionalAttributes::FindNextInstanceOfControlInformationElement
   157     } // CSmsMessageAdditionalAttributes::FindNextInstanceOfControlInformationElement
   152 
   158 
   153 
   159 
   154 CSmsInformationElement& CSmsMessageAdditionalAttributes::GetControlInformationElementL(TInformationElementId aId, TUint aIndex) const
   160 CSmsInformationElement& CSmsMessageAdditionalAttributes::GetControlInformationElementL(TInformationElementId aId, TUint aIndex) const
   155     {
   161     {
   156     LOGGSMU1("CSmsMessageAdditionalAttributes::GetControlInformationElementL()");
   162     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_GETCONTROLINFORMATIONELEMENTL_1, "CSmsMessageAdditionalAttributes::GetControlInformationElementL()");
   157     
   163     
   158 
   164 
   159     TSmsInformationElementCategories::TInformationElementCategory category;
   165     TSmsInformationElementCategories::TInformationElementCategory category;
   160 
   166 
   161     if (TSmsInformationElementCategories::GetCategoryDefinition(aId, category) == EFalse)
   167     if (TSmsInformationElementCategories::GetCategoryDefinition(aId, category) == EFalse)
   163     	User::Leave(KErrArgument);
   169     	User::Leave(KErrArgument);
   164     	}
   170     	}
   165 
   171 
   166     if (aIndex >= iCollectionOfPointersToIEArrays[category]->Count())
   172     if (aIndex >= iCollectionOfPointersToIEArrays[category]->Count())
   167         {
   173         {
   168         LOGGSMU3("CSmsMessageAdditionalAttributes::GetControlInformationElementL  aId = %d , aIndex = %d", aId, aIndex);
   174         OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_GETCONTROLINFORMATIONELEMENTL_2, "CSmsMessageAdditionalAttributes::GetControlInformationElementL  aId = %d , aIndex = %d", aId, aIndex);
   169         LOGGSMU2("CSmsMessageAdditionalAttributes::GetControlInformationElementL  Count = %d", iCollectionOfPointersToIEArrays[category]->Count());
   175         OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_GETCONTROLINFORMATIONELEMENTL_3, "CSmsMessageAdditionalAttributes::GetControlInformationElementL  Count = %d", iCollectionOfPointersToIEArrays[category]->Count());
   170         User::Leave(KErrArgument);
   176         User::Leave(KErrArgument);
   171         }
   177         }
   172 
   178 
   173     if (iCollectionOfPointersToIEArrays[category]->operator[](aIndex) == NULL)
   179     if (iCollectionOfPointersToIEArrays[category]->operator[](aIndex) == NULL)
   174         {
   180         {
   175         LOGGSMU3("CSmsMessageAdditionalAttributes::GetControlInformationElementL  aId = %d , aIndex = %d", aId, aIndex);
   181         OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_GETCONTROLINFORMATIONELEMENTL_4, "CSmsMessageAdditionalAttributes::GetControlInformationElementL  aId = %d , aIndex = %d", aId, aIndex);
   176         User::Leave(KErrArgument);
   182         User::Leave(KErrArgument);
   177         }
   183         }
   178 
   184 
   179     if (iCollectionOfPointersToIEArrays[category]->operator[](aIndex)->Identifier()!=aId)
   185     if (iCollectionOfPointersToIEArrays[category]->operator[](aIndex)->Identifier()!=aId)
   180         {
   186         {
   181         LOGGSMU3("CSmsMessageAdditionalAttributes::GetControlInformationElementL aId = %d, aIndex = %d", aId, aIndex);
   187         OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_GETCONTROLINFORMATIONELEMENTL_5, "CSmsMessageAdditionalAttributes::GetControlInformationElementL aId = %d, aIndex = %d", aId, aIndex);
   182         LOGGSMU2("CSmsMessageAdditionalAttributes::GetControlInformationElementL  id = %d", iCollectionOfPointersToIEArrays[category]->operator[](aIndex)->Identifier());
   188         OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_GETCONTROLINFORMATIONELEMENTL_6, "CSmsMessageAdditionalAttributes::GetControlInformationElementL  id = %d", iCollectionOfPointersToIEArrays[category]->operator[](aIndex)->Identifier());
   183         User::Leave(KErrArgument);
   189         User::Leave(KErrArgument);
   184         }
   190         }
   185 
   191 
   186     CSmsInformationElement* ie = iCollectionOfPointersToIEArrays[category]->operator[](aIndex);
   192     CSmsInformationElement* ie = iCollectionOfPointersToIEArrays[category]->operator[](aIndex);
   187     return *ie;
   193     return *ie;
   188     } // CSmsMessageAdditionalAttributes::GetControlInformationElementL
   194     } // CSmsMessageAdditionalAttributes::GetControlInformationElementL
   189 
   195 
   190 
   196 
   191 TBool CSmsMessageAdditionalAttributes::RemoveControlInformationElement(TInformationElementId aId, TUint aIndex, CSmsInformationElementPtr& aIE)
   197 TBool CSmsMessageAdditionalAttributes::RemoveControlInformationElement(TInformationElementId aId, TUint aIndex, CSmsInformationElementPtr& aIE)
   192     {
   198     {
   193     LOGGSMU1("CSmsMessageAdditionalAttributes::RemoveControlInformationElement()");
   199     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_REMOVECONTROLINFORMATIONELEMENT_1, "CSmsMessageAdditionalAttributes::RemoveControlInformationElement()");
   194     
   200     
   195     TBool rc = EFalse;
   201     TBool rc = EFalse;
   196     TSmsInformationElementCategories::TInformationElementCategory category;
   202     TSmsInformationElementCategories::TInformationElementCategory category;
   197 
   203 
   198 	if (TSmsInformationElementCategories::GetCategoryDefinition(aId, category))
   204 	if (TSmsInformationElementCategories::GetCategoryDefinition(aId, category))
   210     } // CSmsMessageAdditionalAttributes::RemoveControlInformationElement
   216     } // CSmsMessageAdditionalAttributes::RemoveControlInformationElement
   211 
   217 
   212 
   218 
   213 void CSmsMessageAdditionalAttributes::AddControlInformationElementL(TCategory aCategory, CSmsInformationElementPtr aIE)
   219 void CSmsMessageAdditionalAttributes::AddControlInformationElementL(TCategory aCategory, CSmsInformationElementPtr aIE)
   214     {
   220     {
   215     LOGGSMU1("CSmsMessageAdditionalAttributes::AddControlInformationElementL()");
   221     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_ADDCONTROLINFORMATIONELEMENTL1_1, "CSmsMessageAdditionalAttributes::AddControlInformationElementL()");
   216     
   222     
   217     if ((aIE != NULL) &&
   223     if ((aIE != NULL) &&
   218         (aCategory < TSmsInformationElementCategories::ENumberOfCategories))
   224         (aCategory < TSmsInformationElementCategories::ENumberOfCategories))
   219         {
   225         {
   220         iCollectionOfPointersToIEArrays[aCategory]->AppendL(aIE);
   226         iCollectionOfPointersToIEArrays[aCategory]->AppendL(aIE);
   226     } // CSmsMessageAdditionalAttributes::AddControlInformationElementL
   232     } // CSmsMessageAdditionalAttributes::AddControlInformationElementL
   227 
   233 
   228 
   234 
   229 TBool CSmsMessageAdditionalAttributes::RemoveNextControlInformationElement(TCategory aCategory, CSmsInformationElementPtr& aIEPtr)
   235 TBool CSmsMessageAdditionalAttributes::RemoveNextControlInformationElement(TCategory aCategory, CSmsInformationElementPtr& aIEPtr)
   230     {
   236     {
   231     LOGGSMU1("CSmsMessageAdditionalAttributes::RemoveNextControlInformationElement()");
   237     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_REMOVENEXTCONTROLINFORMATIONELEMENT_1, "CSmsMessageAdditionalAttributes::RemoveNextControlInformationElement()");
   232 
   238 
   233     TBool rc = EFalse;
   239     TBool rc = EFalse;
   234     if (aCategory < TSmsInformationElementCategories::ENumberOfCategories)
   240     if (aCategory < TSmsInformationElementCategories::ENumberOfCategories)
   235         {
   241         {
   236         TInt tailIndex;
   242         TInt tailIndex;
   245     } // CSmsMessageAdditionalAttributes::RemoveNextControlInformationElement
   251     } // CSmsMessageAdditionalAttributes::RemoveNextControlInformationElement
   246 
   252 
   247 
   253 
   248 CSmsInformationElement& CSmsMessageAdditionalAttributes::GetControlInformationElementL(TCategory aCategory, TUint aIndex) const
   254 CSmsInformationElement& CSmsMessageAdditionalAttributes::GetControlInformationElementL(TCategory aCategory, TUint aIndex) const
   249     {
   255     {
   250     LOGGSMU3("CSmsMessageAdditionalAttributes::GetControlInformationElementL(): aCategory=%d, aIndex=%d",
   256     OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_GETCONTROLINFORMATIONELEMENTL1_1, "CSmsMessageAdditionalAttributes::GetControlInformationElementL(): aCategory=%d, aIndex=%d",aCategory, aIndex);
   251     		 aCategory, aIndex);
       
   252 
   257 
   253     if ((aCategory >= TSmsInformationElementCategories::ENumberOfCategories) ||
   258     if ((aCategory >= TSmsInformationElementCategories::ENumberOfCategories) ||
   254         (aIndex    >= iCollectionOfPointersToIEArrays[aCategory]->Count()))
   259         (aIndex    >= iCollectionOfPointersToIEArrays[aCategory]->Count()))
   255         {
   260         {
   256         LOGGSMU1("CSmsMessageAdditionalAttributes::GetControlInformationElementL: KErrArgument");
   261         OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_GETCONTROLINFORMATIONELEMENTL1_2, "CSmsMessageAdditionalAttributes::GetControlInformationElementL: KErrArgument");
   257         User::Leave(KErrArgument);
   262         User::Leave(KErrArgument);
   258         }
   263         }
   259 
   264 
   260     if  ((iCollectionOfPointersToIEArrays[aCategory])->operator[](aIndex) == NULL)
   265     if  ((iCollectionOfPointersToIEArrays[aCategory])->operator[](aIndex) == NULL)
   261         {
   266         {
   262         LOGGSMU1("CSmsMessageAdditionalAttributes::GetControlInformationElementL: KErrCorrupt");
   267         OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_GETCONTROLINFORMATIONELEMENTL1_3, "CSmsMessageAdditionalAttributes::GetControlInformationElementL: KErrCorrupt");
   263         User::Leave(KErrCorrupt);
   268         User::Leave(KErrCorrupt);
   264         }
   269         }
   265 
   270 
   266     return *(iCollectionOfPointersToIEArrays[aCategory]->operator[](aIndex));
   271     return *(iCollectionOfPointersToIEArrays[aCategory]->operator[](aIndex));
   267     } // CSmsMessageAdditionalAttributes::GetControlInformationElementL
   272     } // CSmsMessageAdditionalAttributes::GetControlInformationElementL
   268 
   273 
   269 
   274 
   270 void CSmsMessageAdditionalAttributes::DeleteControlInformationElement(TCategory aCategory, TUint8 aIndex)
   275 void CSmsMessageAdditionalAttributes::DeleteControlInformationElement(TCategory aCategory, TUint8 aIndex)
   271     {
   276     {
   272     LOGGSMU1("CSmsMessageAdditionalAttributes::DeleteControlInformationElement()");
   277     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_DELETECONTROLINFORMATIONELEMENT_1, "CSmsMessageAdditionalAttributes::DeleteControlInformationElement()");
   273     
   278     
   274     if (aCategory < TSmsInformationElementCategories::ENumberOfCategories)
   279     if (aCategory < TSmsInformationElementCategories::ENumberOfCategories)
   275         {
   280         {
   276         TInt count = iCollectionOfPointersToIEArrays[aCategory]->Count();
   281         TInt count = iCollectionOfPointersToIEArrays[aCategory]->Count();
   277         if (aIndex < count)
   282         if (aIndex < count)
   286     } // CSmsMessageAdditionalAttributes::DeleteControlInformationElement
   291     } // CSmsMessageAdditionalAttributes::DeleteControlInformationElement
   287 
   292 
   288 
   293 
   289 TUint CSmsMessageAdditionalAttributes::NumberOfControlInformationElements(TCategory aCategory) const
   294 TUint CSmsMessageAdditionalAttributes::NumberOfControlInformationElements(TCategory aCategory) const
   290     {
   295     {
   291     LOGGSMU1("CSmsMessageAdditionalAttributes::NumberOfControlInformationElements1()");
   296     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_NUMBEROFCONTROLINFORMATIONELEMENTS_1, "CSmsMessageAdditionalAttributes::NumberOfControlInformationElements1()");
   292 
   297 
   293     TUint count = 0;
   298     TUint count = 0;
   294 
   299 
   295     if (aCategory < TSmsInformationElementCategories::ENumberOfCategories)
   300     if (aCategory < TSmsInformationElementCategories::ENumberOfCategories)
   296     {
   301     {
   301     } // CSmsMessageAdditionalAttributes::NumberOfControlInformationElements
   306     } // CSmsMessageAdditionalAttributes::NumberOfControlInformationElements
   302 
   307 
   303 
   308 
   304 void CSmsMessageAdditionalAttributes::ExternalizeL(RWriteStream& aStream, TInt aVersion) const
   309 void CSmsMessageAdditionalAttributes::ExternalizeL(RWriteStream& aStream, TInt aVersion) const
   305     {
   310     {
   306     LOGGSMU1("CSmsMessageAdditionalAttributes::ExternalizeL()");
   311     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_EXTERNALIZEL_1, "CSmsMessageAdditionalAttributes::ExternalizeL()");
   307 
   312 
   308 	if(aVersion == CSmsMessage::ESmsIncompleteClass0MessageV)
   313 	if(aVersion == CSmsMessage::ESmsIncompleteClass0MessageV)
   309 		{
   314 		{
   310 		iIncompleteClass0MessageInfo->ExternalizeL(aStream);
   315 		iIncompleteClass0MessageInfo->ExternalizeL(aStream);
   311 		return;
   316 		return;
   365 		}
   370 		}
   366 	}
   371 	}
   367 
   372 
   368 void CSmsMessageAdditionalAttributes::InternalizeL(RReadStream& aStream, TInt aVersion)
   373 void CSmsMessageAdditionalAttributes::InternalizeL(RReadStream& aStream, TInt aVersion)
   369     {
   374     {
   370     LOGGSMU1("CSmsMessageAdditionalAttributes::InternalizeL()");
   375     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_INTERNALIZEL_1, "CSmsMessageAdditionalAttributes::InternalizeL()");
   371 
   376 
   372 	if(aVersion == CSmsMessage::ESmsIncompleteClass0MessageV)
   377 	if(aVersion == CSmsMessage::ESmsIncompleteClass0MessageV)
   373 		{
   378 		{
   374 		iIncompleteClass0MessageInfo->InternalizeL(aStream);
   379 		iIncompleteClass0MessageInfo->InternalizeL(aStream);
   375 		return;
   380 		return;
   445     } // CSmsMessageAdditionalAttributes::InternalizeL
   450     } // CSmsMessageAdditionalAttributes::InternalizeL
   446 
   451 
   447 
   452 
   448 void CSmsMessageAdditionalAttributes::ResetAttributesL()
   453 void CSmsMessageAdditionalAttributes::ResetAttributesL()
   449     {
   454     {
   450     LOGGSMU1("CSmsMessageAdditionalAttributes::ResetAttributesL()");
   455     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_RESETATTRIBUTESL_1, "CSmsMessageAdditionalAttributes::ResetAttributesL()");
   451     
   456     
   452     for (TInt category = 0; category < TSmsInformationElementCategories::ENumberOfCategories; category++)
   457     for (TInt category = 0; category < TSmsInformationElementCategories::ENumberOfCategories; category++)
   453         {
   458         {
   454         iCollectionOfPointersToIEArrays[category]->ResetAndDestroy();
   459         iCollectionOfPointersToIEArrays[category]->ResetAndDestroy();
   455         }
   460         }
   466     } // CSmsMessageAdditionalAttributes::ResetAttributesL
   471     } // CSmsMessageAdditionalAttributes::ResetAttributesL
   467 
   472 
   468 
   473 
   469 CSmsIEOperation& CSmsMessageAdditionalAttributes::GetIEOperationL(TInformationElementId aId) const
   474 CSmsIEOperation& CSmsMessageAdditionalAttributes::GetIEOperationL(TInformationElementId aId) const
   470     {
   475     {
   471     LOGGSMU1("CSmsMessageAdditionalAttributes::GetIEOperation()");
   476     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_GETIEOPERATIONL_1, "CSmsMessageAdditionalAttributes::GetIEOperation()");
   472 
   477 
   473     CSmsIEOperation* operation = NULL;
   478     CSmsIEOperation* operation = NULL;
   474 
   479 
   475     switch(aId)
   480     switch(aId)
   476         {
   481         {
   505  *  
   510  *  
   506  *  @param aId The Identifier for the operation.
   511  *  @param aId The Identifier for the operation.
   507  */
   512  */
   508 CSmsNonIEOperation& CSmsMessageAdditionalAttributes::GetNonIEOperationL(TSmsNonIEIdentifier aId) const
   513 CSmsNonIEOperation& CSmsMessageAdditionalAttributes::GetNonIEOperationL(TSmsNonIEIdentifier aId) const
   509 	{
   514 	{
   510 	LOGGSMU1("CSmsMessageAdditionalAttributes::GetNonIEOperationL");
   515 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_GETNONIEOPERATIONL_1, "CSmsMessageAdditionalAttributes::GetNonIEOperationL");
   511     
   516     
   512     CSmsNonIEOperation* operation = NULL;
   517     CSmsNonIEOperation* operation = NULL;
   513     
   518     
   514     if(aId == ESmsTPSRRParameter)
   519     if(aId == ESmsTPSRRParameter)
   515     	{
   520     	{
   528     } // CSmsMessageAdditionalAttributes::GetIEOperationL
   533     } // CSmsMessageAdditionalAttributes::GetIEOperationL
   529 
   534 
   530 
   535 
   531 void CSmsMessageAdditionalAttributes::SetIEOperationL(CSmsIEOperation* aOperation)
   536 void CSmsMessageAdditionalAttributes::SetIEOperationL(CSmsIEOperation* aOperation)
   532 	{
   537 	{
   533 	LOGGSMU1("CSmsMessageAdditionalAttributes::SetIEOperationL()");
   538 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_SETIEOPERATIONL_1, "CSmsMessageAdditionalAttributes::SetIEOperationL()");
   534 
   539 
   535     if (aOperation == NULL)
   540     if (aOperation == NULL)
   536         {
   541         {
   537         User::Leave(KErrArgument);
   542         User::Leave(KErrArgument);
   538         }
   543         }
   539 
   544 
   540     LOGGSMU2("CSmsMessageAdditionalAttributes::AddIEOperation, operation=%d", aOperation->Id());
   545     OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_SETIEOPERATIONL_2, "CSmsMessageAdditionalAttributes::AddIEOperation, operation=%d", aOperation->Id());
   541 
   546 
   542     switch(aOperation->Id())
   547     switch(aOperation->Id())
   543         {
   548         {
   544         case CSmsInformationElement::ESmsHyperLinkFormat:
   549         case CSmsInformationElement::ESmsHyperLinkFormat:
   545             iHyperLinkOperations = (CSmsHyperLinkOperations*) aOperation;
   550             iHyperLinkOperations = (CSmsHyperLinkOperations*) aOperation;
   574     if (aOperation == NULL)
   579     if (aOperation == NULL)
   575         {
   580         {
   576         User::Leave(KErrArgument);        
   581         User::Leave(KErrArgument);        
   577         }
   582         }
   578     
   583     
   579     LOGGSMU2("CSmsMessageAdditionalAttributes::SetNonIEOperationL, operation = %d", aOperation->Id());
   584     OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMESSAGEADDITIONALATTRIBUTES_SETNONIEOPERATIONL_1, "CSmsMessageAdditionalAttributes::SetNonIEOperationL, operation = %d", aOperation->Id());
   580     
   585     
   581     if (aOperation->Id() == ESmsTPSRRParameter)
   586     if (aOperation->Id() == ESmsTPSRRParameter)
   582         {
   587         {
   583         iTPSRROperations = (CSmsTPSRROperations*) aOperation;
   588         iTPSRROperations = (CSmsTPSRROperations*) aOperation;
   584         }
   589         }