--- a/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-
-#include "../serviceapifw_plat/group/bld.inf"
-#include "../serviceapifw_pub/group/bld.inf"
-#include "../rtsecuritymanager/group/bld.inf"
-#include "../languageinterworkingfw/group/bld.inf"
--- a/languageinterworkingfw/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-#include "../servicehandler/group/bld.inf"
-
--- a/languageinterworkingfw/servicehandler/EABI/liwServiceHandlerU.DEF Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +0,0 @@
-EXPORTS
- _Z4DumpRK11TLiwVariant @ 1 NONAME
- _ZN11TLiwVariant3SetEPK10CLiwBuffer @ 2 NONAME
- _ZN11TLiwVariant3SetEPK12CLiwIterable @ 3 NONAME
- _ZN11TLiwVariant3SetEPK13MLiwInterface @ 4 NONAME
- _ZN11TLiwVariant3SetEPK7CLiwMap @ 5 NONAME
- _ZN11TLiwVariant3SetEPK8CLiwList @ 6 NONAME
- _ZN11TLiwVariant3SetERK4TUid @ 7 NONAME
- _ZN11TLiwVariant3SetERK5RFile @ 8 NONAME
- _ZN11TLiwVariant3SetERK5TTime @ 9 NONAME
- _ZN11TLiwVariant3SetERK6TDesC8 @ 10 NONAME
- _ZN11TLiwVariant3SetERK7TDesC16 @ 11 NONAME
- _ZN11TLiwVariant3SetEd @ 12 NONAME
- _ZN11TLiwVariant3SetEi @ 13 NONAME
- _ZN11TLiwVariant3SetEj @ 14 NONAME
- _ZN11TLiwVariant3SetEl @ 15 NONAME
- _ZN11TLiwVariant4SetLERKS_ @ 16 NONAME
- _ZN11TLiwVariant5ResetEv @ 17 NONAME
- _ZN11TLiwVariantC1ERKS_ @ 18 NONAME
- _ZN11TLiwVariantC2ERKS_ @ 19 NONAME
- _ZN11TLiwVariantaSERKS_ @ 20 NONAME
- _ZN12CLiwIterableeqERS_ @ 21 NONAME
- _ZN12CLiwMenuPane12AddMenuItemLEiRN16CEikMenuPaneItem5SDataEi @ 22 NONAME
- _ZN12CLiwMenuPane12AddMenuItemLEiRN16CEikMenuPaneItem5SDataEiRK7TDesC16 @ 23 NONAME
- _ZN12CLiwMenuPane13AddMenuItemsLER15TResourceReaderiii @ 24 NONAME
- _ZN12CLiwMenuPane13AddMenuItemsLER4TBufILi256EEiiii @ 25 NONAME
- _ZN12CLiwMenuPane13AddTitleItemLERK7TDesC16i @ 26 NONAME
- _ZN12CLiwMenuPaneC1ER12CEikMenuPanei @ 27 NONAME
- _ZN12CLiwMenuPaneC2ER12CEikMenuPanei @ 28 NONAME
- _ZN12CLiwMenuPaneD0Ev @ 29 NONAME
- _ZN12CLiwMenuPaneD1Ev @ 30 NONAME
- _ZN12CLiwMenuPaneD2Ev @ 31 NONAME
- _ZN13CLiwContainerD0Ev @ 32 NONAME
- _ZN13CLiwContainerD1Ev @ 33 NONAME
- _ZN13CLiwContainerD2Ev @ 34 NONAME
- _ZN14CLiwDefaultMap4NewLEv @ 35 NONAME
- _ZN14CLiwDefaultMap5NewLCER11RReadStream @ 36 NONAME
- _ZN14CLiwDefaultMap6RemoveERK6TDesC8 @ 37 NONAME
- _ZN14CLiwDefaultMap7InsertLERK6TDesC8RK11TLiwVariant @ 38 NONAME
- _ZN14CLiwDefaultMapD0Ev @ 39 NONAME
- _ZN14CLiwDefaultMapD1Ev @ 40 NONAME
- _ZN14CLiwDefaultMapD2Ev @ 41 NONAME
- _ZN15CLiwDefaultList4NewLEv @ 42 NONAME
- _ZN15CLiwDefaultList5NewLCER11RReadStream @ 43 NONAME
- _ZN15CLiwDefaultList6RemoveEi @ 44 NONAME
- _ZN15CLiwDefaultList7AppendLERK11TLiwVariant @ 45 NONAME
- _ZN15CLiwDefaultListD0Ev @ 46 NONAME
- _ZN15CLiwDefaultListD1Ev @ 47 NONAME
- _ZN15CLiwDefaultListD2Ev @ 48 NONAME
- _ZN16CLiwCriteriaItem10SetOptionsEj @ 49 NONAME
- _ZN16CLiwCriteriaItem13SetServiceCmdEi @ 50 NONAME
- _ZN16CLiwCriteriaItem14SetServiceCmdLERK6TDesC8 @ 51 NONAME
- _ZN16CLiwCriteriaItem15SetContentTypeLERK6TDesC8 @ 52 NONAME
- _ZN16CLiwCriteriaItem15SetMaxProvidersEi @ 53 NONAME
- _ZN16CLiwCriteriaItem15SetServiceClassERK4TUid @ 54 NONAME
- _ZN16CLiwCriteriaItem16ReadFromResoureLER15TResourceReader @ 55 NONAME
- _ZN16CLiwCriteriaItem18SetDefaultProviderEi @ 56 NONAME
- _ZN16CLiwCriteriaItem18SetMetaDataOptionsERK11TLiwVariant @ 57 NONAME
- _ZN16CLiwCriteriaItem4NewLEiRK6TDesC8S2_ @ 58 NONAME
- _ZN16CLiwCriteriaItem4NewLEiiRK6TDesC8 @ 59 NONAME
- _ZN16CLiwCriteriaItem4NewLEv @ 60 NONAME
- _ZN16CLiwCriteriaItem5NewLCEiRK6TDesC8S2_ @ 61 NONAME
- _ZN16CLiwCriteriaItem5NewLCEiiRK6TDesC8 @ 62 NONAME
- _ZN16CLiwCriteriaItem5NewLCEv @ 63 NONAME
- _ZN16CLiwCriteriaItem5SetIdEi @ 64 NONAME
- _ZN16CLiwCriteriaItemD0Ev @ 65 NONAME
- _ZN16CLiwCriteriaItemD1Ev @ 66 NONAME
- _ZN16CLiwCriteriaItemD2Ev @ 67 NONAME
- _ZN16CLiwCriteriaItemeqERKS_ @ 68 NONAME
- _ZN17CLiwServiceIfBase18ExtensionInterfaceE4TUid @ 69 NONAME
- _ZN17CLiwServiceIfBaseD0Ev @ 70 NONAME
- _ZN17CLiwServiceIfBaseD1Ev @ 71 NONAME
- _ZN17CLiwServiceIfBaseD2Ev @ 72 NONAME
- _ZN17CLiwServiceIfMenu18ExtensionInterfaceE4TUid @ 73 NONAME
- _ZN17CLiwServiceIfMenuD0Ev @ 74 NONAME
- _ZN17CLiwServiceIfMenuD1Ev @ 75 NONAME
- _ZN17CLiwServiceIfMenuD2Ev @ 76 NONAME
- _ZN18CLiwServiceHandler10DetachMenuEii @ 77 NONAME
- _ZN18CLiwServiceHandler11AttachMenuLER6RArrayIiEiR13RPointerArrayI16CLiwCriteriaItemE @ 78 NONAME
- _ZN18CLiwServiceHandler11AttachMenuLEiR15TResourceReader @ 79 NONAME
- _ZN18CLiwServiceHandler11AttachMenuLEiRK13RPointerArrayI16CLiwCriteriaItemE @ 80 NONAME
- _ZN18CLiwServiceHandler11AttachMenuLEii @ 81 NONAME
- _ZN18CLiwServiceHandler11GetCriteriaEi @ 82 NONAME
- _ZN18CLiwServiceHandler11GetInterestER13RPointerArrayI16CLiwCriteriaItemE @ 83 NONAME
- _ZN18CLiwServiceHandler12InParamListLEv @ 84 NONAME
- _ZN18CLiwServiceHandler13OutParamListLEv @ 85 NONAME
- _ZN18CLiwServiceHandler14HandleSubmenuLER12CEikMenuPane @ 86 NONAME
- _ZN18CLiwServiceHandler14IsSubMenuEmptyEi @ 87 NONAME
- _ZN18CLiwServiceHandler14NbrOfProvidersEPK16CLiwCriteriaItem @ 88 NONAME
- _ZN18CLiwServiceHandler15ExecuteMenuCmdLEiRK20CLiwGenericParamListRS0_jP18MLiwNotifyCallback @ 89 NONAME
- _ZN18CLiwServiceHandler16ReportMenuLaunchEv @ 90 NONAME
- _ZN18CLiwServiceHandler18ExecuteServiceCmdLERK16CLiwCriteriaItemRK20CLiwGenericParamListRS3_jP18MLiwNotifyCallback @ 91 NONAME
- _ZN18CLiwServiceHandler18ExecuteServiceCmdLERKiRK20CLiwGenericParamListRS2_jP18MLiwNotifyCallback @ 92 NONAME
- _ZN18CLiwServiceHandler19InitializeMenuPaneLER12CEikMenuPaneiiRK20CLiwGenericParamList @ 93 NONAME
- _ZN18CLiwServiceHandler19InitializeMenuPaneLER12CEikMenuPaneiiRK20CLiwGenericParamListi @ 94 NONAME
- _ZN18CLiwServiceHandler20QueryImplementationLER13RPointerArrayI16CLiwCriteriaItemES3_ @ 95 NONAME
- _ZN18CLiwServiceHandler4NewLEv @ 96 NONAME
- _ZN18CLiwServiceHandler5NewLCEv @ 97 NONAME
- _ZN18CLiwServiceHandler5ResetEv @ 98 NONAME
- _ZN18CLiwServiceHandler7AttachLERK13RPointerArrayI16CLiwCriteriaItemE @ 99 NONAME
- _ZN18CLiwServiceHandler7AttachLERK13RPointerArrayI16CLiwCriteriaItemER22CRTSecMgrScriptSession @ 100 NONAME
- _ZN18CLiwServiceHandler7AttachLEi @ 101 NONAME
- _ZN18CLiwServiceHandler7DetachLERK13RPointerArrayI16CLiwCriteriaItemE @ 102 NONAME
- _ZN18CLiwServiceHandler7DetachLEi @ 103 NONAME
- _ZN18CLiwServiceHandler9IsLiwMenuEi @ 104 NONAME
- _ZN18CLiwServiceHandlerD0Ev @ 105 NONAME
- _ZN18CLiwServiceHandlerD1Ev @ 106 NONAME
- _ZN18CLiwServiceHandlerD2Ev @ 107 NONAME
- _ZN18MLiwNotifyCallback16GetTransactionIDEv @ 108 NONAME
- _ZN20CLiwGenericParamList12InternalizeLER11RReadStream @ 109 NONAME
- _ZN20CLiwGenericParamList14PackForServerLER8TIpcArgs @ 110 NONAME
- _ZN20CLiwGenericParamList17UnpackFromClientLERK9RMessage2 @ 111 NONAME
- _ZN20CLiwGenericParamList4NewLER11RReadStream @ 112 NONAME
- _ZN20CLiwGenericParamList4NewLEv @ 113 NONAME
- _ZN20CLiwGenericParamList5NewLCER11RReadStream @ 114 NONAME
- _ZN20CLiwGenericParamList5NewLCEv @ 115 NONAME
- _ZN20CLiwGenericParamList5ResetEv @ 116 NONAME
- _ZN20CLiwGenericParamList6RemoveERK6TDesC8 @ 117 NONAME
- _ZN20CLiwGenericParamList6RemoveEi @ 118 NONAME
- _ZN20CLiwGenericParamList7AppendLERK16TLiwGenericParam @ 119 NONAME
- _ZN20CLiwGenericParamList7AppendLERKS_ @ 120 NONAME
- _ZNK11TLiwVariant10AsIterableEv @ 121 NONAME
- _ZNK11TLiwVariant11AsInterfaceEv @ 122 NONAME
- _ZNK11TLiwVariant12AsFileHandleEv @ 123 NONAME
- _ZNK11TLiwVariant3GetER4TUid @ 124 NONAME
- _ZNK11TLiwVariant3GetER5RFile @ 125 NONAME
- _ZNK11TLiwVariant3GetER5TDes8 @ 126 NONAME
- _ZNK11TLiwVariant3GetER5TTime @ 127 NONAME
- _ZNK11TLiwVariant3GetER6TDes16 @ 128 NONAME
- _ZNK11TLiwVariant3GetER6TPtrC8 @ 129 NONAME
- _ZNK11TLiwVariant3GetER7CLiwMap @ 130 NONAME
- _ZNK11TLiwVariant3GetER7TPtrC16 @ 131 NONAME
- _ZNK11TLiwVariant3GetER8CLiwList @ 132 NONAME
- _ZNK11TLiwVariant3GetERd @ 133 NONAME
- _ZNK11TLiwVariant3GetERi @ 134 NONAME
- _ZNK11TLiwVariant3GetERj @ 135 NONAME
- _ZNK11TLiwVariant3GetERl @ 136 NONAME
- _ZNK11TLiwVariant5AsDesEv @ 137 NONAME
- _ZNK11TLiwVariant5AsMapEv @ 138 NONAME
- _ZNK11TLiwVariant6AsDataEv @ 139 NONAME
- _ZNK11TLiwVariant6AsListEv @ 140 NONAME
- _ZNK11TLiwVariant6AsTUidEv @ 141 NONAME
- _ZNK11TLiwVariant7AsTBoolEv @ 142 NONAME
- _ZNK11TLiwVariant7AsTRealEv @ 143 NONAME
- _ZNK11TLiwVariant7AsTTimeEv @ 144 NONAME
- _ZNK11TLiwVariant7AsTUintEv @ 145 NONAME
- _ZNK11TLiwVariant8AsBufferEv @ 146 NONAME
- _ZNK11TLiwVariant8AsTInt32Ev @ 147 NONAME
- _ZNK12CLiwMenuPane12ServiceCmdIdEi @ 148 NONAME
- _ZNK12CLiwMenuPane8DynCmdIdEi @ 149 NONAME
- _ZNK12CLiwMenuPane9MenuCmdIdEi @ 150 NONAME
- _ZNK13CLiwContainer12ExternalizeLER12RWriteStream @ 151 NONAME
- _ZNK13CLiwContainer4SizeEv @ 152 NONAME
- _ZNK14CLiwDefaultMap12ExternalizeLER12RWriteStream @ 153 NONAME
- _ZNK14CLiwDefaultMap3AtLEi @ 154 NONAME
- _ZNK14CLiwDefaultMap3AtLEiR5TDes8 @ 155 NONAME
- _ZNK14CLiwDefaultMap4SizeEv @ 156 NONAME
- _ZNK14CLiwDefaultMap5CountEv @ 157 NONAME
- _ZNK14CLiwDefaultMap5FindLERK6TDesC8R11TLiwVariant @ 158 NONAME
- _ZNK15CLiwDefaultList12ExternalizeLER12RWriteStream @ 159 NONAME
- _ZNK15CLiwDefaultList3AtLEiR11TLiwVariant @ 160 NONAME
- _ZNK15CLiwDefaultList4SizeEv @ 161 NONAME
- _ZNK15CLiwDefaultList5CountEv @ 162 NONAME
- _ZNK16CLiwCriteriaItem10ServiceCmdEv @ 163 NONAME
- _ZNK16CLiwCriteriaItem11ContentTypeEv @ 164 NONAME
- _ZNK16CLiwCriteriaItem12MaxProvidersEv @ 165 NONAME
- _ZNK16CLiwCriteriaItem12ServiceClassEv @ 166 NONAME
- _ZNK16CLiwCriteriaItem13ServiceCmdStrEv @ 167 NONAME
- _ZNK16CLiwCriteriaItem15DefaultProviderEv @ 168 NONAME
- _ZNK16CLiwCriteriaItem18GetMetaDataOptionsER11TLiwVariant @ 169 NONAME
- _ZNK16CLiwCriteriaItem2IdEv @ 170 NONAME
- _ZNK16CLiwCriteriaItem7OptionsEv @ 171 NONAME
- _ZNK17CLiwServiceIfMenu8MenuPaneEv @ 172 NONAME
- _ZNK18CLiwServiceHandler19ServiceCmdByMenuCmdEi @ 173 NONAME
- _ZNK18CLiwServiceHandler9MenuCmdIdEi @ 174 NONAME
- _ZNK20CLiwGenericParamList12ExternalizeLER12RWriteStream @ 175 NONAME
- _ZNK20CLiwGenericParamList3AtLEiR16TLiwGenericParam @ 176 NONAME
- _ZNK20CLiwGenericParamList4SizeEv @ 177 NONAME
- _ZNK20CLiwGenericParamList5CountEiN3LIW14TVariantTypeIdE @ 178 NONAME
- _ZNK20CLiwGenericParamList5CountEv @ 179 NONAME
- _ZNK20CLiwGenericParamList8FindNextERiRK6TDesC8N3LIW14TVariantTypeIdE @ 180 NONAME
- _ZNK20CLiwGenericParamList8FindNextERiiN3LIW14TVariantTypeIdE @ 181 NONAME
- _ZNK20CLiwGenericParamList9FindFirstERiRK6TDesC8N3LIW14TVariantTypeIdE @ 182 NONAME
- _ZNK20CLiwGenericParamList9FindFirstERiiN3LIW14TVariantTypeIdE @ 183 NONAME
- _ZNK20CLiwGenericParamListixEi @ 184 NONAME
- _ZNK7CLiwMapeqERKS_ @ 185 NONAME
- _ZNK8CLiwListeqERKS_ @ 186 NONAME
- _ZTI12CLiwIterable @ 187 NONAME ; #<TI>#
- _ZTI12CLiwMenuPane @ 188 NONAME ; #<TI>#
- _ZTI13CLiwContainer @ 189 NONAME ; #<TI>#
- _ZTI14CLiwDefaultMap @ 190 NONAME ; #<TI>#
- _ZTI14CLiwXmlHandler @ 191 NONAME ; #<TI>#
- _ZTI15CLiwDefaultList @ 192 NONAME ; #<TI>#
- _ZTI15CLiwEcomMonitor @ 193 NONAME ; #<TI>#
- _ZTI15CLiwServiceData @ 194 NONAME ; #<TI>#
- _ZTI16CLiwCriteriaItem @ 195 NONAME ; #<TI>#
- _ZTI17CLiwServiceIfBase @ 196 NONAME ; #<TI>#
- _ZTI17CLiwServiceIfMenu @ 197 NONAME ; #<TI>#
- _ZTI7CLiwMap @ 198 NONAME ; #<TI>#
- _ZTI8CLiwList @ 199 NONAME ; #<TI>#
- _ZTV12CLiwIterable @ 200 NONAME ; #<VT>#
- _ZTV12CLiwMenuPane @ 201 NONAME ; #<VT>#
- _ZTV13CLiwContainer @ 202 NONAME ; #<VT>#
- _ZTV14CLiwDefaultMap @ 203 NONAME ; #<VT>#
- _ZTV14CLiwXmlHandler @ 204 NONAME ; #<VT>#
- _ZTV15CLiwDefaultList @ 205 NONAME ; #<VT>#
- _ZTV15CLiwEcomMonitor @ 206 NONAME ; #<VT>#
- _ZTV15CLiwServiceData @ 207 NONAME ; #<VT>#
- _ZTV16CLiwCriteriaItem @ 208 NONAME ; #<VT>#
- _ZTV17CLiwServiceIfBase @ 209 NONAME ; #<VT>#
- _ZTV17CLiwServiceIfMenu @ 210 NONAME ; #<VT>#
- _ZTV7CLiwMap @ 211 NONAME ; #<VT>#
- _ZTV8CLiwList @ 212 NONAME ; #<VT>#
- _ZeqRK11TLiwVariantS1_ @ 213 NONAME
- _ZeqRK16TLiwGenericParamS1_ @ 214 NONAME
- _ZN11TLiwVariant14VariantCleanupEPv @ 215 NONAME
- _ZN13CLiwContainer5CloseEv @ 216 NONAME
- _ZN16TLiwGenericParam12ParamCleanupEPv @ 217 NONAME
- _ZN11TLiwVariant5PushLEv @ 218 NONAME
- _ZN14CLiwDefaultMap5NewLCEv @ 219 NONAME
- _ZN15CLiwDefaultList5NewLCEv @ 220 NONAME
- _ZN13CLiwContainer5PushLEv @ 221 NONAME
- _ZN16TLiwGenericParam5PushLEv @ 222 NONAME
- _ZN11TLiwVariant3SetEx @ 223 NONAME
- _ZNK11TLiwVariant3GetERx @ 224 NONAME
- _ZNK11TLiwVariant8AsTInt64Ev @ 225 NONAME
-
--- a/languageinterworkingfw/servicehandler/bwins/liwServiceHandlerU.DEF Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,183 +0,0 @@
-EXPORTS
- ??0CLiwMenuPane@@QAE@AAVCEikMenuPane@@H@Z @ 1 NONAME ; CLiwMenuPane::CLiwMenuPane(class CEikMenuPane &, int)
- ??0TLiwVariant@@QAE@ABV0@@Z @ 2 NONAME ; TLiwVariant::TLiwVariant(class TLiwVariant const &)
- ??1CLiwContainer@@MAE@XZ @ 3 NONAME ; CLiwContainer::~CLiwContainer(void)
- ??1CLiwCriteriaItem@@UAE@XZ @ 4 NONAME ; CLiwCriteriaItem::~CLiwCriteriaItem(void)
- ??1CLiwDefaultList@@EAE@XZ @ 5 NONAME ; CLiwDefaultList::~CLiwDefaultList(void)
- ??1CLiwDefaultMap@@EAE@XZ @ 6 NONAME ; CLiwDefaultMap::~CLiwDefaultMap(void)
- ??1CLiwMenuPane@@UAE@XZ @ 7 NONAME ; CLiwMenuPane::~CLiwMenuPane(void)
- ??1CLiwServiceHandler@@UAE@XZ @ 8 NONAME ; CLiwServiceHandler::~CLiwServiceHandler(void)
- ??1CLiwServiceIfBase@@UAE@XZ @ 9 NONAME ; CLiwServiceIfBase::~CLiwServiceIfBase(void)
- ??1CLiwServiceIfMenu@@UAE@XZ @ 10 NONAME ; CLiwServiceIfMenu::~CLiwServiceIfMenu(void)
- ??4TLiwVariant@@QAEAAV0@ABV0@@Z @ 11 NONAME ; class TLiwVariant & TLiwVariant::operator=(class TLiwVariant const &)
- ??8@YAHABVTLiwGenericParam@@0@Z @ 12 NONAME ; int operator==(class TLiwGenericParam const &, class TLiwGenericParam const &)
- ??8@YAHABVTLiwVariant@@0@Z @ 13 NONAME ; int operator==(class TLiwVariant const &, class TLiwVariant const &)
- ??8CLiwCriteriaItem@@QAEHABV0@@Z @ 14 NONAME ; int CLiwCriteriaItem::operator==(class CLiwCriteriaItem const &)
- ??8CLiwIterable@@UAEHAAV0@@Z @ 15 NONAME ; int CLiwIterable::operator==(class CLiwIterable &)
- ??8CLiwList@@UBEHABV0@@Z @ 16 NONAME ; int CLiwList::operator==(class CLiwList const &) const
- ??8CLiwMap@@UBEHABV0@@Z @ 17 NONAME ; int CLiwMap::operator==(class CLiwMap const &) const
- ??ACLiwGenericParamList@@QBEABVTLiwGenericParam@@H@Z @ 18 NONAME ; class TLiwGenericParam const & CLiwGenericParamList::operator[](int) const
- ?AddMenuItemL@CLiwMenuPane@@QAEXHAAUSData@CEikMenuPaneItem@@H@Z @ 19 NONAME ; void CLiwMenuPane::AddMenuItemL(int, struct CEikMenuPaneItem::SData &, int)
- ?AddMenuItemL@CLiwMenuPane@@QAEXHAAUSData@CEikMenuPaneItem@@HABVTDesC16@@@Z @ 20 NONAME ; void CLiwMenuPane::AddMenuItemL(int, struct CEikMenuPaneItem::SData &, int, class TDesC16 const &)
- ?AddMenuItemsL@CLiwMenuPane@@QAEXAAV?$TBuf@$0BAA@@@HHHH@Z @ 21 NONAME ; void CLiwMenuPane::AddMenuItemsL(class TBuf<256> &, int, int, int, int)
- ?AddMenuItemsL@CLiwMenuPane@@QAEXAAVTResourceReader@@HHH@Z @ 22 NONAME ; void CLiwMenuPane::AddMenuItemsL(class TResourceReader &, int, int, int)
- ?AddTitleItemL@CLiwMenuPane@@QAEXABVTDesC16@@H@Z @ 23 NONAME ; void CLiwMenuPane::AddTitleItemL(class TDesC16 const &, int)
- ?AppendL@CLiwDefaultList@@UAEXABVTLiwVariant@@@Z @ 24 NONAME ; void CLiwDefaultList::AppendL(class TLiwVariant const &)
- ?AppendL@CLiwGenericParamList@@QAEXABV1@@Z @ 25 NONAME ; void CLiwGenericParamList::AppendL(class CLiwGenericParamList const &)
- ?AppendL@CLiwGenericParamList@@QAEXABVTLiwGenericParam@@@Z @ 26 NONAME ; void CLiwGenericParamList::AppendL(class TLiwGenericParam const &)
- ?AsBuffer@TLiwVariant@@QBEPAVCLiwBuffer@@XZ @ 27 NONAME ; class CLiwBuffer * TLiwVariant::AsBuffer(void) const
- ?AsData@TLiwVariant@@QBE?AVTPtrC8@@XZ @ 28 NONAME ; class TPtrC8 TLiwVariant::AsData(void) const
- ?AsDes@TLiwVariant@@QBE?AVTPtrC16@@XZ @ 29 NONAME ; class TPtrC16 TLiwVariant::AsDes(void) const
- ?AsFileHandle@TLiwVariant@@QBE?AVRFile@@XZ @ 30 NONAME ; class RFile TLiwVariant::AsFileHandle(void) const
- ?AsInterface@TLiwVariant@@QBEPAVMLiwInterface@@XZ @ 31 NONAME ; class MLiwInterface * TLiwVariant::AsInterface(void) const
- ?AsIterable@TLiwVariant@@QBEPAVCLiwIterable@@XZ @ 32 NONAME ; class CLiwIterable * TLiwVariant::AsIterable(void) const
- ?AsList@TLiwVariant@@QBEPBVCLiwList@@XZ @ 33 NONAME ; class CLiwList const * TLiwVariant::AsList(void) const
- ?AsMap@TLiwVariant@@QBEPBVCLiwMap@@XZ @ 34 NONAME ; class CLiwMap const * TLiwVariant::AsMap(void) const
- ?AsTBool@TLiwVariant@@QBEHXZ @ 35 NONAME ; int TLiwVariant::AsTBool(void) const
- ?AsTInt32@TLiwVariant@@QBEJXZ @ 36 NONAME ; long TLiwVariant::AsTInt32(void) const
- ?AsTReal@TLiwVariant@@QBENXZ @ 37 NONAME ; double TLiwVariant::AsTReal(void) const
- ?AsTTime@TLiwVariant@@QBE?AVTTime@@XZ @ 38 NONAME ; class TTime TLiwVariant::AsTTime(void) const
- ?AsTUid@TLiwVariant@@QBE?AVTUid@@XZ @ 39 NONAME ; class TUid TLiwVariant::AsTUid(void) const
- ?AsTUint@TLiwVariant@@QBEHXZ @ 40 NONAME ; int TLiwVariant::AsTUint(void) const
- ?AtL@CLiwDefaultList@@UBEHHAAVTLiwVariant@@@Z @ 41 NONAME ; int CLiwDefaultList::AtL(int, class TLiwVariant &) const
- ?AtL@CLiwDefaultMap@@QBEABVTDesC8@@H@Z @ 42 NONAME ; class TDesC8 const & CLiwDefaultMap::AtL(int) const
- ?AtL@CLiwDefaultMap@@UBEHHAAVTDes8@@@Z @ 43 NONAME ; int CLiwDefaultMap::AtL(int, class TDes8 &) const
- ?AtL@CLiwGenericParamList@@QBEXHAAVTLiwGenericParam@@@Z @ 44 NONAME ; void CLiwGenericParamList::AtL(int, class TLiwGenericParam &) const
- ?AttachL@CLiwServiceHandler@@QAEHABV?$RPointerArray@VCLiwCriteriaItem@@@@@Z @ 45 NONAME ; int CLiwServiceHandler::AttachL(class RPointerArray<class CLiwCriteriaItem> const &)
- ?AttachL@CLiwServiceHandler@@QAEHABV?$RPointerArray@VCLiwCriteriaItem@@@@AAVCRTSecMgrScriptSession@@@Z @ 46 NONAME ; int CLiwServiceHandler::AttachL(class RPointerArray<class CLiwCriteriaItem> const &, class CRTSecMgrScriptSession &)
- ?AttachL@CLiwServiceHandler@@QAEXH@Z @ 47 NONAME ; void CLiwServiceHandler::AttachL(int)
- ?AttachMenuL@CLiwServiceHandler@@QAEXAAV?$RArray@H@@HAAV?$RPointerArray@VCLiwCriteriaItem@@@@@Z @ 48 NONAME ; void CLiwServiceHandler::AttachMenuL(class RArray<int> &, int, class RPointerArray<class CLiwCriteriaItem> &)
- ?AttachMenuL@CLiwServiceHandler@@QAEXHAAVTResourceReader@@@Z @ 49 NONAME ; void CLiwServiceHandler::AttachMenuL(int, class TResourceReader &)
- ?AttachMenuL@CLiwServiceHandler@@QAEXHABV?$RPointerArray@VCLiwCriteriaItem@@@@@Z @ 50 NONAME ; void CLiwServiceHandler::AttachMenuL(int, class RPointerArray<class CLiwCriteriaItem> const &)
- ?AttachMenuL@CLiwServiceHandler@@QAEXHH@Z @ 51 NONAME ; void CLiwServiceHandler::AttachMenuL(int, int)
- ?ContentType@CLiwCriteriaItem@@QBEABVTDesC8@@XZ @ 52 NONAME ; class TDesC8 const & CLiwCriteriaItem::ContentType(void) const
- ?Count@CLiwDefaultList@@UBEHXZ @ 53 NONAME ; int CLiwDefaultList::Count(void) const
- ?Count@CLiwDefaultMap@@UBEHXZ @ 54 NONAME ; int CLiwDefaultMap::Count(void) const
- ?Count@CLiwGenericParamList@@QBEHHW4TVariantTypeId@LIW@@@Z @ 55 NONAME ; int CLiwGenericParamList::Count(int, enum LIW::TVariantTypeId) const
- ?Count@CLiwGenericParamList@@QBEHXZ @ 56 NONAME ; int CLiwGenericParamList::Count(void) const
- ?DefaultProvider@CLiwCriteriaItem@@QBE?AVTUid@@XZ @ 57 NONAME ; class TUid CLiwCriteriaItem::DefaultProvider(void) const
- ?DetachL@CLiwServiceHandler@@QAEXABV?$RPointerArray@VCLiwCriteriaItem@@@@@Z @ 58 NONAME ; void CLiwServiceHandler::DetachL(class RPointerArray<class CLiwCriteriaItem> const &)
- ?DetachL@CLiwServiceHandler@@QAEXH@Z @ 59 NONAME ; void CLiwServiceHandler::DetachL(int)
- ?DetachMenu@CLiwServiceHandler@@QAEXHH@Z @ 60 NONAME ; void CLiwServiceHandler::DetachMenu(int, int)
- ?Dump@@YAXABVTLiwVariant@@@Z @ 61 NONAME ; void Dump(class TLiwVariant const &)
- ?DynCmdId@CLiwMenuPane@@QBEHH@Z @ 62 NONAME ; int CLiwMenuPane::DynCmdId(int) const
- ?ExecuteMenuCmdL@CLiwServiceHandler@@QAEXHABVCLiwGenericParamList@@AAV2@IPAVMLiwNotifyCallback@@@Z @ 63 NONAME ; void CLiwServiceHandler::ExecuteMenuCmdL(int, class CLiwGenericParamList const &, class CLiwGenericParamList &, unsigned int, class MLiwNotifyCallback *)
- ?ExecuteServiceCmdL@CLiwServiceHandler@@QAEXABHABVCLiwGenericParamList@@AAV2@IPAVMLiwNotifyCallback@@@Z @ 64 NONAME ; void CLiwServiceHandler::ExecuteServiceCmdL(int const &, class CLiwGenericParamList const &, class CLiwGenericParamList &, unsigned int, class MLiwNotifyCallback *)
- ?ExecuteServiceCmdL@CLiwServiceHandler@@QAEXABVCLiwCriteriaItem@@ABVCLiwGenericParamList@@AAV3@IPAVMLiwNotifyCallback@@@Z @ 65 NONAME ; void CLiwServiceHandler::ExecuteServiceCmdL(class CLiwCriteriaItem const &, class CLiwGenericParamList const &, class CLiwGenericParamList &, unsigned int, class MLiwNotifyCallback *)
- ?ExtensionInterface@CLiwServiceIfBase@@MAEPAXVTUid@@@Z @ 66 NONAME ; void * CLiwServiceIfBase::ExtensionInterface(class TUid)
- ?ExtensionInterface@CLiwServiceIfMenu@@MAEPAXVTUid@@@Z @ 67 NONAME ; void * CLiwServiceIfMenu::ExtensionInterface(class TUid)
- ?ExternalizeL@CLiwContainer@@UBEXAAVRWriteStream@@@Z @ 68 NONAME ; void CLiwContainer::ExternalizeL(class RWriteStream &) const
- ?ExternalizeL@CLiwDefaultList@@UBEXAAVRWriteStream@@@Z @ 69 NONAME ; void CLiwDefaultList::ExternalizeL(class RWriteStream &) const
- ?ExternalizeL@CLiwDefaultMap@@UBEXAAVRWriteStream@@@Z @ 70 NONAME ; void CLiwDefaultMap::ExternalizeL(class RWriteStream &) const
- ?ExternalizeL@CLiwGenericParamList@@QBEXAAVRWriteStream@@@Z @ 71 NONAME ; void CLiwGenericParamList::ExternalizeL(class RWriteStream &) const
- ?FindFirst@CLiwGenericParamList@@QBEPBVTLiwGenericParam@@AAHABVTDesC8@@W4TVariantTypeId@LIW@@@Z @ 72 NONAME ; class TLiwGenericParam const * CLiwGenericParamList::FindFirst(int &, class TDesC8 const &, enum LIW::TVariantTypeId) const
- ?FindFirst@CLiwGenericParamList@@QBEPBVTLiwGenericParam@@AAHHW4TVariantTypeId@LIW@@@Z @ 73 NONAME ; class TLiwGenericParam const * CLiwGenericParamList::FindFirst(int &, int, enum LIW::TVariantTypeId) const
- ?FindL@CLiwDefaultMap@@UBEHABVTDesC8@@AAVTLiwVariant@@@Z @ 74 NONAME ; int CLiwDefaultMap::FindL(class TDesC8 const &, class TLiwVariant &) const
- ?FindNext@CLiwGenericParamList@@QBEPBVTLiwGenericParam@@AAHABVTDesC8@@W4TVariantTypeId@LIW@@@Z @ 75 NONAME ; class TLiwGenericParam const * CLiwGenericParamList::FindNext(int &, class TDesC8 const &, enum LIW::TVariantTypeId) const
- ?FindNext@CLiwGenericParamList@@QBEPBVTLiwGenericParam@@AAHHW4TVariantTypeId@LIW@@@Z @ 76 NONAME ; class TLiwGenericParam const * CLiwGenericParamList::FindNext(int &, int, enum LIW::TVariantTypeId) const
- ?Get@TLiwVariant@@QBEHAAH@Z @ 77 NONAME ; int TLiwVariant::Get(int &) const
- ?Get@TLiwVariant@@QBEHAAI@Z @ 78 NONAME ; int TLiwVariant::Get(unsigned int &) const
- ?Get@TLiwVariant@@QBEHAAJ@Z @ 79 NONAME ; int TLiwVariant::Get(long &) const
- ?Get@TLiwVariant@@QBEHAAN@Z @ 80 NONAME ; int TLiwVariant::Get(double &) const
- ?Get@TLiwVariant@@QBEHAAVCLiwList@@@Z @ 81 NONAME ; int TLiwVariant::Get(class CLiwList &) const
- ?Get@TLiwVariant@@QBEHAAVCLiwMap@@@Z @ 82 NONAME ; int TLiwVariant::Get(class CLiwMap &) const
- ?Get@TLiwVariant@@QBEHAAVRFile@@@Z @ 83 NONAME ; int TLiwVariant::Get(class RFile &) const
- ?Get@TLiwVariant@@QBEHAAVTDes16@@@Z @ 84 NONAME ; int TLiwVariant::Get(class TDes16 &) const
- ?Get@TLiwVariant@@QBEHAAVTDes8@@@Z @ 85 NONAME ; int TLiwVariant::Get(class TDes8 &) const
- ?Get@TLiwVariant@@QBEHAAVTPtrC16@@@Z @ 86 NONAME ; int TLiwVariant::Get(class TPtrC16 &) const
- ?Get@TLiwVariant@@QBEHAAVTPtrC8@@@Z @ 87 NONAME ; int TLiwVariant::Get(class TPtrC8 &) const
- ?Get@TLiwVariant@@QBEHAAVTTime@@@Z @ 88 NONAME ; int TLiwVariant::Get(class TTime &) const
- ?Get@TLiwVariant@@QBEHAAVTUid@@@Z @ 89 NONAME ; int TLiwVariant::Get(class TUid &) const
- ?GetCriteria@CLiwServiceHandler@@QAEPBVCLiwCriteriaItem@@H@Z @ 90 NONAME ; class CLiwCriteriaItem const * CLiwServiceHandler::GetCriteria(int)
- ?GetInterest@CLiwServiceHandler@@QAEXAAV?$RPointerArray@VCLiwCriteriaItem@@@@@Z @ 91 NONAME ; void CLiwServiceHandler::GetInterest(class RPointerArray<class CLiwCriteriaItem> &)
- ?GetMetaDataOptions@CLiwCriteriaItem@@QBEXAAVTLiwVariant@@@Z @ 92 NONAME ; void CLiwCriteriaItem::GetMetaDataOptions(class TLiwVariant &) const
- ?GetTransactionID@MLiwNotifyCallback@@SAJXZ @ 93 NONAME ; long MLiwNotifyCallback::GetTransactionID(void)
- ?HandleSubmenuL@CLiwServiceHandler@@QAEHAAVCEikMenuPane@@@Z @ 94 NONAME ; int CLiwServiceHandler::HandleSubmenuL(class CEikMenuPane &)
- ?Id@CLiwCriteriaItem@@QBEHXZ @ 95 NONAME ; int CLiwCriteriaItem::Id(void) const
- ?InParamListL@CLiwServiceHandler@@QAEAAVCLiwGenericParamList@@XZ @ 96 NONAME ; class CLiwGenericParamList & CLiwServiceHandler::InParamListL(void)
- ?InitializeMenuPaneL@CLiwServiceHandler@@QAEXAAVCEikMenuPane@@HHABVCLiwGenericParamList@@@Z @ 97 NONAME ; void CLiwServiceHandler::InitializeMenuPaneL(class CEikMenuPane &, int, int, class CLiwGenericParamList const &)
- ?InitializeMenuPaneL@CLiwServiceHandler@@QAEXAAVCEikMenuPane@@HHABVCLiwGenericParamList@@H@Z @ 98 NONAME ; void CLiwServiceHandler::InitializeMenuPaneL(class CEikMenuPane &, int, int, class CLiwGenericParamList const &, int)
- ?InsertL@CLiwDefaultMap@@UAEXABVTDesC8@@ABVTLiwVariant@@@Z @ 99 NONAME ; void CLiwDefaultMap::InsertL(class TDesC8 const &, class TLiwVariant const &)
- ?InternalizeL@CLiwGenericParamList@@QAEXAAVRReadStream@@@Z @ 100 NONAME ; void CLiwGenericParamList::InternalizeL(class RReadStream &)
- ?IsLiwMenu@CLiwServiceHandler@@QAEHH@Z @ 101 NONAME ; int CLiwServiceHandler::IsLiwMenu(int)
- ?IsSubMenuEmpty@CLiwServiceHandler@@QAEHH@Z @ 102 NONAME ; int CLiwServiceHandler::IsSubMenuEmpty(int)
- ?MaxProviders@CLiwCriteriaItem@@QBEHXZ @ 103 NONAME ; int CLiwCriteriaItem::MaxProviders(void) const
- ?MenuCmdId@CLiwMenuPane@@QBEHH@Z @ 104 NONAME ; int CLiwMenuPane::MenuCmdId(int) const
- ?MenuCmdId@CLiwServiceHandler@@QBEHH@Z @ 105 NONAME ; int CLiwServiceHandler::MenuCmdId(int) const
- ?MenuPane@CLiwServiceIfMenu@@QBEPBVCLiwMenuPane@@XZ @ 106 NONAME ; class CLiwMenuPane const * CLiwServiceIfMenu::MenuPane(void) const
- ?NbrOfProviders@CLiwServiceHandler@@QAEHPBVCLiwCriteriaItem@@@Z @ 107 NONAME ; int CLiwServiceHandler::NbrOfProviders(class CLiwCriteriaItem const *)
- ?NewL@CLiwCriteriaItem@@SAPAV1@HABVTDesC8@@0@Z @ 108 NONAME ; class CLiwCriteriaItem * CLiwCriteriaItem::NewL(int, class TDesC8 const &, class TDesC8 const &)
- ?NewL@CLiwCriteriaItem@@SAPAV1@HHABVTDesC8@@@Z @ 109 NONAME ; class CLiwCriteriaItem * CLiwCriteriaItem::NewL(int, int, class TDesC8 const &)
- ?NewL@CLiwCriteriaItem@@SAPAV1@XZ @ 110 NONAME ; class CLiwCriteriaItem * CLiwCriteriaItem::NewL(void)
- ?NewL@CLiwDefaultList@@SAPAV1@XZ @ 111 NONAME ; class CLiwDefaultList * CLiwDefaultList::NewL(void)
- ?NewL@CLiwDefaultMap@@SAPAV1@XZ @ 112 NONAME ; class CLiwDefaultMap * CLiwDefaultMap::NewL(void)
- ?NewL@CLiwGenericParamList@@SAPAV1@AAVRReadStream@@@Z @ 113 NONAME ; class CLiwGenericParamList * CLiwGenericParamList::NewL(class RReadStream &)
- ?NewL@CLiwGenericParamList@@SAPAV1@XZ @ 114 NONAME ; class CLiwGenericParamList * CLiwGenericParamList::NewL(void)
- ?NewL@CLiwServiceHandler@@SAPAV1@XZ @ 115 NONAME ; class CLiwServiceHandler * CLiwServiceHandler::NewL(void)
- ?NewLC@CLiwCriteriaItem@@SAPAV1@HABVTDesC8@@0@Z @ 116 NONAME ; class CLiwCriteriaItem * CLiwCriteriaItem::NewLC(int, class TDesC8 const &, class TDesC8 const &)
- ?NewLC@CLiwCriteriaItem@@SAPAV1@HHABVTDesC8@@@Z @ 117 NONAME ; class CLiwCriteriaItem * CLiwCriteriaItem::NewLC(int, int, class TDesC8 const &)
- ?NewLC@CLiwCriteriaItem@@SAPAV1@XZ @ 118 NONAME ; class CLiwCriteriaItem * CLiwCriteriaItem::NewLC(void)
- ?NewLC@CLiwDefaultList@@SAPAV1@AAVRReadStream@@@Z @ 119 NONAME ; class CLiwDefaultList * CLiwDefaultList::NewLC(class RReadStream &)
- ?NewLC@CLiwDefaultMap@@SAPAV1@AAVRReadStream@@@Z @ 120 NONAME ; class CLiwDefaultMap * CLiwDefaultMap::NewLC(class RReadStream &)
- ?NewLC@CLiwGenericParamList@@SAPAV1@AAVRReadStream@@@Z @ 121 NONAME ; class CLiwGenericParamList * CLiwGenericParamList::NewLC(class RReadStream &)
- ?NewLC@CLiwGenericParamList@@SAPAV1@XZ @ 122 NONAME ; class CLiwGenericParamList * CLiwGenericParamList::NewLC(void)
- ?NewLC@CLiwServiceHandler@@SAPAV1@XZ @ 123 NONAME ; class CLiwServiceHandler * CLiwServiceHandler::NewLC(void)
- ?Options@CLiwCriteriaItem@@QBEIXZ @ 124 NONAME ; unsigned int CLiwCriteriaItem::Options(void) const
- ?OutParamListL@CLiwServiceHandler@@QAEAAVCLiwGenericParamList@@XZ @ 125 NONAME ; class CLiwGenericParamList & CLiwServiceHandler::OutParamListL(void)
- ?PackForServerL@CLiwGenericParamList@@QAEPAVHBufC8@@AAVTIpcArgs@@@Z @ 126 NONAME ; class HBufC8 * CLiwGenericParamList::PackForServerL(class TIpcArgs &)
- ?QueryImplementationL@CLiwServiceHandler@@QAEXAAV?$RPointerArray@VCLiwCriteriaItem@@@@0@Z @ 127 NONAME ; void CLiwServiceHandler::QueryImplementationL(class RPointerArray<class CLiwCriteriaItem> &, class RPointerArray<class CLiwCriteriaItem> &)
- ?ReadFromResoureL@CLiwCriteriaItem@@QAEXAAVTResourceReader@@@Z @ 128 NONAME ; void CLiwCriteriaItem::ReadFromResoureL(class TResourceReader &)
- ?Remove@CLiwDefaultList@@UAEXH@Z @ 129 NONAME ; void CLiwDefaultList::Remove(int)
- ?Remove@CLiwDefaultMap@@UAEXABVTDesC8@@@Z @ 130 NONAME ; void CLiwDefaultMap::Remove(class TDesC8 const &)
- ?Remove@CLiwGenericParamList@@QAEHH@Z @ 131 NONAME ; int CLiwGenericParamList::Remove(int)
- ?Remove@CLiwGenericParamList@@QAEXABVTDesC8@@@Z @ 132 NONAME ; void CLiwGenericParamList::Remove(class TDesC8 const &)
- ?ReportMenuLaunch@CLiwServiceHandler@@SAXXZ @ 133 NONAME ; void CLiwServiceHandler::ReportMenuLaunch(void)
- ?Reset@CLiwGenericParamList@@QAEXXZ @ 134 NONAME ; void CLiwGenericParamList::Reset(void)
- ?Reset@CLiwServiceHandler@@QAEXXZ @ 135 NONAME ; void CLiwServiceHandler::Reset(void)
- ?Reset@TLiwVariant@@QAEXXZ @ 136 NONAME ; void TLiwVariant::Reset(void)
- ?ServiceClass@CLiwCriteriaItem@@QBEABVTUid@@XZ @ 137 NONAME ; class TUid const & CLiwCriteriaItem::ServiceClass(void) const
- ?ServiceCmd@CLiwCriteriaItem@@QBEHXZ @ 138 NONAME ; int CLiwCriteriaItem::ServiceCmd(void) const
- ?ServiceCmdByMenuCmd@CLiwServiceHandler@@QBEHH@Z @ 139 NONAME ; int CLiwServiceHandler::ServiceCmdByMenuCmd(int) const
- ?ServiceCmdId@CLiwMenuPane@@QBEHH@Z @ 140 NONAME ; int CLiwMenuPane::ServiceCmdId(int) const
- ?ServiceCmdStr@CLiwCriteriaItem@@QBEABVTDesC8@@XZ @ 141 NONAME ; class TDesC8 const & CLiwCriteriaItem::ServiceCmdStr(void) const
- ?Set@TLiwVariant@@QAEXABVRFile@@@Z @ 142 NONAME ; void TLiwVariant::Set(class RFile const &)
- ?Set@TLiwVariant@@QAEXABVTDesC16@@@Z @ 143 NONAME ; void TLiwVariant::Set(class TDesC16 const &)
- ?Set@TLiwVariant@@QAEXABVTDesC8@@@Z @ 144 NONAME ; void TLiwVariant::Set(class TDesC8 const &)
- ?Set@TLiwVariant@@QAEXABVTTime@@@Z @ 145 NONAME ; void TLiwVariant::Set(class TTime const &)
- ?Set@TLiwVariant@@QAEXABVTUid@@@Z @ 146 NONAME ; void TLiwVariant::Set(class TUid const &)
- ?Set@TLiwVariant@@QAEXH@Z @ 147 NONAME ; void TLiwVariant::Set(int)
- ?Set@TLiwVariant@@QAEXI@Z @ 148 NONAME ; void TLiwVariant::Set(unsigned int)
- ?Set@TLiwVariant@@QAEXJ@Z @ 149 NONAME ; void TLiwVariant::Set(long)
- ?Set@TLiwVariant@@QAEXN@Z @ 150 NONAME ; void TLiwVariant::Set(double)
- ?Set@TLiwVariant@@QAEXPBVCLiwBuffer@@@Z @ 151 NONAME ; void TLiwVariant::Set(class CLiwBuffer const *)
- ?Set@TLiwVariant@@QAEXPBVCLiwIterable@@@Z @ 152 NONAME ; void TLiwVariant::Set(class CLiwIterable const *)
- ?Set@TLiwVariant@@QAEXPBVCLiwList@@@Z @ 153 NONAME ; void TLiwVariant::Set(class CLiwList const *)
- ?Set@TLiwVariant@@QAEXPBVCLiwMap@@@Z @ 154 NONAME ; void TLiwVariant::Set(class CLiwMap const *)
- ?Set@TLiwVariant@@QAEXPBVMLiwInterface@@@Z @ 155 NONAME ; void TLiwVariant::Set(class MLiwInterface const *)
- ?SetContentTypeL@CLiwCriteriaItem@@QAEXABVTDesC8@@@Z @ 156 NONAME ; void CLiwCriteriaItem::SetContentTypeL(class TDesC8 const &)
- ?SetDefaultProvider@CLiwCriteriaItem@@QAEXH@Z @ 157 NONAME ; void CLiwCriteriaItem::SetDefaultProvider(int)
- ?SetId@CLiwCriteriaItem@@QAEXH@Z @ 158 NONAME ; void CLiwCriteriaItem::SetId(int)
- ?SetL@TLiwVariant@@QAEXABV1@@Z @ 159 NONAME ; void TLiwVariant::SetL(class TLiwVariant const &)
- ?SetMaxProviders@CLiwCriteriaItem@@QAEXH@Z @ 160 NONAME ; void CLiwCriteriaItem::SetMaxProviders(int)
- ?SetMetaDataOptions@CLiwCriteriaItem@@QAEXABVTLiwVariant@@@Z @ 161 NONAME ; void CLiwCriteriaItem::SetMetaDataOptions(class TLiwVariant const &)
- ?SetOptions@CLiwCriteriaItem@@QAEXI@Z @ 162 NONAME ; void CLiwCriteriaItem::SetOptions(unsigned int)
- ?SetServiceClass@CLiwCriteriaItem@@QAEXABVTUid@@@Z @ 163 NONAME ; void CLiwCriteriaItem::SetServiceClass(class TUid const &)
- ?SetServiceCmd@CLiwCriteriaItem@@QAEXH@Z @ 164 NONAME ; void CLiwCriteriaItem::SetServiceCmd(int)
- ?SetServiceCmdL@CLiwCriteriaItem@@QAEXABVTDesC8@@@Z @ 165 NONAME ; void CLiwCriteriaItem::SetServiceCmdL(class TDesC8 const &)
- ?Size@CLiwContainer@@UBEHXZ @ 166 NONAME ; int CLiwContainer::Size(void) const
- ?Size@CLiwDefaultList@@UBEHXZ @ 167 NONAME ; int CLiwDefaultList::Size(void) const
- ?Size@CLiwDefaultMap@@UBEHXZ @ 168 NONAME ; int CLiwDefaultMap::Size(void) const
- ?Size@CLiwGenericParamList@@QBEHXZ @ 169 NONAME ; int CLiwGenericParamList::Size(void) const
- ?UnpackFromClientL@CLiwGenericParamList@@QAEXABVRMessage2@@@Z @ 170 NONAME ; void CLiwGenericParamList::UnpackFromClientL(class RMessage2 const &)
- ?VariantCleanup@TLiwVariant@@SAXPAX@Z @ 171 NONAME ; void TLiwVariant::VariantCleanup(void *)
- ?Close@CLiwContainer@@QAEXXZ @ 172 NONAME ; void CLiwContainer::Close(void)
- ?ParamCleanup@TLiwGenericParam@@SAXPAX@Z @ 173 NONAME ; void TLiwGenericParam::ParamCleanup(void *)
- ?NewLC@CLiwDefaultList@@SAPAV1@XZ @ 174 NONAME ; class CLiwDefaultList * CLiwDefaultList::NewLC(void)
- ?NewLC@CLiwDefaultMap@@SAPAV1@XZ @ 175 NONAME ; class CLiwDefaultMap * CLiwDefaultMap::NewLC(void)
- ?PushL@TLiwVariant@@QAEXXZ @ 176 NONAME ; void TLiwVariant::PushL(void)
- ?PushL@CLiwContainer@@QAEXXZ @ 177 NONAME ; void CLiwContainer::PushL(void)
- ?PushL@TLiwGenericParam@@QAEXXZ @ 178 NONAME ; void TLiwGenericParam::PushL(void)
- ?AsTInt64@TLiwVariant@@QBE_JXZ @ 179 NONAME ; long long TLiwVariant::AsTInt64(void) const
- ?Get@TLiwVariant@@QBEHAA_J@Z @ 180 NONAME ; int TLiwVariant::Get(long long &) const
- ?Set@TLiwVariant@@QAEX_J@Z @ 181 NONAME ; void TLiwVariant::Set(long long)
-
--- a/languageinterworkingfw/servicehandler/data/2000B5D4.rss Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Registry info for LIW Custom Resolver.
-*
-*/
-
-
-
-
-
-
-
-#include "registryinfo.rh"
-#include "liwuids.hrh"
-
-// Declares the interface implementation provided: a custom resolver
-RESOURCE REGISTRY_INFO theInfo
- {
- dll_uid = KLiwResolverDLLUidValue;
- interfaces =
- {
- INTERFACE_INFO
- {
- // Interface UID of resolvers
- interface_uid = 0x10009D90; // Uid for CResolver interface
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = KLiwResolverImplUidValue;
- version_no = 1;
- display_name = "";
- default_data = "";
- opaque_data = "";
- }
- };
- }
- };
- }
-
-// End of File
--- a/languageinterworkingfw/servicehandler/data/liwservicehandler.rss Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: LIW menu resource placeholders are defined here.
-*
-*/
-
-
-
-
-
-
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <avkon.loc>
-#include "liwmenuslot.hrh"
-
-NAME LIWR
-
-RESOURCE RSS_SIGNATURE { }
-
-
-RESOURCE MENU_PANE r_liw_empty_menu_0
- {
- items =
- {
- MENU_ITEM { command=ELiwMenuSlot0; }
- };
- }
-
-RESOURCE MENU_PANE r_liw_empty_menu_1
- {
- items =
- {
- MENU_ITEM { command=ELiwMenuSlot1; }
- };
- }
-
-RESOURCE MENU_PANE r_liw_empty_menu_2
- {
- items =
- {
- MENU_ITEM { command=ELiwMenuSlot2; }
- };
- }
-
-RESOURCE MENU_PANE r_liw_empty_menu_3
- {
- items =
- {
- MENU_ITEM { command=ELiwMenuSlot3; }
- };
- }
-
-RESOURCE MENU_PANE r_liw_empty_menu_4
- {
- items =
- {
- MENU_ITEM { command=ELiwMenuSlot4; }
- };
- }
-
-
-RESOURCE MENU_PANE r_liw_empty_menu_5
- {
- items =
- {
- MENU_ITEM { command=ELiwMenuSlot5; }
- };
- }
-
-
-RESOURCE MENU_PANE r_liw_empty_menu_6
- {
- items =
- {
- MENU_ITEM { command=ELiwMenuSlot6; }
- };
- }
-
-RESOURCE MENU_PANE r_liw_empty_menu_7
- {
- items =
- {
- MENU_ITEM { command=ELiwMenuSlot7; }
- };
- }
-
-
-RESOURCE MENU_PANE r_liw_empty_menu_8
- {
- items =
- {
- MENU_ITEM { command=ELiwMenuSlot8; }
- };
- }
-
-
-RESOURCE MENU_PANE r_liw_empty_menu_9
- {
- items =
- {
- MENU_ITEM { command=ELiwMenuSlot9; }
- };
- }
-
-
-RESOURCE MENU_PANE r_liw_empty_menu_10
- {
- items =
- {
- MENU_ITEM { command=ELiwMenuSlot10; }
- };
- }
-
-
-RESOURCE MENU_PANE r_liw_empty_menu_11
- {
- items =
- {
- MENU_ITEM { command=ELiwMenuSlot11; }
- };
- }
-
-
-RESOURCE MENU_PANE r_liw_empty_menu_12
- {
- items =
- {
- MENU_ITEM { command=ELiwMenuSlot12; }
- };
- }
-
-
-RESOURCE MENU_PANE r_liw_empty_menu_13
- {
- items =
- {
- MENU_ITEM { command=ELiwMenuSlot13; }
- };
- }
-
-
-RESOURCE MENU_PANE r_liw_empty_menu_14
- {
- items =
- {
- MENU_ITEM { command=ELiwMenuSlot14; }
- };
- }
-
-
-RESOURCE MENU_PANE r_liw_empty_menu_15
- {
- items =
- {
- MENU_ITEM { command=ELiwMenuSlot15; }
- };
- }
-
-
-// End of file
--- a/languageinterworkingfw/servicehandler/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file provides the information required for
-* building the whole LIWFW.
-*
-*/
-
-
-
-
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-
-//../inc/LiwServiceData.h MW_LAYER_PLATFORM_EXPORT_PATH(LiwServiceData.h)
-
-
-// ../install/liwservicehandlerstub.sis /epoc32/data/z/system/install/liwservicehandlerstub.sis
-
-// Export IBY and LOC files as per CP50 build improvements.
-// ../rom/liwservicehandler.iby CORE_MW_LAYER_IBY_EXPORT_PATH(liwservicehandler.iby)
-
-PRJ_MMPFILES
-
-#ifndef TOOLS
-
-servicehandler.mmp
-liwresolver.mmp
-
-#endif
-
-PRJ_TESTMMPFILES
--- a/languageinterworkingfw/servicehandler/group/liwresolver.mmp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project definition file for LiwResolver.
-*
-*/
-
-
-
-
-
-
-
-#include "../inc/liwuids.hrh"
-#include <platform_paths.hrh>
-
-TARGET liwResolver.dll
-CAPABILITY CAP_ECOM_PLUGIN
-TARGETTYPE PLUGIN
-
-// ECom Dll recognition UID followed by the unique UID for this dll
-UID 0x10009D8D KLiwResolverDLLUidValue
-VENDORID VID_DEFAULT
-
-VERSION 10.2
-paged
-
-SOURCEPATH ../src
-SOURCE liwresolver.cpp
-
-USERINCLUDE ../inc
-SYSTEMINCLUDE /epoc32/include/ecom
-// This is a SYSTEMINCLUDE macro containing the middleware
-// layer specific include directories
-MW_LAYER_SYSTEMINCLUDE
-
-START RESOURCE ../data/2000B5D4.rss
-TARGET liwResolver.rsc
-END
-
-LIBRARY euser.lib
-
-// End of File
--- a/languageinterworkingfw/servicehandler/group/servicehandler.mmp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: LIW project file.
-*
-*/
-
-
-
-
-
-
-
-#include "../inc/liwuids.hrh"
-#include <platform_paths.hrh>
-
-TARGET liwServiceHandler.dll
-TARGETTYPE DLL
-UID 0x1000008d KLiwServiceHandlerDLLUidValue
-
-
-VERSION 10.2
-paged
-
-CAPABILITY CAP_GENERAL_DLL
-
-SOURCEPATH ../src
-SOURCE liwcommon.cpp
-SOURCE liwservicehandler.cpp
-SOURCE liwservicehandlerimpl.cpp
-SOURCE liwmenu.cpp
-SOURCE liwbinding.cpp
-SOURCE liwmenubinding.cpp
-SOURCE liwserviceifbase.cpp
-SOURCE liwserviceifmenu.cpp
-SOURCE liwgenericparam.cpp
-SOURCE liwvariant.cpp
-SOURCE liwecommonitor.cpp
-SOURCE liwtlsdata.cpp
-SOURCE liwxmlhandler.cpp
-SOURCE liwservicedata.cpp
-
-USERINCLUDE .
-USERINCLUDE ../inc
-
-// This is a SYSTEMINCLUDE macro containing the middleware
-// layer specific include directories
-MW_LAYER_SYSTEMINCLUDE
-
-#include <data_caging_paths.hrh>
-
-START RESOURCE ../data/liwservicehandler.rss
- HEADER
- TARGETPATH RESOURCE_FILES_DIR
-END
-
-LIBRARY euser.lib
-LIBRARY eikcoctl.lib
-LIBRARY ecom.lib
-LIBRARY cone.lib
-LIBRARY bafl.lib
-LIBRARY efsrv.lib
-LIBRARY estor.lib
-LIBRARY eikcore.lib
-LIBRARY SenXML.lib
-LIBRARY RTSecMgrClient.lib
-LIBRARY inetprotutil.lib
-
-START WINS
-END
-
-START MARM
-END
-
-
-// End of File
--- a/languageinterworkingfw/servicehandler/inc/liwbinding.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Criteria binding base class declaration.
-*
-*/
-
-
-
-
-
-
-
-#ifndef _LIW_BINDING_H
-#define _LIW_BINDING_H
-
-#include "liwcommon.h"
-#include "liwserviceifbase.h"
-
-class CLiwBinding : public CBase
- {
- public:
- static CLiwBinding* NewL();
- static CLiwBinding* NewLC();
-
- inline virtual ~CLiwBinding();
- inline RPointerArray<CLiwCriteriaItem>& Interest();
- inline void AddCriteriaL(CLiwCriteriaItem* aItem);
- inline CLiwServiceIfBase* BaseProvider(TInt aIndex);
- inline TInt NumberOfProviders() const;
- void AddProviderL(CLiwServiceIfBase* aProvider, TBool aIsDefault);
- TBool RemoveProvider(TInt aImplUid);
- TInt HasCriteriaItem(CLiwCriteriaItem& aItem) const;
- void RemoveCriteria(TInt aIndex);
- TBool HasProvider(CLiwServiceIfBase* aProvider) const;
- TBool HasServiceCmd(TInt aServiceCmd) const;
- protected:
- inline CLiwBinding();
-
- private:
-
- protected:
- RPointerArray<CLiwCriteriaItem> iInterest;
- RPointerArray<CLiwServiceIfBase> iProviders;
- };
-
-
-#include "liwbinding.inl"
-
-#endif
-
-// End of file
--- a/languageinterworkingfw/servicehandler/inc/liwbinding.inl Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Criteria binding base class declaration.
-*
-*/
-
-
-
-
-
-
-
-inline CLiwBinding::~CLiwBinding()
- {
- iInterest.Reset();
- iProviders.Reset();
- }
-
-
-inline CLiwBinding::CLiwBinding()
- {
- }
-
-
-inline RPointerArray<CLiwCriteriaItem>& CLiwBinding::Interest()
- {
- return iInterest;
- }
-
-
-inline void CLiwBinding::AddCriteriaL(CLiwCriteriaItem* aItem)
- {
- User::LeaveIfError(iInterest.Append(aItem));
- }
-
-
-inline CLiwServiceIfBase* CLiwBinding::BaseProvider(TInt aIndex)
- {
- if (aIndex < iProviders.Count())
- {
- return iProviders[aIndex];
- }
- return NULL;
- }
-
-
-inline TInt CLiwBinding::NumberOfProviders() const
- {
- return iProviders.Count();
- }
-
-// End of file
--- a/languageinterworkingfw/servicehandler/inc/liwecommonitor.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Declares ECom monitoring class for LIW framework.
-*
-*/
-
-
-
-
-
-
-#ifndef _LIWECOMMONITOR_H
-#define _LIWECOMMONITOR_H
-
-#include <ecom/ecom.h>
-
-// FORWARD DECLARATIONS
-class CLiwCriteriaItem;
-class CLiwServiceIfBase;
-
-class CLiwEcomMonitor : public CActive
- {
- public:
- static CLiwEcomMonitor* NewL(TCallBack& aSynchronizeCallBack);
- virtual ~CLiwEcomMonitor();
-
- protected: // Functions from base classes
- /**
- * From CActive
- */
- void RunL();
-
- /**
- * From CActive
- */
- void DoCancel();
-
- public:
- inline REComSession& EComSession();
- void ListImplemetationsL(RImplInfoPtrArray& aResult, CLiwCriteriaItem* aItem) const;
- CLiwServiceIfBase* CreateImplementationL(TUid aImplUid);
-
- protected:
- /**
- * C++ default constructor.
- */
- CLiwEcomMonitor(TCallBack& aSynchronizeCallBack);
- void ConstructL();
- void StartMonitoring();
-
- private:
- TCallBack iSynchronizeCallBack;
- REComSession iEcomSession;
- };
-
-
-inline REComSession& CLiwEcomMonitor::EComSession()
- {
- return iEcomSession;
- }
-
-#endif // _LIWECOMMONITOR_H
-
-// End of file
--- a/languageinterworkingfw/servicehandler/inc/liwmenubinding.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Declares LIW Menu utilities for providers to access consumer menu.
-*
-*/
-
-
-
-
-
-
-#ifndef _LIW_MENUBINDING_H
-#define _LIW_MENUBINDING_H
-
-#include "liwserviceifmenu.h"
-#include "liwbinding.h"
-
-/**
-* This utility class is used for binding a set of providers to a menu placeholder.
-*/
-NONSHARABLE_CLASS(CLiwMenuBinding) : public CLiwBinding
- {
- public:
- static CLiwMenuBinding* NewL();
- static CLiwMenuBinding* NewL(TInt aMenuItemIndex, TInt aMenuId);
- static CLiwMenuBinding* NewLC();
- static CLiwMenuBinding* NewLC(TInt aMenuItemIndex, TInt aMenuId);
-
- virtual ~CLiwMenuBinding();
-
- inline void SetMenuItemIndex(TInt aMenuItemIndex);
- inline TInt MenuItemIndex() const;
- inline CLiwServiceIfMenu* MenuProvider(TInt aIndex);
- inline TInt MenuCmd() const;
- inline void SetMenuCmd(TInt aMenuCmd);
- inline TInt MenuId();
- inline void SetMenuId(TInt aId);
- inline void SetMenuPane(CLiwMenuPane* aPane);
- inline CLiwMenuPane* MenuPane();
-
- private:
- CLiwMenuBinding();
- CLiwMenuBinding(TInt aMenItemIndex, TInt aParentId);
- void ConstructL();
-
- private:
- TInt iMenuItemIndex;
- TInt iMenuCmd;
- TInt iMenuId;
- CLiwMenuPane* iMenuPane;
- };
-
-#include "liwmenubinding.inl"
-
-#endif // _LIW_MENUBINDING_H
-
-// End of file
--- a/languageinterworkingfw/servicehandler/inc/liwmenubinding.inl Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Inline methods for CLiwMenuBinding class.
-*
-*/
-
-
-
-
-
-
-inline void CLiwMenuBinding::SetMenuItemIndex(TInt aMenuItemIndex)
- {
- iMenuItemIndex = aMenuItemIndex;
- }
-
-
-inline TInt CLiwMenuBinding::MenuItemIndex() const
- {
- return iMenuItemIndex;
- }
-
-
-inline TInt CLiwMenuBinding::MenuCmd() const
- {
- return iMenuCmd;
- }
-
-
-inline void CLiwMenuBinding::SetMenuCmd(TInt aMenuCmd)
- {
- iMenuCmd = aMenuCmd;
- }
-
-
-inline TInt CLiwMenuBinding::MenuId()
- {
- return iMenuId;
- }
-
-
-inline void CLiwMenuBinding::SetMenuId(TInt aId)
- {
- iMenuId = aId;
- }
-
-
-inline CLiwServiceIfMenu* CLiwMenuBinding::MenuProvider(TInt aIndex)
- {
- if (aIndex >= 0 && aIndex < iProviders.Count())
- {
- return reinterpret_cast<CLiwServiceIfMenu*>(iProviders[aIndex]);
- }
- return NULL;
- }
-
-
-inline void CLiwMenuBinding::SetMenuPane(CLiwMenuPane* aPane)
- {
- iMenuPane = aPane;
- }
-
-
-inline CLiwMenuPane* CLiwMenuBinding::MenuPane()
- {
- return iMenuPane;
- }
-
-
-// End of file
-
--- a/languageinterworkingfw/servicehandler/inc/liwmenuslot.hrh Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Menu resource slot definitions.
-*
-*/
-
-
-
-
-
-
-
-#ifndef _LIW_MENU_SLOT_HRH
-#define _LIW_MENU_SLOT_HRH
-
-// Base value can be changed if needed, but other values
-// MUST be consecutive.
-#define ELiwMenuSlotBase 0x5000
-#define ELiwMenuSlot0 ELiwMenuSlotBase
-#define ELiwMenuSlot1 (ELiwMenuSlotBase + 1)
-#define ELiwMenuSlot2 (ELiwMenuSlotBase + 2)
-#define ELiwMenuSlot3 (ELiwMenuSlotBase + 3)
-#define ELiwMenuSlot4 (ELiwMenuSlotBase + 4)
-#define ELiwMenuSlot5 (ELiwMenuSlotBase + 5)
-#define ELiwMenuSlot6 (ELiwMenuSlotBase + 6)
-#define ELiwMenuSlot7 (ELiwMenuSlotBase + 7)
-#define ELiwMenuSlot8 (ELiwMenuSlotBase + 8)
-#define ELiwMenuSlot9 (ELiwMenuSlotBase + 9)
-#define ELiwMenuSlot10 (ELiwMenuSlotBase + 10)
-#define ELiwMenuSlot11 (ELiwMenuSlotBase + 11)
-#define ELiwMenuSlot12 (ELiwMenuSlotBase + 12)
-#define ELiwMenuSlot13 (ELiwMenuSlotBase + 13)
-#define ELiwMenuSlot14 (ELiwMenuSlotBase + 14)
-#define ELiwMenuSlot15 (ELiwMenuSlotBase + 15)
-
-
-#endif // LIW_MENU_SLOT_HRH
-
-// End of file
--- a/languageinterworkingfw/servicehandler/inc/liwresolver.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Declares custom ECom resolver.
-*
-*/
-
-
-
-
-
-
-#ifndef _LIW_RESOLVER_H
-#define _LIW_RESOLVER_H
-
-#include "liwuids.hrh"
-#include <ecom/resolver.h>
-#include <ecom/publicregistry.h>
-#include <ecom/implementationproxy.h>
-
-// FORWARD DECLARATIONS
-class TEComResolverParams;
-
-// DynFeature resolver's UID
-const TUid KLiwResolverImplUid = { KLiwResolverImplUidValue };
-
-/**
- * Implements a non-default resolver.
- *
- * This controls the identification, (resolution), of which implementation
- * will be used to satisfy an interface implementation instantiation.
- */
-class CLiwResolver : public CResolver
- {
- public:
-
- /**
- * Factory function
- * @param aRegistry <add description>
- */
- static CLiwResolver* NewL(MPublicRegistry& aRegistry);
-
- /**
- * Destructor.
- */
- virtual ~CLiwResolver();
-
- /**
- * Request that the resolver identify the most appropriate interface implementation.
- *
- * @param aInterfaceUid The interface for which implementations are requested.
- * @param aAdditionalParameters Data to be used to refine the search further.
- * @return The Uid of the best fit interface implementation -
- * KNullUid if no match is found.
- */
- TUid IdentifyImplementationL(TUid aInterfaceUid,
- const TEComResolverParams& aAdditionalParameters) const;
-
- /**
- * List all the implementations which satisfy the specified interface.
- *
- * @param aInterfaceUid The interface for which implementations are requested
- * @param aAdditionalParameters Data to be used to refine the search further
- * @return Pointer to an array of suitable implementations.
- * Ownership of this array is passed to the calling function.
- */
- RImplInfoArray* ListAllL(TUid aInterfaceUid,
- const TEComResolverParams& aAdditionalParameters) const;
-
- private:
-
- /**
- * Constructor.
- * @param aRegistry <add description>
- */
- explicit CLiwResolver(MPublicRegistry& aRegistry);
-
- /**
- * Called by IdentifyImplementationL to select an appropriate implementation from a
- * list of possibles.
- *
- * @param aImplementationsInfo Information on the potential implementations
- * @param aAdditionalParameters The data to match against to detemine the implementation
- * @return The Uid of the selected implementation -
- * KNullUid if no match is found
- */
- TUid Resolve(const RImplInfoArray& aImplementationsInfo,
- const TEComResolverParams& aAdditionalParameters) const;
-
- /**
- * Searches for a match of a data type on an implementation type.
- * Match returns ETrue if aMatchType is found within aImplementationType according
- * to the following rules:
- *
- * 1) aImplementationType is treated as a series of descriptors separated by double
- * bars (||). ETrue is returned if aMatchType matches exactly any of the short
- * descriptors. If no double bar is present then aImplementationType is treated as a
- * single descriptor.
- *
- * 2) If aUseWildcards == ETrue then a '?' in aMatchType will be matched to any single
- * character and '*' will be matched to any series of characters.
- *
- * @param aImplementationType The implementation data type to search for a match
- * @param aMatchType The data to search for
- * @param aUseWildcards ETrue if wildcard matching should be allowed
- * @return ETrue if a match was found, EFalse otherwise
- */
- TBool Match(const TDesC8& aImplementationType, const TDesC8& aMatchType,
- TBool aUseWildcards) const;
-
- TBool MatchServiceCmd(const TDesC8& aOpaqueData, const TDesC8& aServiceCmd) const;
-
- void ParseInput(const TDesC8& aParam, TDes8& aContent, TDes8& aOpaque) const;
-
- private:
-
- mutable RImplInfoArray* iImplementationInfoArray;
- };
-
-
-#endif // LIW_RESOLVER_H
-
-// End of file
-
--- a/languageinterworkingfw/servicehandler/inc/liwservicedata.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Declares Service Data and Service Provider Metadata classes
-*
-*/
-
-
-
-
-
-
-
-#ifndef LIW_SERVICEDATA_H
-#define LIW_SERVICEDATA_H
-
-// INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-
-// MACROS
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-class CLiwServiceData;
-class CLiwXmlHandler;
-class CLiwServiceHandlerImpl;
-class CDesC8Array;
-
-class CLiwMap;
-class CLiwGenericParamList;
-class TLiwVariant;
-
-/**
-* CLiwServiceData models the service provider data/information.
-* A Service provider can obtain its metadata through the interfaces
-* of this class. The Service metadata is a name-value pair defined
-* by the provider as part of its registration information (Refer \c REGISTRY_INFO).
-*
-* One of the key metadata value is the capability set which are expected
-* from the service consumer by the provider. The required capability set
-* is specifed in the provider registration information (Refer \c REGISTRY_INFO).
-*
-* ServiceHandler queries for those capabilities using \c CLiwServiceData::GetCapabilitiesL
-*
-* @lib ServiceHandler.lib
-*
-* @see CLiwServiceHandler
-* @see CLiwMetaData
-* @see TCapability
-*/
-class CLiwServiceData : public CBase
-{
-public:
-
-
- /**
- * Returns the service metadata.
- *
- * @return the service metadata
- */
- CLiwGenericParamList* GetMetaData() const;
-
- // Destructor
- virtual ~CLiwServiceData();
-
-private:
-
- /*
- * Creates and returns an instance of \c CLiwServiceData
- * This is private and not available for external clients.
- *
- * @return the instance of created instance of \c CLiwServiceData
- */
- static CLiwServiceData* NewL();
-
- /*
- * Creates and returns an instance of \c CLiwServiceData
- * The created instance is left in the cleanupstack.
- * This is private and not available for external clients.
- *
- * @return the instance of created instance of \c CLiwServiceData
- */
- static CLiwServiceData* NewLC();
-
- /*
- * Default private constructor.
- * Creates the metadata associated with the service data
- */
- CLiwServiceData();
-
- /*
- * Second phase constructor
- */
- void ConstructL();
-
- /*
- * Adds a metadata name-value pair. If the key already exists,
- * then the value will be added to the list of values associated
- * with the metadata key
- *
- * @param aKey the metadata key to be inserted
- * @param aValue the value associated with the metadata key to be inserted
- */
- void AddMetaDataL(const TDesC8& aKey, const TDesC8& aValue);
- void AddMetaDataL(const TDesC8& aKey, const TLiwVariant& aValue);
-
- /*
- * Removes all the metadata key-value pairs.
- * This is called from service handler implementation if and only
- * if there is an error in parsing. Since, the FW uses SAX parser
- * and if the XML error happens after the metadata entries are
- * created, the entries should be cleaned up.
- */
- void CleanUpMetaData();
-
-
-
- CLiwGenericParamList* iDataList;
-
- friend class CLiwXmlHandler;
- friend class CLiwServiceHandlerImpl;
-};
-
-#endif
-
-// End of File
-
-
--- a/languageinterworkingfw/servicehandler/inc/liwservicehandlerimpl.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,435 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation class for CLiwServiceHandler.
-* See also LiwServiceHandler.h.
-*
-*/
-
-
-
-
-
-
-
-#ifndef LIW_SERVICE_HANDLER_IMPL_H
-#define LIW_SERVICE_HANDLER_IMPL_H
-
-// INCLUDES
-#include <ecom/ecom.h>
-#include <barsread.h>
-#include <liwcommon.h>
-#include "liwtlsdata.h"
-#include <eikmobs.h>
-#include <e32capability.h>
-
-// CONSTANTS
-
-// MACROS
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-class CLiwMenuBinding;
-class CLiwMenuPane;
-class CLiwServiceIfMenu;
-class CLiwServiceIfBase;
-class CLiwEcomMonitor;
-class CRTSecMgrScriptSession;
-
-// CLASS DECLARATION
-
-/**
-* Internal implementation class for CLiwServiceHandler.
-*
-* Contains the actual implementation logic for Service Handler, whereas the
-* CLiwServiceHandler class provides only the public API.
-*
-* @see CLiwServiceHandler for API documentation.
-* @since Series 60 2.6
-*/
-NONSHARABLE_CLASS(CLiwServiceHandlerImpl) :
- public CBase,
- public MLiwNotifyCallback,
- public MEikMenuObserver,
- public MLiwMenuLaunchObserver
- {
- public: // Construction & destruction
- /**
- * Constructs CLiwServiceHandlerImpl instance.
- *
- * @return Pointer to the new instance.
- */
- static CLiwServiceHandlerImpl* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CLiwServiceHandlerImpl();
-
- public: // Management
- /**
- * @see CLiwServiceHandler::Reset()
- */
- void Reset();
-
- /**
- * @see CLiwServiceHandler::NbrOfProviders()
- */
- TInt NbrOfProviders(const CLiwCriteriaItem* aCriteria);
-
-
-
- public: // Interest handling
- /**
- * @see CLiwServiceHandler::AttachL()
- */
- void AttachL(TInt aInterestResourceId);
-
- /**
- * @see CLiwServiceHandler::AttachL()
- */
- TInt AttachL(const RCriteriaArray& aInterest);
-
- TInt AttachL(const RCriteriaArray& aInterest,CRTSecMgrScriptSession* aSecMgrScriptSession);
- /**
- * @see CLiwServiceHandler::QueryImplementationL()
- */
- void QueryImplementationL(CLiwCriteriaItem* aItem, RCriteriaArray& aProviderList);
- void GetCapabilitiesL(RArray<TCapability>& secMgrCapList,CLiwGenericParamList* pMetaData);
- /**
- * @see CLiwServiceHandler::GetProviderResourceFile()
- */
- void GetProviderResourceFile(TDes& aFilePath, CLiwGenericParamList* pMetaData);
-
- /**
- * @see CLiwServiceHandler::GetInterest()
- */
- void GetInterest(RCriteriaArray& aInterest);
-
- /**
- * @see CLiwServiceHandler::DetachL()
- */
- void DetachL(const RCriteriaArray& aInterest);
-
- /**
- * @see CLiwServiceHandler::DetachL()
- */
- void DetachL(TInt aInterestResourceId);
-
- /**
- * @see CLiwServiceHandler::GetCriteria()
- */
- const CLiwCriteriaItem* GetCriteria(TInt aId);
-
- /**
- * @see CLiwServiceHandler::InParamListL()
- */
- CLiwGenericParamList& InParamListL();
-
- /**
- * @see CLiwServiceHandler::OutParamListL()
- */
- CLiwGenericParamList& OutParamListL();
-
- public: // Menu handling
- /**
- * @see CLiwServiceHandler::InitializeMenuPaneL()
- */
- void InitializeMenuPaneL(
- CEikMenuPane& aMenuPane,
- TInt aMenuResourceId,
- TInt aBaseMenuCmdId,
- const CLiwGenericParamList& aInParamList);
- /**
- * @see CLiwServiceHandler::InitializeMenuPaneL()
- */
- void InitializeMenuPaneL(
- CEikMenuPane& aMenuPane,
- TInt aMenuResourceId,
- TInt aBaseMenuCmdId,
- const CLiwGenericParamList& aInParamList,
- TBool aUseSubmenuTextsIfAvailable);
-
- /**
- * @see CLiwServiceHandler::ServiceCmdByMenuCmd()
- */
- TInt ServiceCmdByMenuCmd(TInt aMenuCmdId) const;
-
- /**
- * @see CLiwServiceHandler::ExecuteMenuCmdL()
- */
- void ExecuteMenuCmdL(
- TInt aMenuCmdId,
- const CLiwGenericParamList& aInParamList,
- CLiwGenericParamList& aOutParamList,
- TUint aCmdOptions = 0,
- MLiwNotifyCallback* aCallback= NULL);
-
- /**
- * @see CLiwServiceHandler::AttachMenuL()
- */
- void AttachMenuL(TInt aMenuResourceId, TInt aInterestResourceId);
-
- /**
- * @see CLiwServiceHandler::AttachMenuL()
- */
- void AttachMenuL(TInt aMenuResourceId, TResourceReader& aReader);
-
- /**
- * @see CLiwServiceHandler::AttachMenuL()
- */
- void AttachMenuL(TInt aMenuResourceId, const RCriteriaArray& aInterest);
-
- /**
- * Attach menu related criteria items to given menu.
- *
- * @param aMenuEntries List of menu command ids.
- * @param aMenuResourceId Menu to be attached.
- * @param aInterest Interest list.
- */
- void AttachMenuL(RArray<TInt>& aMenuEntries, TInt aMenuResourceId, RCriteriaArray& aInterest);
-
- /**
- * Attach menu related criteria items to given menu.
- *
- * @param aMenuResourceId Resource reader pointing
- * to menu to be attached.
- */
-
- //void AttachMenuL(TResourceReader& aReader, TInt aMenuId, RCriteriaArray& aInterest);
-
- /**
- * @see CLiwServiceHandler::DetachMenu()
- */
- void DetachMenu(TInt aMenuResourceId, TInt aInterestResourceId);
-
- /**
- * @see CLiwServiceHandler::IsSubMenuEmpty()
- */
- TBool IsSubMenuEmpty(TInt aSubMenuId);
-
- /**
- * @see CLiwServiceHandler::IsLiwMenu()
- */
- TBool IsLiwMenu(TInt aMenuResourceId);
-
- /**
- * @see CLiwServiceHandler::HandleSubmenuL()
- */
- TBool HandleSubmenuL(CEikMenuPane& aPane);
-
- public: // Generic service command handling
- /**
- * @see CLiwServiceHandler::ExecuteServiceCmdL()
- */
- void ExecuteServiceCmdL(
- const TInt& aCmdId,
- const CLiwGenericParamList& aInParamList,
- CLiwGenericParamList& aOutParamList,
- TUint aCmdOptions = 0,
- MLiwNotifyCallback* aCallback = 0);
-
- /**
- * @see CLiwServiceHandler::ExecuteServiceCmdL()
- */
- void ExecuteServiceCmdL(
- const CLiwCriteriaItem& aCmd,
- const CLiwGenericParamList& aInParamList,
- CLiwGenericParamList& aOutParamList,
- TUint aCmdOptions = 0,
- MLiwNotifyCallback* aCallback = 0);
-
- /**
- * @see CLiwServiceHandler::MenuCmdId()
- */
- TInt MenuCmdId(TInt aMenuCmdId) const;
-
- public: // Other new methods
- /**
- * Called by CLiwEcomMonitor.
- *
- * @param aImpl An object representing this class.
- * @return An error code. KErrNone if successful.
- */
- static TInt SynchronizeCallBack(TAny* aImpl);
-
- public: // From MLiwNotifyCallback
- TInt HandleNotifyL(
- TInt aCmdId,
- TInt aEventId,
- CLiwGenericParamList& aEventParamList,
- const CLiwGenericParamList& aInParamList);
-
- public: // From MEikMenuObserver
- void SetEmphasis(CCoeControl* aMenuControl,TBool aEmphasis);
-
- public: // From MEikCommandObserver (via MEikMenuObserver)
- void ProcessCommandL(TInt aCommandId);
-
- void GetProviderCapability(CLiwCriteriaItem* aItem,RCriteriaArray& aOutItem);
-
- private: // From MLiwMenuLaunchObserver
- void MenuLaunched();
-
- private:
- // Possible placeholder types.
- enum TLiwPlaceholderType
- {
- ELiwPlaceholderNormal,
- ELiwPlaceholderCascade,
- ELiwPlaceholderIntelligentCascade
- };
-
- private:
- CLiwServiceHandlerImpl();
- void ConstructL();
-
- // Attach menu related criteria items to given menu.
- void DoAttachMenuL(TResourceReader& aReader, TInt aMenuId, RCriteriaArray& aInterest);
-
- TInt DoAttachL(const RCriteriaArray& aInterest,CRTSecMgrScriptSession* aScriptSession);
- void DoAttachL(const RCriteriaArray& aInterest);
-
- void ReadInterestListL(TResourceReader& aReader, RPointerArray<CLiwCriteriaItem>& aResult);
- TInt ResolveProvidersL(CLiwBinding* aBinding, CLiwCriteriaItem* aItem, CRTSecMgrScriptSession* aScriptSession);
- TInt ResolveProvidersL(CLiwBinding* aBinding, CLiwCriteriaItem* aItem);
-
- TBool IsCached(CLiwServiceIfBase* aProvider);
-
- CLiwMenuPane* CreateEmptyLiwMenuPaneL(TInt aBaseMenuCmdId, TInt aResourceId);
- void DeleteLiwMenuPane(CLiwMenuPane* aLiwPane);
-
- TInt ResourceIdForNextFreeSlot();
- void CopyMenuItemsL(CLiwMenuPane* aSource, CEikMenuPane& aDest, TInt aStartIndex,
- TBool aIsSubmenu);
- TInt SlotItemCmd(CEikMenuPane& aPane);
- CLiwMenuPane* MenuPaneForSlotCmd(TInt aCmdId);
- TLiwPlaceholderType PlaceholderType(CEikMenuPane& aPane, TInt aCmd, TBool& aTitleLocked);
- void ConvertPlaceholderL(CEikMenuPane& aPane, TInt aCmd, CLiwMenuPane& aLiwPane,
- const TDesC& aTitle);
- void UnCascadeL(CEikMenuPane& aPane, TInt aCmd, CLiwMenuPane& aLiwPane);
- void SkipMenuFields(TResourceReader& aReader);
- TBool IsInLastInitialized(CLiwMenuPane* liwPane) const;
- TBool GetSubmenuTitle(CEikMenuPane& aPane, TDes& aResult);
- TBool IsCriteriaAlreadyInInterest(CLiwCriteriaItem& aItem,
- RPointerArray<CLiwCriteriaItem>& aInterest) const;
- CLiwCriteriaItem* ConvertCriteriaItemPointerL(CLiwCriteriaItem* aCandidate);
- void FilterInterestListL(RPointerArray<CLiwCriteriaItem>& aOrginal,
- RPointerArray<CLiwCriteriaItem>& aFiltered);
- void FilterInfoArray(RImplInfoPtrArray& aArray, RArray<TInt32>& aArrayPlugin,
- CLiwCriteriaItem* aItem);
- CLiwMenuBinding* AlreadyBound(TInt aMenuId, TInt aMenuCmd, TInt aMenuItemIndex) const;
- void SynchronizeDbL();
- void ListProvidersForCriteriaL(RArray<TInt>& aResult, CLiwCriteriaItem& aItem);
- void HandleRemovedProviders(RArray<TInt>& aInMemory, RImplInfoPtrArray& aOnSystem);
- void HandleNewProvidersL(RArray<TInt>& aInMemory, RImplInfoPtrArray& aOnSystem,
- CLiwCriteriaItem* aItem);
- void RemoveProvider(TInt aImplUid);
- void AddProviderL(TUid aImplUid, CLiwCriteriaItem* aItem);
- inline void ClearMenuPaneArray();
- void AttachServiceManagerPluginsL();
- void ServiceManagerPlugin_ListImplementationsL(RArray<TInt32>& aArray, CLiwCriteriaItem* aItem);
- CLiwServiceIfBase* ServiceManagerPlugin_CreateImplementationL(TInt32 aImplUid);
- TInt NumAlreadyInitializedPaneIdsL() const;
-
- // Leaving helper method. Handler cleanupstack issues and calls ReadInterestListL().
- void ReadInterestL(RCriteriaArray& aInterest, TInt aInterestResourceId);
-
- // Detaches all items from given menu.
- void DoDetachMenu(TInt aMenuResourceId);
-
- // Detaches only those items from a given menu, which match the given interest.
-
-
- void DoDetachMenu(TInt aMenuResourceId, RCriteriaArray& aInterest);
-
- // Removes unnecessary criteria items from Service Handler.
- void RemoveObsoleteCriteriaItems();
-
- // Removes unnecessary providers from Service Handler.
- void RemoveObsoleteProviders();
-
- /* Parses the metadata information stored in the opaque_data field
- * of service provider registration information \c REGISTRY_INFO.
- *
- * The metadata information is seprated from the service command definition
- * in the opaque_data field using a separator "::".
- *
- * @param aOpaque the opaque_data values specified in the registration information
- * @param aMetaData the parsed metadata entries will be stored in this variable
- *
- */
- void ParseMetaData(const TDesC8& aOpaque, TDes8& aMetaData);
-
- //To fetch the infoArray
- void QueryImplementationL(CLiwCriteriaItem* aItem, RImplInfoPtrArray& aInfoArray);
-
- TCapability GetServiceCapability(const TDesC& aCapName);
-
- //To fetch the version range specified by the consumer while creating Criteria
- TBool GetVersionRange(CLiwCriteriaItem* aItem,TReal& aMinVersion, TReal& aMaxVersion);
-
- //To fetch the version range specified by the consumer while creating Criteria
- TBool GetVersion (CLiwCriteriaItem* aItem,TReal& aVersion);
-
- //To fetch the implementation version specified in provider metadata
- void ComputeIntfVersion(CLiwServiceData* pProvMetaData,TReal& aIntfVersion);
-
- private:
- // Pointer to the control environment.
- CCoeEnv* iCoeEnv;
-
- // Owns all the attached criteria items.
- RPointerArray<CLiwCriteriaItem> iInterestList;
-
- // Criteria -> provider bindings for base service providers.
- RPointerArray<CLiwBinding> iBaseBindings;
-
- // Criteria -> provider bindings for menu service providers.
- RPointerArray<CLiwMenuBinding> iMenuBindings;
-
- // Contains the LIW menu panes.
- RPointerArray<CLiwMenuPane> iMenuPanes;
-
- // Input parameter list which can be given to the consumer application.
- CLiwGenericParamList* iInParams;
-
- // Output parameter list which can be given to the consumer application.
- CLiwGenericParamList* iOutParams;
-
- // Resource offset for LiwServiceHandler.rsc.
- TInt iResourceOffset;
-
- // Owns all the providers currently in memory.
- RPointerArray<CLiwServiceIfBase> iProviders;
-
- TInt iNextFreeSlot;
- RPointerArray<CLiwMenuPane> iLastInitialized;
- CLiwMenuPane* iSubmenu;
- TInt iSubmenuCmd;
- CLiwEcomMonitor* iEcomMonitor;
- TBool iTlsDataOpened;
- };
-
-
-inline void CLiwServiceHandlerImpl::ClearMenuPaneArray()
- {
- iMenuPanes.ResetAndDestroy();
- }
-
-#endif // LIW_SERVICE_HANDLER_IMPL_H
-
-// END of File
-
-
--- a/languageinterworkingfw/servicehandler/inc/liwtlsdata.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: TLS data object.
-*
-*/
-
-
-
-
-
-
-
-#ifndef _LIW_TLS_DATA_H
-#define _LIW_TLS_DATA_H
-
-#include <e32base.h>
-
-class MLiwMenuLaunchObserver
- {
- public:
- virtual void MenuLaunched() = 0;
- };
-
-NONSHARABLE_CLASS( CLiwTlsData ) : public CBase
- {
- public:
- static CLiwTlsData* OpenL();
- static void Close();
-
- inline static CLiwTlsData* Instance()
- {
- return static_cast<CLiwTlsData*>( Dll::Tls() );
- }
-
- void AddMenuLaunchObserverL( MLiwMenuLaunchObserver* aObserver );
- void RemoveMenuLaunchObserver( MLiwMenuLaunchObserver* aObserver );
-
- // CEikMenuPane uses this to inform LIW when a menu is launched.
- void ReportMenuLaunch();
-
- private:
- CLiwTlsData();
- virtual ~CLiwTlsData();
-
- static CLiwTlsData* NewL();
- void ConstructL();
-
- private:
- TInt iRefCount;
- RPointerArray<MLiwMenuLaunchObserver> iMenuLaunchObservers;
- };
-
-#endif // _LIW_TLS_DATA_H
-
-// End of file
--- a/languageinterworkingfw/servicehandler/inc/liwuids.hrh Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: UID definitions for Language Interworking Framework.
-*
-*/
-
-
-
-
-
-
-
-#ifndef INC_LIWUIDS_HRH
-#define INC_LIWUIDS_HRH
-
-#define KLiwServiceHandlerDLLUidValue 0x2000B5D3
-
-#define KLiwResolverDLLUidValue 0x2000B5D4
-#define KLiwResolverImplUidValue 0x2000B5D5
-
-#endif
-
-// End of File
--- a/languageinterworkingfw/servicehandler/inc/liwxmlhandler.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Wrapper to XML parser interface. Loads the inline and external XML metadata
-* and populates the service provider metadata information. This class
-* uses Symbian SAX parser to load the metadata information.
-*
-*/
-
-
-
-
-
-
-
-#ifndef LIW_XMLHANDLER_H
-#define LIW_XMLHANDLER_H
-
-#include <SenXmlReader.h>
-#include <MSenContentHandlerClient.h>
-#include <xml/contenthandler.h>
-#include <e32capability.h>
-
-// CONSTANTS
-const TInt KMaxBufLen = 255;
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-class CLiwServiceData;
-class CLiwList;
-
-/**
-* Wrapper class for XML parser. This class is used to parse inline
-* and file-based external metadata definitions. SAX (Simple API for XML)
-* parser is used to parse the XML content.
-*
-* @lib ServiceHandler.lib
-*
-* @see MSenContentHandlerClient
-* @see CSenXmlReader
-* @see CLiwServiceData
-**/
-class CLiwXmlHandler : public CBase, public MSenContentHandlerClient
-{
-public:
-
- /*
- * Creates and returns an instance of \c CLiwXmlHandler
- *
- * @return an instance of \c CLiwXmlHandler
- */
- static CLiwXmlHandler* NewL();
-
- /*
- * Creates and returns an instance of \c CLiwXmlHandler
- * Leaves the created instance in the cleanupstack.
- *
- * @return an instance of \c CLiwXmlHandler
- */
- static CLiwXmlHandler* NewLC();
-
- /*
- * Destructor
- */
- virtual ~CLiwXmlHandler();
-
- /**
- * Receive notification of the beginning of a document.
- * @return KErrNone or some of the system-wide Symbian error codes.
- */
- virtual TInt StartDocument();
-
- /**
- * Receive notification of the end of a document.
- * @return KErrNone or some of the system-wide Symbian error codes.
- */
- virtual TInt EndDocument();
-
- /**
- * Receive notification of the start of an element.
- * @return KErrNone or some of the system-wide Symbian error codes.
- */
- virtual TInt StartElement( const TDesC8& /*aURI*/,
- const TDesC8& /*aLocalName*/,
- const TDesC8& /*aName*/,
- const RAttributeArray& /* apAttrs */);
-
- /**
- * Receive notification of the end of an element.
- * @return KErrNone or some of the system-wide Symbian error codes.
- */
- virtual TInt EndElement( const TDesC8& /*aURI*/,
- const TDesC8& /*aLocalName*/,
- const TDesC8& /*aName*/);
- /**
- * Receive notification of the character data found in the XML document.
- * @return KErrNone or some of the system-wide Symbian error codes.
- */
- virtual TInt Characters(const TDesC8& /*aBuf*/,
- const TInt /*aStart*/,
- const TInt /*aLength*/);
-
- /**
- * Called when there is an error in parsing.
- * @return KErrNone or some of the system-wide Symbian error codes.
- */
- inline virtual TInt Error(TInt /*aErrorCode*/);
-
- /**
- * Loads service data from an external file specified
- * in aFileToParse parameter.
- *
- * @param aFileToParse a valid well defined XML file having metadata definition
- * @param aServiceData service data to be populated with service provider information.
- * The caller should pass a properly instantiated pointer to CLiwServiceData instance
- *
- * @return KErrNone if the loading of service data is successful
- KSrvDataLoadFailed if the loading of XML file failed
- */
- TInt LoadServiceData(const TDesC& aFileToParse, CLiwServiceData* aServiceData);
-
- /**
- * Loads service data from a XML data buffer. The passed XML data buffer
- * should be well defined and well formatted valid XML content.
- *
- * @param aXmlBuffer a valid well defined and well formatted XML data content
- * @param aServiceData service data to be populated with service provider information.
- * The caller should pass a properly instantiated pointer to CLiwServiceData instance
- *
- * @return KErrNone if the loading of service data is successful
- KSrvDataLoadFailed if the loading of XML buffer content failed
- */
- TInt LoadServiceData(const TDesC8& aXmlBuffer, CLiwServiceData* aServiceData);
-
- /*
- * Enumeration IDs corresponding to XML parsing status
- */
- enum TLiwXmlParseStatus
- {
- ESrvDataLoadSuccess=0,
- ESrvDataLoadFailed, //General failures other than below
- ESrvDataFileNotFnd,
- ESrvDataInvalidFile, //Parse error
- ESrvDataCapNotSpecified
- };
-
-private:
-
- //private default constructor
- CLiwXmlHandler();
-
- //second phase constructor
- void ConstructL();
-
- //the SAX parser instance
- CSenXmlReader* iXmlHandler;
-
- //the service data instance to be populated with metadata information
- CLiwServiceData* iServiceData;
-
- HBufC8* iBuffer;
- TBuf8<KMaxBufLen> startBuf;
-};
-
-#endif
-
-// End of File
-
-
--- a/languageinterworkingfw/servicehandler/install/liwservicehandler.pkg Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of the License "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description:
-;
-&EN
-;
-; UID is the app's UID
-;
-#{"LIWServiceHandler"},(0x2000B5D3),1,0,0
-
-;
-; List of localised vendor names
-%{"Vendor-EN"}
-
-; The non-localised, globally unique vendor name (mandatory)
-:"Nokia OY"
-;Supports Series 60 v 3.x
-;This line indicates that this installation is for the Series 60 platform v3.x
-;This line must appear _exactly_ as shown below in the sis file
-;If this line is missing or incorrect, the sis file will not be able
-;to be installed on Series 60 v3.x platforms
-(0x101F7961), 0, 0, 0, {"Series60ProductID"}
-;
-; Two files to install
-;
-"\epoc32\release\armv5\urel\liwServiceHandler.dll" -"!:\sys\bin\liwServiceHandler.dll"
-"\epoc32\release\armv5\urel\liwResolver.dll" -"!:\sys\bin\liwResolver.dll"
-"\epoc32\data\z\resource\liwServiceHandler.RSC" -"!:\resource\liwServiceHandler.RSC"
-"\epoc32\data\z\resource\plugins\liwResolver.RSC" -"!:\resource\plugins\liwResolver.RSC"
\ No newline at end of file
--- a/languageinterworkingfw/servicehandler/install/liwservicehandler_PU.pkg Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of the License "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description:
-;
-&EN
-;
-; UID is the app's UID
-;
-#{"LIWServiceHandler"},(0x2000B5D3),1,0,0, TYPE = PU
-
-;
-; List of localised vendor names
-%{"Vendor-EN"}
-
-; The non-localised, globally unique vendor name (mandatory)
-:"Nokia OY"
-;Supports Series 60 v 3.x
-;This line indicates that this installation is for the Series 60 platform v3.x
-;This line must appear _exactly_ as shown below in the sis file
-;If this line is missing or incorrect, the sis file will not be able
-;to be installed on Series 60 v3.x platforms
-(0x101F7961), 0, 0, 0, {"Series60ProductID"}
-;
-; Two files to install
-;
-"\epoc32\release\armv5\urel\liwServiceHandler.dll" -"!:\sys\bin\liwServiceHandler.dll"
-"\epoc32\release\armv5\urel\liwResolver.dll" -"!:\sys\bin\liwResolver.dll"
-"\epoc32\data\z\resource\liwServiceHandler.RSC" -"!:\resource\liwServiceHandler.RSC"
-"\epoc32\data\z\resource\plugins\liwResolver.RSC" -"!:\resource\plugins\liwResolver.RSC"
\ No newline at end of file
--- a/languageinterworkingfw/servicehandler/install/liwservicehandlerstub.pkg Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of the License "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description:
-;
-&EN
-
-; standard SIS file header
-#{"LIWServiceHandler"}, (0x2000b5d3), 1, 0, 0, TYPE=SA
-
-;Localized Vendor Name
-%{"Nokia-EN"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Files to copy
-""-"z:\sys\bin\liwServiceHandler.dll"
-""-"z:\sys\bin\liwResolver.dll"
-""-"z:\resource\liwResolver.RSC"
-""-"z:\resource\liwServiceHandler.RSC"
\ No newline at end of file
Binary file languageinterworkingfw/servicehandler/install/liwservicehandlerstub.sis has changed
--- a/languageinterworkingfw/servicehandler/src/liwbinding.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-#include "liwbinding.h"
-
-
-CLiwBinding* CLiwBinding::NewL()
- {
- return new (ELeave) CLiwBinding();
- }
-
-
-
-CLiwBinding* CLiwBinding::NewLC()
- {
- CLiwBinding* bind = new (ELeave) CLiwBinding();
- CleanupStack::PushL(bind);
- return bind;
- }
-
-
-void CLiwBinding::AddProviderL(CLiwServiceIfBase* aProvider, TBool aIsDefault)
- {
- if (aIsDefault)
- {
- // Default provider will be the first item in array.
- User::LeaveIfError(iProviders.Insert(aProvider, 0));
- }
- else
- {
- User::LeaveIfError(iProviders.Append(aProvider));
- }
- }
-
-
-
-TInt CLiwBinding::HasCriteriaItem(CLiwCriteriaItem& aItem) const
- {
- const TInt count = iInterest.Count();
- for (TInt index = 0; index < count; index++)
- {
- if ((*iInterest[index]) == aItem)
- {
- return index;
- }
- }
-
- return KErrNotFound;
- }
-
-
-TBool CLiwBinding::HasProvider(CLiwServiceIfBase* aProvider) const
- {
- for (TInt index = 0; index < iProviders.Count(); index++)
- {
- if (iProviders[index] == aProvider)
- {
- return ETrue;
- }
- }
-
- return EFalse;
- }
-
-
-void CLiwBinding::RemoveCriteria(TInt aIndex)
- {
- iInterest.Remove( aIndex );
- }
-
-
-
-TBool CLiwBinding::RemoveProvider(TInt aImplUid)
- {
- for (TInt index = 0; index < iProviders.Count(); index++)
- {
- if (iProviders[index]->ImplementationUid().iUid == aImplUid)
- {
- iProviders.Remove( index );
- return ETrue;
- }
- }
-
- return EFalse;
- }
-
-TBool CLiwBinding::HasServiceCmd(TInt aServiceCmd) const
- {
- for (TInt index = 0; index < iInterest.Count(); index++)
- {
- if(iInterest[index]->ServiceCmd() == aServiceCmd)
- {
- return ETrue;
- }
- }
- return EFalse;
- }
-// End of file
--- a/languageinterworkingfw/servicehandler/src/liwcommon.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,365 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation for common LIW classes to be used both
-* consumer and provider side.
-*
-*/
-
-
-
-
-
-
-#include "liwcommon.h"
-#include <eikenv.h>
-const TInt KInitialMaxProviders = 0xff;
-
-CLiwCriteriaItem::CLiwCriteriaItem()
- {
- }
-
-
-
-EXPORT_C CLiwCriteriaItem* CLiwCriteriaItem::NewL()
- {
- CLiwCriteriaItem* item = new (ELeave) CLiwCriteriaItem();
- CleanupStack::PushL( item );
- item->ConstructL();
- CleanupStack::Pop(item); // item
- return item;
- }
-
-
-
-EXPORT_C CLiwCriteriaItem* CLiwCriteriaItem::NewLC()
- {
- CLiwCriteriaItem* item = new (ELeave) CLiwCriteriaItem();
- CleanupStack::PushL( item );
- item->ConstructL();
- return item;
- }
-
-
-
-EXPORT_C CLiwCriteriaItem* CLiwCriteriaItem::NewL(
- TInt aCriteriaId,
- TInt aServiceCmd,
- const TDesC8& aContentType)
- {
- CLiwCriteriaItem* item = new (ELeave) CLiwCriteriaItem();
- CleanupStack::PushL( item );
- item->ConstructL(aCriteriaId, aServiceCmd, aContentType);
- CleanupStack::Pop(item); // item
- return item;
- }
-
-
-
-EXPORT_C CLiwCriteriaItem* CLiwCriteriaItem::NewLC(
- TInt aCriteriaId,
- TInt aServiceCmd,
- const TDesC8& aContentType)
- {
- CLiwCriteriaItem* item = new (ELeave) CLiwCriteriaItem();
- CleanupStack::PushL( item );
- item->ConstructL(aCriteriaId, aServiceCmd, aContentType);
- return item;
- }
-
-EXPORT_C CLiwCriteriaItem* CLiwCriteriaItem::NewL(
- TInt aCriteriaId,
- const TDesC8& aServiceCmd,
- const TDesC8& aContentType)
- {
- CLiwCriteriaItem* item = new (ELeave) CLiwCriteriaItem();
- CleanupStack::PushL( item );
- item->ConstructL(aCriteriaId, aServiceCmd, aContentType);
- CleanupStack::Pop(item); // item
- return item;
- }
-
-EXPORT_C CLiwCriteriaItem* CLiwCriteriaItem::NewLC(
- TInt aCriteriaId,
- const TDesC8& aServiceCmd,
- const TDesC8& aContentType)
- {
- CLiwCriteriaItem* item = new (ELeave) CLiwCriteriaItem();
- CleanupStack::PushL( item );
- item->ConstructL(aCriteriaId, aServiceCmd, aContentType);
- return item;
- }
-
-
-EXPORT_C CLiwCriteriaItem::~CLiwCriteriaItem()
- {
- delete iReserved.iData.iBufC8;
- delete iContentType;
- iOptions.Reset();
-
- iMetadataOptions.Reset();
- }
-
-
-void CLiwCriteriaItem::ConstructL()
- {
- iMaxProviders = KInitialMaxProviders;
- }
-
-
-
-void CLiwCriteriaItem::ConstructL(TInt aCriteriaId, TInt aServiceCmd,
- const TDesC8& aContentType)
- {
- iMaxProviders = KInitialMaxProviders;
- iCriteriaId = aCriteriaId;
- iServiceCmd = aServiceCmd;
- SetContentTypeL( aContentType );
- }
-
-void CLiwCriteriaItem::ConstructL(TInt aCriteriaId, const TDesC8& aServiceCmd,
- const TDesC8& aContentType)
- {
- iMaxProviders = KInitialMaxProviders;
- iCriteriaId = aCriteriaId;
- SetServiceCmdL( aServiceCmd );
- SetContentTypeL( aContentType );
- }
-
-EXPORT_C void CLiwCriteriaItem::SetId(TInt aId)
- {
- iCriteriaId = aId;
- }
-
-
-
-EXPORT_C void CLiwCriteriaItem::SetServiceClass(const TUid& aServiceUid)
- {
- iServiceClass = aServiceUid;
- }
-
-
-
-EXPORT_C void CLiwCriteriaItem::SetServiceCmd(TInt aServiceCmd)
- {
- iServiceCmd = aServiceCmd;
- }
-
-EXPORT_C void CLiwCriteriaItem::SetServiceCmdL(const TDesC8& aServiceCmd)
- {
- iServiceCmd = KLiwCmdAsStr;
- delete iReserved.iData.iBufC8;
- iReserved.iData.iBufC8 = NULL;
- iReserved.iData.iBufC8 = HBufC8::NewL(aServiceCmd.Length());
- TPtr8 content(iReserved.iData.iBufC8->Des());
- content.SetLength(aServiceCmd.Length());
- content.Copy(aServiceCmd);
- }
-
-EXPORT_C void CLiwCriteriaItem::SetContentTypeL(const TDesC8& aContentType)
- {
- delete iContentType;
- iContentType = NULL;
- iContentType = HBufC8::NewL(aContentType.Length());
- TPtr8 content(iContentType->Des());
- content.SetLength(aContentType.Length());
- content.Copy(aContentType);
- }
-
-
-
-EXPORT_C TInt CLiwCriteriaItem::Id() const
- {
- return iCriteriaId;
- }
-
-
-
-EXPORT_C const TUid& CLiwCriteriaItem::ServiceClass() const
- {
- return iServiceClass;
- }
-
-
-
-EXPORT_C TInt CLiwCriteriaItem::ServiceCmd() const
- {
- return iServiceCmd;
- }
-
-EXPORT_C const TDesC8& CLiwCriteriaItem::ServiceCmdStr() const
- {
- return ((iReserved.iData.iBufC8) ? *iReserved.iData.iBufC8 : KNullDesC8());
- }
-
-EXPORT_C const TDesC8& CLiwCriteriaItem::ContentType() const
- {
- if (iContentType)
- {
- return *iContentType;
- }
-
- return KNullDesC8();
- }
-
-
-
-EXPORT_C void CLiwCriteriaItem::SetOptions(TUint aOptions)
- {
- if(aOptions == 0)
- return;
-
- iOptions.Set(aOptions);
- }
-
-
-EXPORT_C void CLiwCriteriaItem::SetMetaDataOptions(const TLiwVariant& aMetaDataOptions)
- {
- iMetadataOptions.SetL(aMetaDataOptions);
- }
-
-EXPORT_C void CLiwCriteriaItem::GetMetaDataOptions(TLiwVariant& aMetaDataOptions) const
- {
- aMetaDataOptions.SetL(iMetadataOptions);
- }
-
-EXPORT_C TUint CLiwCriteriaItem::Options() const
- {
- return iOptions.AsTUint();
- }
-
-
-
-EXPORT_C void CLiwCriteriaItem::ReadFromResoureL(TResourceReader& aReader)
- {
- delete iContentType;
- iContentType = NULL;
-
- delete iReserved.iData.iBufC8;
- iReserved.iData.iBufC8 = NULL;
-
- iCriteriaId = aReader.ReadInt32();
- iServiceCmd = aReader.ReadInt32();
-
- if (iServiceCmd == KLiwCmdAsStr)
- {
- TPtrC8 txtptr = aReader.ReadTPtrC8();
- iReserved.iData.iBufC8 = HBufC8::NewL(txtptr.Length());
- TPtr8 content(iReserved.iData.iBufC8->Des());
- content.Copy( txtptr );
- }
-
- {
- TPtrC8 txtptr = aReader.ReadTPtrC8();
- iContentType = HBufC8::NewL(txtptr.Length());
- TPtr8 content(iContentType->Des());
- content.Copy( txtptr );
- }
-
- iServiceClass = TUid::Uid(aReader.ReadInt32());
-
- iDefaultProvider = TUid::Uid(aReader.ReadInt32());
-
- iMaxProviders = aReader.ReadUint8();
-
- SetOptions((TUint)aReader.ReadUint8());
-
- TInt capResID = aReader.ReadInt32(); // Skip over reserved field.
-
-
- }
-
-
-
-EXPORT_C TUid CLiwCriteriaItem::DefaultProvider() const
- {
- return iDefaultProvider;
- }
-
-
-
-EXPORT_C void CLiwCriteriaItem::SetDefaultProvider(TInt aDefault)
- {
- iDefaultProvider = TUid::Uid(aDefault);
- }
-
-
-EXPORT_C TInt CLiwCriteriaItem::MaxProviders() const
- {
- return iMaxProviders;
- }
-
-
-EXPORT_C void CLiwCriteriaItem::SetMaxProviders(TInt aMaxProviders)
- {
- iMaxProviders = aMaxProviders;
- }
-
-
-EXPORT_C TBool CLiwCriteriaItem::operator==(const CLiwCriteriaItem& aItem)
- {
- if (iServiceCmd != KLiwCmdAsStr)
- {
- return ((iCriteriaId == aItem.iCriteriaId) &&
- (iServiceCmd == aItem.iServiceCmd) &&
- (iContentType->Compare(*(aItem.iContentType)) == KErrNone) &&
- (iServiceClass.iUid == aItem.iServiceClass.iUid) &&
- (iDefaultProvider.iUid == aItem.iDefaultProvider.iUid) &&
- (iMaxProviders == aItem.iMaxProviders) &&
- (iOptions == aItem.iOptions) &&
- (iMetadataOptions == aItem.iMetadataOptions));
- }
- else
- {
- if(iCriteriaId== aItem.iCriteriaId)
- {
- if(0 == iReserved.iData.iBufC8->Des().Compare(aItem.iReserved.iData.iBufC8->Des()))
- {
- if(iContentType->Compare(*(aItem.iContentType)) == KErrNone)
- {
- if(iServiceClass.iUid == aItem.iServiceClass.iUid)
- {
- if(iDefaultProvider.iUid == aItem.iDefaultProvider.iUid)
- {
- if(iMaxProviders == aItem.iMaxProviders)
- {
- if((iOptions == aItem.iOptions))
- {
- if((iMetadataOptions == aItem.iMetadataOptions))
- {
- return ETrue;
- }
- }
- }
- }
- }
- }
- }
- }
- return EFalse;
- }
- }
-
-EXPORT_C TInt32 MLiwNotifyCallback::GetTransactionID()
-{
- TTime currentTime;
- const TInt KMin = 60;
- const TInt KSec = 60;
- const TInt KMcSec = 1000;
- currentTime.HomeTime();
- return (KMin * KSec * currentTime.DateTime().Hour())+
- (KMin * currentTime.DateTime().Minute())+
- (KMcSec * currentTime.DateTime().Second()) +
- (currentTime.DateTime().MicroSecond());
-}
-// End of file
--- a/languageinterworkingfw/servicehandler/src/liwecommonitor.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation for ECom monitoring class for LIW framework.
-*
-*/
-
-
-
-
-
-
-#include "liwecommonitor.h"
-#include "liwcommon.h"
-#include "liwuids.hrh"
-#include "liwserviceifbase.h"
-#include <liwservicehandler.h>
-
-// CONSTANTS
-_LIT8(KContentTag, "<CONTENT>");
-_LIT8(KOpaqueTag, "<OPAQUE>");
-_LIT8(KLiwMimeTypeAll, "*");
-const TInt KMaxCmdLength = 238;
-const TInt KMaxDataParamSize = 255;
-
-CLiwEcomMonitor* CLiwEcomMonitor::NewL(TCallBack& aSynchronizeCallBack)
- {
- CLiwEcomMonitor* self = new (ELeave) CLiwEcomMonitor(aSynchronizeCallBack);
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop(self); // self
- return self;
- }
-
-
-CLiwEcomMonitor::CLiwEcomMonitor(TCallBack& aSynchronizeCallBack)
-:CActive(CActive::EPriorityStandard), iSynchronizeCallBack(aSynchronizeCallBack)
- {
- }
-
-
-CLiwEcomMonitor::~CLiwEcomMonitor()
- {
- Cancel();
- iEcomSession.Close();
- REComSession::FinalClose();
- }
-
-
-void CLiwEcomMonitor::ConstructL()
- {
- iEcomSession = REComSession::OpenL();
- CActiveScheduler::Add(this);
- StartMonitoring();
- }
-
-
-void CLiwEcomMonitor::RunL()
- {
- iSynchronizeCallBack.CallBack();
- StartMonitoring();
- }
-
-
-
-void CLiwEcomMonitor::DoCancel()
- {
- iEcomSession.CancelNotifyOnChange(iStatus);
- }
-
-
-void CLiwEcomMonitor::StartMonitoring()
- {
- iEcomSession.NotifyOnChange(iStatus);
- SetActive();
- }
-
-
-
-void CLiwEcomMonitor::ListImplemetationsL(RImplInfoPtrArray& aResult,
- CLiwCriteriaItem* aItem) const
- {
- TEComResolverParams params;
-
- TUid resolvUid = { KLiwResolverImplUidValue };
-
- TBuf8<KMaxDataParamSize> dataType;
- if((aItem->ServiceCmdStr().Length() + aItem->ContentType().Length()) > KMaxCmdLength)
- {
- User::Leave( KLiwUnknown );
- }
- dataType.Copy(KContentTag);
- dataType.Append(aItem->ContentType());
- dataType.Append(KOpaqueTag);
- if (aItem->ServiceCmd() != KLiwCmdAsStr)
- {
- dataType.AppendNumUC(aItem->ServiceCmd(), EHex);
- }
- else
- {
- dataType.Append(aItem->ServiceCmdStr());
- }
- params.SetDataType(dataType);
- params.SetWildcardMatch(dataType.Find(KLiwMimeTypeAll) != KErrNotFound);
-
- iEcomSession.ListImplementationsL(aItem->ServiceClass(), params, resolvUid, aResult);
- }
-
-
-
-CLiwServiceIfBase* CLiwEcomMonitor::CreateImplementationL(TUid aImplUid)
- {
- TUid dtorKeyId;
-
- CLiwServiceIfBase* iface = (CLiwServiceIfBase*)iEcomSession.CreateImplementationL(aImplUid,
- dtorKeyId);
-
- if (iface)
- {
- iface->SetDtorKeyId( dtorKeyId );
- iface->SetImplementationUid( aImplUid );
- }
-
- return iface;
- }
-
-// End of file
--- a/languageinterworkingfw/servicehandler/src/liwgenericparam.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,575 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of TLiwGenericParam and CLiwGenericParamList.
-*
-*/
-
-
-
-
-
-
-
-// INCLUDES
-#include <s32mem.h>
-#include "liwgenericparam.h"
-using namespace LIW;
-namespace {
-
-// CONSTANTS
-// Protect against possible data format changes
-const TInt KVersion = 10; // Version 1.0
-
-enum TPanicCode
- {
- EPanicPostCond_CopyLC = 1,
- EPanicPostCond_AppendL,
- EPanicPostCond_Reset
- };
-
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-#ifdef _DEBUG
-void Panic(TPanicCode aCode)
- {
- _LIT(KPanicText, "GenericParam");
- User::Panic(KPanicText, aCode);
- }
-#endif
-
-}
-
-
-const TInt KRFsSlot = 2;
-const TInt KRFileSlot = 3;
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-/**
- * Releases any dynamic data owned by this parameter.
- */
-void TLiwGenericParam::Destroy()
- {
- if (iSemanticId != EGenericParamNameAsStringTransient)
- {
- delete iReserved;
- iReserved = NULL;
- }
- iValue.Destroy();
- }
-
-/**
- * Copies aParam to this parameter. Takes an own copy of the value held in
- * aParam.
- */
-void TLiwGenericParam::CopyLC(const TLiwGenericParam& aParam)
- {
- // Take a copy of value
- iValue.SetL(aParam.iValue);
- // Copy semantic id
- iSemanticId = aParam.iSemanticId;
- // Copy name
- if (iSemanticId == EGenericParamNameAsString) {
- delete iReserved;
- iReserved = NULL;
- iReserved = ((HBufC8*)aParam.iReserved)->AllocL();
- }
- else if (iSemanticId == EGenericParamNameAsStringTransient) {
- delete iReserved;
- iReserved = NULL;
- iReserved = ((TDesC8*)aParam.iReserved)->AllocL();
- iSemanticId = EGenericParamNameAsString;
- }
- CleanupStack::PushL(*this);
-
- //__ASSERT_DEBUG(*this==aParam, Panic(EPanicPostCond_CopyLC));
- }
-
-
-EXPORT_C void TLiwGenericParam::PushL()
- {
- CleanupStack::PushL( TCleanupItem( TLiwGenericParam::ParamCleanup , this) );
- }
-
-EXPORT_C void TLiwGenericParam::ParamCleanup( TAny* aObj )
- {
- static_cast<TLiwGenericParam*>(aObj)->Destroy();
- }
-
-/**
- * Returns a cleanup item that will call Destroy to this object when
- * PopAndDestroy'ed.
- */
-TLiwGenericParam::operator TCleanupItem()
- {
- return TCleanupItem(&CleanupDestroy,this);
- }
-
-/**
- * Callback for operator TCleanupItem().
- */
-void TLiwGenericParam::CleanupDestroy(TAny* aObj)
- {
- static_cast<TLiwGenericParam*>(aObj)->Destroy();
- }
-/**
- * Internalizes this parameter from aStream.
- */
-void TLiwGenericParam::InternalizeL(RReadStream& aStream)
- {
- /*const TInt version =*/ aStream.ReadInt8L();
- const TGenericParamId id =
- static_cast<TGenericParamId>(aStream.ReadInt32L());
- if (id == EGenericParamNameAsString)
- {
- TInt len = aStream.ReadInt32L();
- delete iReserved;
- iReserved = NULL;
- iReserved = HBufC8::NewL(aStream, len);
- }
- iValue.InternalizeL(aStream);
- iSemanticId = id;
- }
-
-/**
- * Externalizes this parameter to aStream.
- */
-void TLiwGenericParam::ExternalizeL(RWriteStream& aStream) const
- {
- aStream.WriteInt8L(KVersion);
- aStream.WriteInt32L(iSemanticId);
- if (iSemanticId == EGenericParamNameAsString)
- {
- aStream.WriteInt32L(((HBufC8*)iReserved)->Length());
- aStream << (*((HBufC8*)iReserved));
- }
- iValue.ExternalizeL(aStream);
- }
-
-/**
- * Returns the maximum externalized size of this parameter.
- */
-TInt TLiwGenericParam::Size() const
- {
- TInt size = sizeof (TInt8); // version
- size += sizeof (TInt32); // semantic ID
- if (iSemanticId == EGenericParamNameAsString)
- {
- size += sizeof (TInt32); // name length
- //size += 1; // header written by operator<<
- if(((HBufC8*)iReserved)->Size()>=64)
- {
- size += 2;
- }
- else
- {
- size += 1;
- }
-
- size += ((HBufC8*)iReserved)->Size();
- }
- size += iValue.Size();
- return size;
- }
-
-EXPORT_C TBool operator==(const TLiwGenericParam& aLhs,
- const TLiwGenericParam& aRhs)
- {
- if (((aLhs.SemanticId() == EGenericParamNameAsString) ||
- (aLhs.SemanticId() == EGenericParamNameAsStringTransient)) &&
- ((aRhs.SemanticId() == EGenericParamNameAsString) ||
- (aRhs.SemanticId() == EGenericParamNameAsStringTransient)))
- return ((aLhs.Name() == aRhs.Name()) && (aLhs.Value() == aRhs.Value()));
- else
- return
- ((aLhs.SemanticId() == aRhs.SemanticId()) &&
- (aLhs.Value() == aRhs.Value()));
- }
-
-
-// CLiwGenericParamList
-
-inline CLiwGenericParamList::CLiwGenericParamList()
- {
- }
-
-EXPORT_C CLiwGenericParamList* CLiwGenericParamList::NewL()
- {
- CLiwGenericParamList *self = NewLC();
- CleanupStack::Pop(self);
- return self;
- }
-
-EXPORT_C CLiwGenericParamList* CLiwGenericParamList::NewL(RReadStream& aReadStream)
- {
- CLiwGenericParamList *self = NewLC(aReadStream);
- CleanupStack::Pop(self);
- return self;
- }
-
-EXPORT_C CLiwGenericParamList* CLiwGenericParamList::NewLC()
- {
- CLiwGenericParamList *self = new( ELeave ) CLiwGenericParamList();
- CleanupStack::PushL( self );
- return self;
- }
-
-EXPORT_C CLiwGenericParamList* CLiwGenericParamList::NewLC(RReadStream& aReadStream)
- {
- CLiwGenericParamList *self = new( ELeave ) CLiwGenericParamList();
- CleanupStack::PushL( self );
- self->AppendL(aReadStream);
- return self;
- }
-
-CLiwGenericParamList::~CLiwGenericParamList()
- {
- for (TInt index = iParameters.Count()-1; index >= 0; --index)
- {
- // Can use Destroy because the parameters cannot be accessed anymore
- iParameters[index].Destroy();
- }
- iParameters.Close();
- }
-
-EXPORT_C TInt CLiwGenericParamList::Count() const
- {
- return iParameters.Count();
- }
-
-EXPORT_C TInt CLiwGenericParamList::Count(TGenericParamId aSemanticId,
- TVariantTypeId aDataType) const
- {
- TInt result = 0;
- const TInt count = iParameters.Count();
-
- for (TInt index = 0; index < count; index++)
- {
- const TLiwGenericParam& param = iParameters[index];
- if (param.SemanticId() == aSemanticId)
- {
- if (aDataType==EVariantTypeAny || param.Value().TypeId()==aDataType)
- {
- result++;
- }
- }
- }
- return result;
- }
-
-
-EXPORT_C const TLiwGenericParam& CLiwGenericParamList::operator[](TInt aIndex) const
- {
- return iParameters[aIndex];
- }
-
-EXPORT_C void CLiwGenericParamList::AtL(TInt aIndex, TLiwGenericParam& aParam) const
- {
- aParam.CopyLC(iParameters[aIndex]);
- CleanupStack::Pop(&aParam);
- }
-
-EXPORT_C void CLiwGenericParamList::AppendL(const TLiwGenericParam& aParam)
- {
- TLiwGenericParam newParam;
- newParam.CopyLC(aParam);
- User::LeaveIfError(iParameters.Append(newParam));
- CleanupStack::Pop(&newParam);
-
- //__ASSERT_DEBUG((*this)[Count()-1]==aParam, Panic(EPanicPostCond_AppendL));
- }
-
-
-EXPORT_C TBool CLiwGenericParamList::Remove(TInt aSemanticId)
- {
- const TInt count = iParameters.Count();
- for (TInt index = 0; index < count; ++index)
- {
- const TLiwGenericParam& param = iParameters[index];
- if (param.SemanticId() == aSemanticId)
- {
- iParameters.Remove(index);
- return ETrue;
- }
- }
-
- return EFalse;
- }
-
-EXPORT_C void CLiwGenericParamList::Remove(const TDesC8& aName)
- {
- TInt start = 0;
- FindFirst(start, aName);
- while (start != KErrNotFound)
- {
- // Can use Destroy because the parameters cannot be accessed anymore
- iParameters[start].Destroy();
- iParameters.Remove(start);
- start = 0;
- FindFirst(start, aName);
- }
- }
-
-EXPORT_C void CLiwGenericParamList::Reset()
- {
- for (TInt index = iParameters.Count()-1; index >= 0; --index)
- {
- // Can use Destroy because the parameters cannot be accessed anymore
- iParameters[index].Destroy();
- iParameters.Remove(index);
- }
-
- __ASSERT_DEBUG(Count()==0, Panic(EPanicPostCond_Reset));
- }
-
-EXPORT_C const TLiwGenericParam* CLiwGenericParamList::FindFirst(
- TInt &aIndex,
- TGenericParamId aSemanticId,
- TVariantTypeId aDataType) const
- {
- if (aIndex >= 0)
- {
- const TInt count = iParameters.Count();
- for (TInt index = aIndex; index < count; ++index)
- {
- const TLiwGenericParam& param = iParameters[index];
- if (param.SemanticId() == aSemanticId)
- {
- if (aDataType==EVariantTypeAny || param.Value().TypeId()==aDataType)
- {
- aIndex = index;
- return ¶m;
- }
- }
- }
- }
- aIndex = KErrNotFound;
- return NULL;
- }
-
-EXPORT_C const TLiwGenericParam* CLiwGenericParamList::FindNext(
- TInt &aIndex,
- TGenericParamId aSemanticId,
- TVariantTypeId aDataType) const
- {
- if (aIndex < 0)
- {
- aIndex = KErrNotFound;
- return NULL;
- }
-
- TInt index = aIndex+1;
- const TLiwGenericParam* result = FindFirst(index, aSemanticId, aDataType);
- aIndex = index;
- return result;
- }
-
-EXPORT_C const TLiwGenericParam* CLiwGenericParamList::FindNext(
- TInt &aIndex,
- const TDesC8& aName,
- TVariantTypeId aDataType) const
- {
- if (aIndex < 0)
- {
- aIndex = KErrNotFound;
- return NULL;
- }
-
- TInt index = aIndex+1;
- const TLiwGenericParam* result = FindFirst(index, aName, aDataType);
- aIndex = index;
- return result;
- }
-
-EXPORT_C const TLiwGenericParam* CLiwGenericParamList::FindFirst
- (TInt &aIndex, const TDesC8& aName,
- TVariantTypeId aDataType) const
- {
- if (aIndex >= 0)
- {
- const TInt count = iParameters.Count();
- for (TInt index = aIndex; index < count; ++index)
- {
- const TLiwGenericParam& param = iParameters[index];
- if ((param.SemanticId() == EGenericParamNameAsString) &&
- (param.Name() == aName))
- {
- if (aDataType==EVariantTypeAny || param.Value().TypeId()==aDataType)
- {
- aIndex = index;
- return ¶m;
- }
- }
- }
- }
- aIndex = KErrNotFound;
- return NULL;
- }
-
-EXPORT_C void CLiwGenericParamList::ExternalizeL(RWriteStream& aStream) const
- {
- aStream.WriteInt8L(KVersion);
- const TInt count = iParameters.Count();
- aStream.WriteInt32L(count);
- for (TInt index = 0; index < count; ++index)
- {
- iParameters[index].ExternalizeL(aStream);
- }
- }
-
-EXPORT_C TInt CLiwGenericParamList::Size() const
- {
- TInt size = sizeof (TInt8); // version
- size += sizeof (TInt32); // param count
- const TInt count = iParameters.Count();
- for (TInt index = 0; index < count; ++index)
- {
- size += iParameters[index].Size();
- }
- return size;
- }
-
-/**
- * Appends parameters to this list from aStream.
- */
-void CLiwGenericParamList::AppendL(RReadStream& aReadStream)
- {
- /*const TInt version =*/ aReadStream.ReadInt8L();
-
- TInt count = aReadStream.ReadInt32L();
- while (count--)
- {
- TLiwGenericParam param;
- CleanupStack::PushL(param);
- param.InternalizeL(aReadStream);
- User::LeaveIfError(iParameters.Append(param));
- CleanupStack::Pop(¶m);
- }
- }
-
-
-
-EXPORT_C void CLiwGenericParamList::InternalizeL(RReadStream& aStream)
- {
- AppendL(aStream);
- }
-
-
-EXPORT_C HBufC8* CLiwGenericParamList::PackForServerL(TIpcArgs& aArgs)
- {
- TInt index;
- TInt rfileCount = 0;
- RFile fhandle;
-
- HBufC8* buf = HBufC8::NewLC(Size() + iParameters.Count());
- TPtr8 des = buf->Des();
- RDesWriteStream outstrm(des);
- CleanupClosePushL(outstrm);
-
- outstrm.WriteInt16L(iParameters.Count());
-
- for (index = 0; index < iParameters.Count(); index++)
- {
- if (iParameters[index].Value().TypeId() == EVariantTypeFileHandle)
- {
- if (rfileCount == 0)
- {
- outstrm.WriteInt8L(iParameters[index].Value().TypeId());
- outstrm.WriteInt32L(iParameters[index].SemanticId());
- if (iParameters[index].Value().Get(fhandle))
- {
- rfileCount++;
- }
- }
- }
- else
- {
- outstrm.WriteInt8L(iParameters[index].Value().TypeId());
- iParameters[index].ExternalizeL( outstrm );
- }
- }
-
- outstrm.CommitL();
- CleanupStack::PopAndDestroy(&outstrm);
-
- aArgs.Set(0, buf);
- aArgs.Set(1, des.MaxLength());
-
- if (rfileCount)
- {
- fhandle.TransferToServer(aArgs, KRFsSlot, KRFileSlot);
- }
-
- CleanupStack::Pop(buf); // buf
-
- return buf;
- }
-
-
-EXPORT_C void CLiwGenericParamList::UnpackFromClientL(const RMessage2& aMsg)
- {
- TInt8 type;
- TInt index;
- TLiwGenericParam param;
- TGenericParamId handleId = EGenericParamUnspecified;
- TInt numFileHandles = 0;
-
- HBufC8* buf = HBufC8::NewLC(aMsg.Int1());
- TPtr8 ptr(buf->Des());
- aMsg.ReadL(0, ptr);
- RDesReadStream instrm(buf->Des());
-
- const TInt16 count = instrm.ReadInt16L();
- for (index = 0; index < count; index++)
- {
- type = instrm.ReadInt8L();
- if (type == EVariantTypeFileHandle)
- {
- if (numFileHandles == 0)
- {
- handleId = (TGenericParamId)instrm.ReadInt32L();
- numFileHandles++;
- }
- }
- else
- {
- param.InternalizeL(instrm);
- AppendL(param);
- param.Reset();
- }
- }
-
- if (numFileHandles)
- {
- RFile file;
- file.AdoptFromClient(aMsg, KRFsSlot, KRFileSlot);
- TLiwVariant variant(file);
- AppendL(TLiwGenericParam(handleId, variant));
- }
-
- CleanupStack::PopAndDestroy(buf); // buf
- }
-
-
-EXPORT_C void CLiwGenericParamList::AppendL(const CLiwGenericParamList& aList)
- {
- for (TInt index = 0; index < aList.iParameters.Count(); index++)
- {
- AppendL(aList.iParameters[index]);
- }
- }
-
-// End of file
--- a/languageinterworkingfw/servicehandler/src/liwmenu.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,276 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implements LIW Menu utilities for providers to access consumer menu.
-*
-*/
-
-
-
-
-
-
-#include <barsread.h>
-#include <barsc.h>
-#include <bautils.h>
-#include "liwmenu.h"
-#include "liwcommon.hrh"
-
-// This is needed for resource reading.
-const TInt KCCMask(0x00000fff);
-
-
-EXPORT_C CLiwMenuPane::CLiwMenuPane(CEikMenuPane& aMenuPane, TInt aBaseCmdId)
-: iMenuPane(&aMenuPane), iBaseCmdId(aBaseCmdId)
- {
- iNextCmdId = aBaseCmdId;
- }
-
-
-EXPORT_C CLiwMenuPane::~CLiwMenuPane()
- {
- delete iMenuPane;
-
- for(TInt i = 0; i < iIdMap.Count(); i++)
- {
- iIdMap[i].extraText.Close();
- }
-
- iIdMap.Reset();
- }
-
-
-EXPORT_C void CLiwMenuPane::AddMenuItemL(
- TInt aServiceCmd,
- CEikMenuPaneItem::SData& aMenuItem,
- TInt aIndex)
- {
- AddMenuItemL(aServiceCmd, aMenuItem, aIndex, KNullDesC());
- }
-
-
-EXPORT_C void CLiwMenuPane::AddMenuItemL(
- TInt aServiceCmd,
- CEikMenuPaneItem::SData& aMenuItem,
- TInt aIndex,
- const TDesC& aExtraText)
- {
- SMenuIdMap map;
-
- map.dynMenuCmdId = iNextCmdId + iPaneOffset;
- map.serviceCmdId = aServiceCmd;
- map.origCmdId = aMenuItem.iCommandId;
- map.owner = iInitializingOwner;
- map.extraText.Assign(aExtraText.AllocL());
- CleanupClosePushL(map.extraText);
-
- aMenuItem.iCommandId = iNextCmdId + iPaneOffset;
- iNextCmdId++;
-
- iMenuPane->InsertMenuItemL(aMenuItem, aIndex);
- User::LeaveIfError(iIdMap.Append( map ));
- CleanupStack::Pop(&(map.extraText)); // map.extraText
- }
-
-
-
-EXPORT_C void CLiwMenuPane::AddMenuItemsL(
- TResourceReader& aReader,
- TInt aServiceCmd,
- TInt aIndex,
- TBool /*aAddSeperator*/)
- {
- CEikMenuPaneItem::SData data;
-
- TInt index = aIndex;
-
- TInt count = aReader.ReadInt16();
- for (TInt i = 0; i < count; i++)
- {
- data.iCommandId = aReader.ReadInt32();
- data.iCascadeId = aReader.ReadInt32();
- data.iFlags = aReader.ReadInt32();
- data.iText.Copy(aReader.ReadTPtrC());
-
- // Extra text (additional submenu text) must be handled separately
- // because SData doesn't offer space for it.
- TPtrC extraText = aReader.ReadTPtrC();
-
- aReader.ReadTPtrC(); // Skip bmpfile.
- aReader.ReadInt16(); // Skip bmpid.
- aReader.ReadInt16(); // Skip bmpmask.
- aReader.ReadInt32(); // Skip extension.
-
- if (data.iCommandId == LIW_SUBMENU_TITLE)
- {
- AddTitleItemL(data.iText, index);
- }
- else
- {
- AddMenuItemL(aServiceCmd, data, index++, extraText);
- }
- }
- }
-
-
-
-EXPORT_C void CLiwMenuPane::AddMenuItemsL(
- TFileName& aFileName,
- TInt aResId,
- TInt aServiceCmd,
- TInt aIndex,
- TBool aAddSeparator)
- {
- TResourceReader reader;
-
- RFs fsSession;
- User::LeaveIfError( fsSession.Connect() );
- CleanupClosePushL( fsSession );
-
- BaflUtils::NearestLanguageFile(fsSession, aFileName);
-
- RResourceFile rsFile;
- rsFile.OpenL( fsSession, aFileName );
- CleanupClosePushL( rsFile );
-
- // Read multitapping resource.
- HBufC8* rBuffer = rsFile.AllocReadLC(aResId & KCCMask); // Remove offset from id
- reader.SetBuffer( rBuffer );
-
- AddMenuItemsL(reader, aServiceCmd, aIndex, aAddSeparator);
-
- CleanupStack::PopAndDestroy(rBuffer); // rBuffer, rsFile, fsSession
- CleanupStack::PopAndDestroy(&rsFile);
- CleanupStack::PopAndDestroy(&fsSession);
- }
-
-
-
-EXPORT_C TInt CLiwMenuPane::MenuCmdId(TInt aDynCmdId) const
- {
- for (TInt i = 0; i < iIdMap.Count(); i++)
- {
- if (iIdMap[i].dynMenuCmdId == aDynCmdId)
- {
- return iIdMap[i].origCmdId;
- }
- }
-
- return 0;
- }
-
-
-
-EXPORT_C TInt CLiwMenuPane::DynCmdId(TInt aMenuCmdId) const
- {
- for (TInt i = 0; i < iIdMap.Count(); i++)
- {
- if (iIdMap[i].origCmdId == aMenuCmdId)
- {
- return iIdMap[i].dynMenuCmdId;
- }
- }
-
- return 0;
- }
-
-
-
-EXPORT_C TInt CLiwMenuPane::ServiceCmdId(TInt aDynCmdId) const
- {
- for (TInt i = 0; i < iIdMap.Count(); i++)
- {
- if (iIdMap[i].dynMenuCmdId == aDynCmdId)
- {
- return iIdMap[i].serviceCmdId;
- }
- }
-
- return 0;
- }
-
-
-
-TInt CLiwMenuPane::FindCmdId(TInt aIndex)
- {
- TInt index;
-
- for (TInt i = 0; i < iIdMap.Count(); i++)
- {
- if (iMenuPane->MenuItemExists(iIdMap[i].dynMenuCmdId, index))
- {
- if (aIndex == index)
- {
- return iIdMap[i].dynMenuCmdId;
- }
- }
- }
-
- return -1;
- }
-
-
-
-EXPORT_C void CLiwMenuPane::AddTitleItemL(const TDesC& aTitle, TInt aIndex)
- {
- CEikMenuPaneItem::SData data;
-
- data.iCommandId = LIW_SUBMENU_TITLE;
- data.iCascadeId = 0;
- data.iFlags = 0;
- data.iText.Copy(aTitle);
-
- iMenuPane->InsertMenuItemL(data, aIndex);
- }
-
-
-TBool CLiwMenuPane::IsCmdInRange(TInt aCmdSpaceSize, TInt aCmd)
- {
- if ((aCmd >= iPaneOffset + iBaseCmdId) &&
- (aCmd < iPaneOffset + iBaseCmdId + aCmdSpaceSize))
- {
- return ETrue;
- }
-
- return EFalse;
- }
-
-
-CLiwServiceIfBase* CLiwMenuPane::CommandOwner(TInt aDynCmd) const
- {
- for (TInt i = 0; i < iIdMap.Count(); i++)
- {
- if (iIdMap[i].dynMenuCmdId == aDynCmd)
- {
- return iIdMap[i].owner;
- }
- }
-
- return NULL;
- }
-
-
-const TDesC& CLiwMenuPane::ExtraText(TInt aDynMenuCmdId)
- {
- TInt count = iIdMap.Count();
- for(TInt i = 0; i < count; i++)
- {
- if(iIdMap[i].dynMenuCmdId == aDynMenuCmdId)
- {
- return iIdMap[i].extraText;
- }
- }
- return KNullDesC;
- }
-
-// End of file
--- a/languageinterworkingfw/servicehandler/src/liwmenubinding.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-#include <ecom/ecom.h>
-#include "liwmenubinding.h"
-
-CLiwMenuBinding* CLiwMenuBinding::NewL()
- {
- CLiwMenuBinding* bind = new (ELeave) CLiwMenuBinding();
- CleanupStack::PushL(bind);
- bind->ConstructL();
- CleanupStack::Pop(bind); // bind
- return bind;
- }
-
-
-CLiwMenuBinding* CLiwMenuBinding::NewL(TInt aMenuItemIndex, TInt aParentId)
- {
- CLiwMenuBinding* bind = new (ELeave) CLiwMenuBinding(aMenuItemIndex, aParentId);
- CleanupStack::PushL(bind);
- bind->ConstructL();
- CleanupStack::Pop(bind); // bind
- return bind;
- }
-
-
-CLiwMenuBinding* CLiwMenuBinding::NewLC()
- {
- CLiwMenuBinding* bind = new (ELeave) CLiwMenuBinding();
- CleanupStack::PushL(bind);
- bind->ConstructL();
- return bind;
- }
-
-
-CLiwMenuBinding* CLiwMenuBinding::NewLC(TInt aMenuItemIndex, TInt aMenuId)
- {
- CLiwMenuBinding* bind = new (ELeave) CLiwMenuBinding(aMenuItemIndex, aMenuId);
- CleanupStack::PushL(bind);
- bind->ConstructL();
- return bind;
- }
-
-
-
-CLiwMenuBinding::CLiwMenuBinding()
- {
- }
-
-
-void CLiwMenuBinding::ConstructL()
- {
- }
-
-
-CLiwMenuBinding::CLiwMenuBinding(TInt aMenuItemIndex, TInt aMenuId)
-:iMenuItemIndex(aMenuItemIndex), iMenuId(aMenuId)
- {
- // Nothing to do here.
- }
-
-
-
-CLiwMenuBinding::~CLiwMenuBinding()
- {
- }
-
-
-// End of file
-
--- a/languageinterworkingfw/servicehandler/src/liwresolver.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,328 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of Custom ECom Resolver for LIW.
-*
-*/
-
-
-
-
-
-
-#include "liwresolver.h"
-
-const TInt KMaxDataItemSize = 238;
-_LIT8(KContentTag, "<CONTENT>");
-_LIT8(KOpaqueTag, "<OPAQUE>");
-
-
-CLiwResolver* CLiwResolver::NewL(MPublicRegistry& aRegistry)
- {
- return new (ELeave) CLiwResolver(aRegistry);
- }
-
-
-CLiwResolver::CLiwResolver(MPublicRegistry& aRegistry) : CResolver(aRegistry)
- {
- // Nothing to do.
- }
-
-
-CLiwResolver::~CLiwResolver()
- {
- if (iImplementationInfoArray)
- {
- iImplementationInfoArray->Reset();
- delete iImplementationInfoArray;
- }
- }
-
-
-
-TUid CLiwResolver::IdentifyImplementationL(TUid aInterfaceUid,
- const TEComResolverParams& aAdditionalParameters) const
- {
- RImplInfoArray& implementationsInfo = iRegistry.ListImplementationsL(aInterfaceUid);
- TUid found = KNullUid;
-
- if(implementationsInfo.Count())
- {
- found = Resolve(implementationsInfo, aAdditionalParameters);
- }
-
- return found;
- }
-
-
-
-RImplInfoArray* CLiwResolver::ListAllL(TUid aInterfaceUid,
- const TEComResolverParams& aAdditionalParameters) const
- {
- // Use the member var to create the array so that we get proper cleanup behaviour
- delete iImplementationInfoArray;
- iImplementationInfoArray = NULL;
- iImplementationInfoArray = new (ELeave) RImplInfoArray;
- RImplInfoArray* retList = iImplementationInfoArray;
-
- RImplInfoArray& fullList = iRegistry.ListImplementationsL(aInterfaceUid);
-
- const TBool useWildcards = aAdditionalParameters.IsWildcardMatch();
- TBuf8<KMaxDataItemSize> content;
- TBuf8<KMaxDataItemSize> opaque;
-
- ParseInput(aAdditionalParameters.DataType(), content, opaque);
- const TInt numImps = fullList.Count();
-
- for (TInt index = 0; index < numImps; ++index)
- {
- if (Match(fullList[index]->DataType(), content, useWildcards) &&
- MatchServiceCmd(fullList[index]->OpaqueData(), opaque))
- {
- User::LeaveIfError(retList->Append(fullList[index]));
- }
- }
-
- // Reset the member variable because we are passing ownership back
- iImplementationInfoArray = NULL;
-
- return retList;
- }
-
-
-
-void CLiwResolver::ParseInput(const TDesC8& aParam, TDes8& aContent, TDes8& aOpaque) const
- {
- TInt cind = aParam.Find(KContentTag);
- TInt oind = aParam.Find(KOpaqueTag);
-
- if (cind != KErrNotFound)
- {
- if (oind != KErrNotFound)
- {
- aContent.Copy(aParam.Mid(cind + (&KContentTag)->Length(),
- oind - (cind + (&KContentTag)->Length())));
- }
- else
- {
- aContent.Copy(aParam.Mid(cind + (&KContentTag)->Length()));
- }
- }
-
- if (oind != KErrNotFound)
- {
- aOpaque.Copy(aParam.Mid(oind + (&KOpaqueTag)->Length()));
- }
- }
-
-
-
-TUid CLiwResolver::Resolve(const RImplInfoArray& aImplementationsInfo,
- const TEComResolverParams& aAdditionalParameters) const
- {
- // Loop through the implementations matching on type
- const TInt count = aImplementationsInfo.Count();
-
- for (TInt index = 0; index < count; ++index)
- {
- const CImplementationInformation& impData = *aImplementationsInfo[index];
- // As soon as we get a match on the datatype then return uid of the
- // implementation found.
- if (Match(impData.DataType(), // The Datatype of this implementation
- aAdditionalParameters.DataType(), // The type we are trying to find
- aAdditionalParameters.IsWildcardMatch())) // If wildcards should be used
- {
- return impData.ImplementationUid();
- }
- }
-
- return KNullUid;
- }
-
-
-TBool CLiwResolver::Match(const TDesC8& aImplementationType, const TDesC8& aMatchType,
- TBool aUseWildcards) const
- {
- TInt matchPos = KErrNotFound;
-
- _LIT8(dataSeparator, "||");
- const TInt separatorLength = dataSeparator().Length();
-
- // Look for the section separator marker '||'
- TInt separatorPos = aImplementationType.Find(dataSeparator);
-
- if (separatorPos == KErrNotFound)
- {
- // Match against the whole string
- if (aUseWildcards)
- {
- matchPos = aImplementationType.Match(aMatchType);
- }
- else
- {
-
- if (aImplementationType.Compare(aMatchType) == 0)
- {
- matchPos = KErrNone;
- }
- }
- }
- else
- {
- // Find the first section, up to the separator
- TPtrC8 dataSection = aImplementationType.Left(separatorPos);
- TPtrC8 remainingData = aImplementationType.Mid(separatorPos + separatorLength);
-
- // Match against each section in turn
- while (separatorPos != KErrNotFound)
- {
- // Search this section
- if (aUseWildcards)
- {
- matchPos = dataSection.Match(aMatchType);
- }
- else
- {
- matchPos = dataSection.Compare(aMatchType);
- }
-
- // If we found it then no need to continue, so return
- if (matchPos != KErrNotFound)
- {
- return ETrue;
- }
-
- // Move on to the next section
- separatorPos = remainingData.Find(dataSeparator);
-
- if (separatorPos != KErrNotFound)
- {
- dataSection.Set(remainingData.Left(separatorPos));
- remainingData.Set(remainingData.Mid(separatorPos + separatorLength));
- }
- else
- {
- dataSection.Set(remainingData);
- }
- }
-
- // Check the final part
- if (aUseWildcards)
- {
- matchPos = dataSection.Match(aMatchType);
- }
- else
- {
- matchPos = dataSection.Compare(aMatchType);
- }
-
- }
-
- return matchPos != KErrNotFound;
- }
-
-
-
-
-TBool CLiwResolver::MatchServiceCmd(const TDesC8& aOpaqueData, const TDesC8& aServiceCmd) const
- {
- _LIT8(KWild,"*");
-
- //check for wildcard character *
- //if yes, return immediatly
- if(0==aServiceCmd.Compare(KWild))
- return ETrue;
-
- // Extract List Of service command from OpaQue Data
- _LIT8(MetadataSeparator, "::");
- TPtrC8 dataSection;
- TInt MetadataSeparatorPos = aOpaqueData.Find(MetadataSeparator);
- if (MetadataSeparatorPos != KErrNotFound)
- {
- dataSection.Set(aOpaqueData.Left(MetadataSeparatorPos));
- }
- else
- {
- dataSection.Set(aOpaqueData);
- }
-
- _LIT8(dataSeparator, "||");
- const TInt separatorLength = dataSeparator().Length();
-
- // Look for the section separator marker '||'
- TInt separatorPos = dataSection.Find(dataSeparator);
-
- if (separatorPos == KErrNotFound)
- {
- if (aServiceCmd.Compare(dataSection) == 0)
- {
- return ETrue;
- }
- }
- else
- {
- // Find the first section, up to the separator
- TPtrC8 remainingData = dataSection.Mid(separatorPos + separatorLength);
- dataSection.Set(dataSection.Left(separatorPos));
-
- // Match against each section in turn
- while (separatorPos != KErrNotFound)
- {
- if (dataSection.Compare(aServiceCmd) == 0)
- {
- return ETrue;
- }
-
- // Move on to the next section
- separatorPos = remainingData.Find(dataSeparator);
-
- if (separatorPos != KErrNotFound)
- {
- dataSection.Set(remainingData.Left(separatorPos));
- remainingData.Set(remainingData.Mid(separatorPos + separatorLength));
- }
- else
- {
- dataSection.Set(remainingData);
- }
- }
-
- if (dataSection.Compare(aServiceCmd) == 0)
- {
- return ETrue;
- }
- }
-
- return EFalse;
- }
-
-// Map the interface UIDs
-const TImplementationProxy ImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY(KLiwResolverImplUidValue, CLiwResolver::NewL)
- };
-
-// Exported proxy for instantiation method resolution
-// ---------------------------------------------------------
-//
-//
-// ---------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
- {
- aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
- return ImplementationTable;
- }
-
-// End of file
-
--- a/languageinterworkingfw/servicehandler/src/liwservicedata.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Class modelling service provider data. The important
-* service provider data that are part of this class
-* is metadata information.
-*
-*/
-
-
-
-
-
-
-
-#include "liwservicedata.h"
-#include <liwvariant.h>
-#include <liwgenericparam.h>
-
-#include <escapeutils.h>
-
-#include <badesca.h>
-
-/**
-* Creates and returns an instance of \c CLiwServiceData
-*
-* @return an instance of \c CLiwServiceData
-*/
-CLiwServiceData* CLiwServiceData::NewL()
-{
- CLiwServiceData* srvData = CLiwServiceData::NewLC();
- CleanupStack::Pop(srvData);
- return srvData;
-}
-
-/**
-* Creates and returns an instance of \c CLiwServiceData.
-* Leaves the created instance in the cleanupstack.
-*
-* @return an instance of \c CLiwServiceData
-*/
-CLiwServiceData* CLiwServiceData::NewLC()
-{
- CLiwServiceData* srvData = new (ELeave) CLiwServiceData();
- CleanupStack::PushL( srvData );
- srvData->ConstructL();
- return srvData;
-}
-
-/**
-* Default constructor
-*
-*/
-CLiwServiceData::CLiwServiceData():iDataList(NULL)
-{
-}
-
-/**
-* Instantiates metadata instance
-*
-*/
-void CLiwServiceData::ConstructL()
-{
- iDataList = CLiwGenericParamList::NewL();
-}
-
-/**
-* Destructor. Cleans up the metadata instance
-*
-*/
-CLiwServiceData::~CLiwServiceData()
-{
- if(iDataList)
- {
- iDataList->Reset();
- delete iDataList;
- }
-}
-
-CLiwGenericParamList* CLiwServiceData::GetMetaData() const
-{
- if(iDataList)
- return iDataList;
- else
- return NULL;
-}
-
-void CLiwServiceData::AddMetaDataL(const TDesC8& aKey, const TLiwVariant& aValue)
-{
- TInt idx(0);
- const TLiwGenericParam* constParam = iDataList->FindFirst(idx,aKey);
-
- if(constParam)
- {
- TLiwGenericParam* param = const_cast<TLiwGenericParam*>(constParam);
-
- //list exists already..fetch the value list and append aValue to it
- CLiwList* pValues = const_cast<CLiwList*>(param->Value().AsList());
- pValues->AppendL(aValue);
- }
- else
- {
- //key does not exist so far..
- CLiwList* pValues = CLiwDefaultList::NewLC();
- pValues->AppendL(aValue);
-
- iDataList->AppendL(TLiwGenericParam(aKey,TLiwVariant(pValues)));
- CleanupStack::Pop(pValues);
- pValues->DecRef();
- }
-}
-
-/*
- * Adds a metadata name-value pair if not already added. If the key already
- * exists, then the new metadata value (if does not exist already) will be added
- * to the list of values associated with a metadata key.
- *
- * @param aKey the metadata key to be inserted
- * @param aValue the metadata value corresponding to the key to be added
- *
- */
-void CLiwServiceData::AddMetaDataL(const TDesC8& aKey, const TDesC8& aValue)
-{
- HBufC *buff = EscapeUtils::ConvertToUnicodeFromUtf8L(aValue);
- CleanupStack::PushL(buff);
- TPtrC ptr = buff->Des();
- TLiwVariant tempVar(ptr);
- tempVar.PushL();
-
- this->AddMetaDataL(aKey,tempVar);
-
- CleanupStack::Pop(&tempVar);
- tempVar.Reset();
- CleanupStack::PopAndDestroy(buff);
-}
-
-/*
- * Removes all the metadata key-value pairs.
- * This is called from service handler implementation if and only
- * if there is an error in parsing. Since, the FW uses SAX parser
- * and if the XML error happens after the metadata entries are
- * created, the entries should be cleaned up.
- *
- */
-void CLiwServiceData::CleanUpMetaData()
-{
- iDataList->Reset();
-}
-
--- a/languageinterworkingfw/servicehandler/src/liwservicehandler.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,271 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implements API for consumer application to access Language
-* Interworking Framework.
-*
-*/
-
-
-
-
-
-
-#include <eikenv.h>
-#include <liwservicehandler.rsg>
-#include "liwmenubinding.h"
-#include "liwservicehandler.h"
-#include "liwservicehandlerimpl.h"
-#include "liwmenu.h"
-#include "liwuids.hrh"
-#include "liwcommon.hrh"
-#include "liwtlsdata.h"
-
-
-//
-// LiwServiceHandler
-//
-
-EXPORT_C CLiwServiceHandler* CLiwServiceHandler::NewL()
- {
- CLiwServiceHandler* handler = new (ELeave) CLiwServiceHandler();
- CleanupStack::PushL( handler );
- handler->ConstructL();
- CleanupStack::Pop(handler); // handler
- return handler;
- }
-
-
-EXPORT_C CLiwServiceHandler* CLiwServiceHandler::NewLC()
- {
- CLiwServiceHandler* handler = new (ELeave) CLiwServiceHandler();
- CleanupStack::PushL( handler );
- handler->ConstructL();
- return handler;
- }
-
-
-CLiwServiceHandler::CLiwServiceHandler()
- {
- // Nothing to do here.
- }
-
-
-void CLiwServiceHandler::ConstructL()
- {
- iImpl = CLiwServiceHandlerImpl::NewL();
- }
-
-
-EXPORT_C CLiwServiceHandler::~CLiwServiceHandler()
- {
- delete iImpl;
- }
-
-
-EXPORT_C void CLiwServiceHandler::Reset()
- {
- iImpl->Reset();
- }
-
-
-EXPORT_C TInt CLiwServiceHandler::NbrOfProviders(const CLiwCriteriaItem* aCriteria)
- {
- return iImpl->NbrOfProviders(aCriteria);
- }
-
-
-EXPORT_C void CLiwServiceHandler::AttachL(TInt aInterestResourceId)
- {
- iImpl->AttachL(aInterestResourceId);
- }
-
-
-EXPORT_C TInt CLiwServiceHandler::AttachL(const RCriteriaArray& aInterest)
- {
- return (iImpl->AttachL(aInterest,NULL));
- }
-
-EXPORT_C TInt CLiwServiceHandler::AttachL(const RCriteriaArray& aInterest,CRTSecMgrScriptSession& aSecMgrScriptSession)
- {
- return (iImpl->AttachL(aInterest,&aSecMgrScriptSession));
- }
-
-EXPORT_C void CLiwServiceHandler::GetInterest(RCriteriaArray& aInterest)
- {
- iImpl->GetInterest(aInterest);
- }
-
-
-EXPORT_C void CLiwServiceHandler::DetachL(const RCriteriaArray& aInterest)
- {
- iImpl->DetachL(aInterest);
- }
-
-
-EXPORT_C void CLiwServiceHandler::DetachL(TInt aInterestResourceId)
- {
- iImpl->DetachL(aInterestResourceId);
- }
-
-
-EXPORT_C const CLiwCriteriaItem* CLiwServiceHandler::GetCriteria(TInt aId)
- {
- return iImpl->GetCriteria(aId);
- }
-
-
-EXPORT_C void CLiwServiceHandler::InitializeMenuPaneL(
- CEikMenuPane& aMenuPane,
- TInt aMenuResourceId,
- TInt aBaseMenuCmdId,
- const CLiwGenericParamList& aInParamList)
- {
- iImpl->InitializeMenuPaneL(aMenuPane, aMenuResourceId, aBaseMenuCmdId, aInParamList);
- }
-
-EXPORT_C void CLiwServiceHandler::InitializeMenuPaneL(
- CEikMenuPane& aMenuPane,
- TInt aMenuResourceId,
- TInt aBaseMenuCmdId,
- const CLiwGenericParamList& aInParamList,
- TBool aUseSubmenuTextsIfAvailable)
- {
- iImpl->InitializeMenuPaneL(aMenuPane,
- aMenuResourceId,
- aBaseMenuCmdId,
- aInParamList,
- aUseSubmenuTextsIfAvailable);
- }
-
-
-EXPORT_C TInt CLiwServiceHandler::ServiceCmdByMenuCmd(TInt aMenuCmdId) const
- {
- return iImpl->ServiceCmdByMenuCmd(aMenuCmdId);
- }
-
-
-EXPORT_C void CLiwServiceHandler::ExecuteMenuCmdL(
- TInt aMenuCmdId,
- const CLiwGenericParamList& aInParamList,
- CLiwGenericParamList& aOutParamList,
- TUint aCmdOptions,
- MLiwNotifyCallback* aCallback)
- {
- iImpl->ExecuteMenuCmdL(aMenuCmdId, aInParamList, aOutParamList, aCmdOptions, aCallback);
- }
-
-
-EXPORT_C void CLiwServiceHandler::AttachMenuL(TInt aMenuResourceId, TInt aInterestResourceId)
- {
- iImpl->AttachMenuL(aMenuResourceId, aInterestResourceId);
- }
-
-
-EXPORT_C void CLiwServiceHandler::AttachMenuL(TInt aMenuResourceId, TResourceReader& aReader)
- {
- iImpl->AttachMenuL(aMenuResourceId, aReader);
- }
-
-EXPORT_C void CLiwServiceHandler::AttachMenuL(TInt aMenuResourceId, const RCriteriaArray& aInterest)
- {
- iImpl->AttachMenuL(aMenuResourceId, aInterest);
- }
-
-EXPORT_C void CLiwServiceHandler::AttachMenuL(RArray<TInt>& aMenuEntries, TInt aMenuResourceId,
- RCriteriaArray& aInterest)
- {
- iImpl->AttachMenuL(aMenuEntries, aMenuResourceId, aInterest);
- }
-
-EXPORT_C void CLiwServiceHandler::DetachMenu(TInt aMenuResourceId, TInt aInterestResourceId)
- {
- iImpl->DetachMenu(aMenuResourceId, aInterestResourceId);
- }
-
-
-EXPORT_C TBool CLiwServiceHandler::IsSubMenuEmpty(TInt aSubMenuId)
- {
- return iImpl->IsSubMenuEmpty(aSubMenuId);
- }
-
-
-EXPORT_C void CLiwServiceHandler::ExecuteServiceCmdL(
- const TInt& aCmdId,
- const CLiwGenericParamList& aInParamList,
- CLiwGenericParamList& aOutParamList,
- TUint aCmdOptions,
- MLiwNotifyCallback* aCallback)
- {
- iImpl->ExecuteServiceCmdL(aCmdId, aInParamList, aOutParamList, aCmdOptions, aCallback);
- }
-
-EXPORT_C void CLiwServiceHandler::ExecuteServiceCmdL(
- const CLiwCriteriaItem& aCmd,
- const CLiwGenericParamList& aInParamList,
- CLiwGenericParamList& aOutParamList,
- TUint aCmdOptions,
- MLiwNotifyCallback* aCallback)
- {
- iImpl->ExecuteServiceCmdL(aCmd, aInParamList, aOutParamList, aCmdOptions, aCallback);
- }
-
-EXPORT_C CLiwGenericParamList& CLiwServiceHandler::InParamListL()
- {
- return iImpl->InParamListL();
- }
-
-
-EXPORT_C CLiwGenericParamList& CLiwServiceHandler::OutParamListL()
- {
- return iImpl->OutParamListL();
- }
-
-
-EXPORT_C TBool CLiwServiceHandler::IsLiwMenu(TInt aMenuResourceId)
- {
- return iImpl->IsLiwMenu(aMenuResourceId);
- }
-
-
-EXPORT_C TBool CLiwServiceHandler::HandleSubmenuL(CEikMenuPane& aPane)
- {
- return iImpl->HandleSubmenuL(aPane);
- }
-
-
-EXPORT_C TInt CLiwServiceHandler::MenuCmdId(TInt aMenuCmdId) const
- {
- return iImpl->MenuCmdId(aMenuCmdId);
- }
-
-
-EXPORT_C void CLiwServiceHandler::ReportMenuLaunch()
- {
- CLiwTlsData* data = CLiwTlsData::Instance();
- if(data)
- {
- data->ReportMenuLaunch();
- }
- }
-
-
-EXPORT_C void CLiwServiceHandler::QueryImplementationL(RCriteriaArray& aFilterItem, RCriteriaArray& aProviderList)
- {
- for(TInt itemIndex = 0; itemIndex < aFilterItem.Count(); ++itemIndex)
- {
- iImpl->QueryImplementationL(aFilterItem[itemIndex], aProviderList);
- }
-
- }
-// End of file
--- a/languageinterworkingfw/servicehandler/src/liwservicehandlerimpl.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3068 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implements API for consumer application to access Language
-* Interworking Framework.
-*
-*/
-
-
-
-
-
-
-#include <eikenv.h>
-#include <bautils.h> // file helpers
-#include <liwservicehandler.rsg>
-#include "liwmenubinding.h"
-#include "liwservicehandler.h"
-#include "liwservicehandlerimpl.h"
-#include "liwmenu.h"
-#include "liwuids.hrh"
-#include "liwcommon.hrh"
-#include "liwmenuslot.hrh"
-#include "liwecommonitor.h"
-#include "liwtlsdata.h"
-#include "data_caging_path_literals.hrh"
-
-#include "liwxmlhandler.h"
-#include "liwservicedata.h"
-
-#include <rtsecmgrscriptsession.h>
-
-// CONSTANTS
-// Max number of empty menu resource slots.
-const TInt KMaxMenuResources = 16;
-
-// This value tells how many times consumer can call InitializeMenuPaneL() without
-// closing the Options-menu.
-const TInt KMaxPaneIds = KMaxMenuResources;
-
-// The range reserved for individual menu pane.
-const TInt KIndividualMenuPaneIdRange = 10000;
-
-// The whole range that is reserved to all menu panes. Currently value is 170 000.
-const TInt KMenuPaneCommandRange = (KMaxMenuResources + 1) * KIndividualMenuPaneIdRange;
-
-_LIT(KLiwResourceFile, "liwServiceHandler.rsc");
-_LIT(KLiwZDrive, "z:");
-_LIT8(KDataSeparator, "||");
-_LIT(KPerExtension,".per");
-
-const TInt KMaxMenuTitleSize = 100;
-
-// Command id space reserved for single placeholder.
-const TInt KPlaceholderCmdIdRange = 200;
-
-const TInt KMaxLength=255;
-
-const TReal KDefVersion = 1.0;
-const TReal KUnspVersion = 0.0;
-
-void Cleanup(TAny* aAny);
-void InterestCleanup(TAny* aAny);
-void IntArrayCleanup(TAny* aAny);
-void FilteredCleanup(TAny* aAny);
-void Int32ArrayCleanup(TAny* aAny);
-void InterfaceCleanup(TAny* aAny);
-
-_LIT8(KResolverInterface, "IResolver");
-_LIT8(KResolverDomain, "ServiceManager");
-_LIT8(serviceCmdSeparator, "::");
-
-const TInt KDummySrvCmd=1;
-_LIT(KCapabilityCommDD,"CDD");
-_LIT(KCapabilityPowerMgmt,"PMT");
-_LIT(KCapabilityMultimediaDD,"MDD");
-_LIT(KCapabilityReadDeviceData,"RDD");
-_LIT(KCapabilityWriteDeviceData,"WDD");
-_LIT(KCapabilityDRM,"DRM");
-_LIT(KCapabilityTrustedUI,"TUI");
-_LIT(KCapabilityProtServ,"PSV");
-_LIT(KCapabilityDiskAdmin,"DAD");
-_LIT(KCapabilityNetworkControl,"NWC");
-_LIT(KCapabilityAllFiles,"ALF");
-_LIT(KCapabilitySwEvent,"SWE");
-_LIT(KCapabilityNetworkServices,"NWS");
-_LIT(KCapabilityLocalServices,"LOS");
-_LIT(KCapabilityReadUserData,"RUD");
-_LIT(KCapabilityWriteUserData,"WUD");
-_LIT(KCapabilityLocation,"LOC");
-_LIT(KCapabilitySurroundingsDD,"SDD");
-_LIT(KCapabilityUserEnvironment,"USE");
-
-using namespace LIW;
-//
-// LiwServiceHandler
-//
-
-CLiwServiceHandlerImpl* CLiwServiceHandlerImpl::NewL()
- {
- CLiwServiceHandlerImpl* handler = new (ELeave) CLiwServiceHandlerImpl();
- CleanupStack::PushL( handler );
- handler->ConstructL();
- CleanupStack::Pop(handler); // handler
- return handler;
- }
-
-
-
-CLiwServiceHandlerImpl::CLiwServiceHandlerImpl()
- {
- // Nothing to do here.
- }
-
-
-
-void CLiwServiceHandlerImpl::ConstructL()
- {
- TFileName resFile;
- TCallBack callBack(SynchronizeCallBack, this);
- iEcomMonitor = CLiwEcomMonitor::NewL(callBack);
-
-
- iCoeEnv = CCoeEnv::Static();
- RFs rFs;
- TInt err = rFs.Connect();
-
- TFileName dllName;
- Dll::FileName(dllName);
-
- TBuf<2> drive = dllName.Left(2);
- resFile.Copy(drive);
- resFile.Append(KDC_RESOURCE_FILES_DIR);
- resFile.Append(KLiwResourceFile);
- TBool fileExists( BaflUtils::FileExists(rFs, resFile) );
- if ( ! fileExists )
- {
- resFile.Copy(KLiwZDrive);
- resFile.Append(KDC_RESOURCE_FILES_DIR);
- resFile.Append(KLiwResourceFile);
- }
- rFs.Close();
- // A Service Handler instance can be created also when CCoeEnv is not
- // available (e.g. from server applications). In this case, the methods
- // needing CCoeEnv/CEikonEnv will leave with KErrNotSupported.
- if(iCoeEnv)
- {
- // This is commented to avoid resource file getting locked affecting the IAD update.
- // Also, there is no use of resource file since LIW does not support menu related services
- // iResourceOffset = iCoeEnv->AddResourceFileL(resFile);
- }
- // CLiwTlsData has a reference count so each OpenL call
- // must have a matching Close call (done in destructor).
- // OpenL is called only here, the TLS data object can be
- // referenced by calling CLiwTlsData::Instance().
- CLiwTlsData* data = CLiwTlsData::OpenL();
- iTlsDataOpened = ETrue;
-
- // CEikMenuPane informs all menu launch observers
- // when an options menu is launched.
- data->AddMenuLaunchObserverL( this );
- }
-
-
-
-CLiwServiceHandlerImpl::~CLiwServiceHandlerImpl()
- {
- if (iResourceOffset && iCoeEnv)
- {
- // This is commented to avoid resource file getting locked affecting the IAD update.
- // Also, there is no use of resource file since LIW does not support menu related services
- // iCoeEnv->DeleteResourceFile(iResourceOffset);
- }
- Reset();
-
- delete iEcomMonitor;
-
- if ( iTlsDataOpened )
- {
- CLiwTlsData* data = CLiwTlsData::Instance();
- data->RemoveMenuLaunchObserver( this );
- CLiwTlsData::Close();
- }
- }
-
-
-
-void CLiwServiceHandlerImpl::Reset()
- {
- iInterestList.ResetAndDestroy();
- iMenuBindings.ResetAndDestroy();
- iBaseBindings.ResetAndDestroy();
- iProviders.ResetAndDestroy();
-
- iLastInitialized.Reset();
-
- iMenuPanes.ResetAndDestroy();
-
- delete iInParams;
- iInParams = NULL;
- delete iOutParams;
- iOutParams = NULL;
- }
-
-void CLiwServiceHandlerImpl::AttachServiceManagerPluginsL()
-{
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(KDummySrvCmd, KResolverInterface, KResolverDomain);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- RCriteriaArray a;
- a.AppendL(crit);
-
- AttachL(a);
-
- CleanupStack::Pop(crit); // crit
- a.ResetAndDestroy();
-}
-
-void CLiwServiceHandlerImpl::ServiceManagerPlugin_ListImplementationsL(RArray<TInt32>& aArray,
- CLiwCriteriaItem* aItem)
-{
- CLiwGenericParamList* inps = &(InParamListL());
- CLiwGenericParamList* outps = &(OutParamListL());
-
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(KDummySrvCmd, KResolverInterface, KResolverDomain);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- ExecuteServiceCmdL(*crit, *inps, *outps);
- CleanupStack::PopAndDestroy(crit); // crit
-
- TInt pos = 0;
- MLiwInterface* ifp;
- const TLiwGenericParam* p = outps->FindFirst(pos, KResolverInterface, EVariantTypeInterface);
- if (p) {
- ifp = p->Value().AsInterface();
- CleanupStack::PushL(TCleanupItem(InterfaceCleanup, ifp));
- }
- else
- return;
-
- outps->Reset();
- inps->Reset();
-
- _LIT8(KId,"id");
- _LIT8(KCmd,"cmd");
- _LIT8(KCmdStr,"cmd_str");
- _LIT8(KType,"type");
- _LIT8(KListImpl,"ListImplementations");
-
- inps->AppendL(TLiwGenericParam(KId, TLiwVariant(aItem->Id())));
- inps->AppendL(TLiwGenericParam(KCmd, TLiwVariant(aItem->ServiceCmd())));
- inps->AppendL(TLiwGenericParam(KCmdStr, TLiwVariant(aItem->ServiceCmdStr())));
- inps->AppendL(TLiwGenericParam(KType, TLiwVariant(aItem->ContentType())));
- ifp->ExecuteCmdL(KListImpl, *inps, *outps);
-
- pos = 0;
- p = outps->FindFirst(pos, EGenericParamError);
- if (p && (p->Value().AsTInt32() == KErrNone)) {
- pos = 0;
- const CLiwList* list;
- _LIT8(KIdList,"id_list");
- p = outps->FindFirst(pos, KIdList, EVariantTypeList);
- if (p) {
- list = p->Value().AsList();
- for (TInt i = 0; i < list->Count(); i++) {
- TLiwVariant v;
- v.PushL();
- list->AtL(i, v);
- aArray.AppendL(v.AsTInt32());
- CleanupStack::Pop(&v);
- v.Reset();
- }
- }
- }
-
- CleanupStack::Pop(ifp); // ifp
- ifp->Close();
-}
-
-CLiwServiceIfBase* CLiwServiceHandlerImpl::ServiceManagerPlugin_CreateImplementationL(TInt32 aImplUid)
-{
- CLiwGenericParamList* inps = &(InParamListL());
- CLiwGenericParamList* outps = &(OutParamListL());
-
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(KDummySrvCmd, KResolverInterface, KResolverDomain);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- ExecuteServiceCmdL(*crit, *inps, *outps);
- CleanupStack::PopAndDestroy(crit); // crit
-
- TInt pos = 0;
- MLiwInterface* ifp = NULL;
- const TLiwGenericParam* p = outps->FindFirst(pos, KResolverInterface, EVariantTypeInterface);
- if (p) {
- ifp = p->Value().AsInterface();
- CleanupStack::PushL(TCleanupItem(InterfaceCleanup, ifp));
- }
- else
- User::Leave(KErrNotFound);
-
- outps->Reset();
- inps->Reset();
- _LIT8(KUid,"uid");
- _LIT8(KCreateImpl,"CreateImplementation");
-
- inps->AppendL(TLiwGenericParam(KUid, TLiwVariant(aImplUid)));
- ifp->ExecuteCmdL(KCreateImpl, *inps, *outps);
-
- pos = 0;
- p = outps->FindFirst(pos, EGenericParamError);
- User::LeaveIfError(p->Value().AsTInt32());
-
- pos = 0;
- CLiwServiceIfBase* iface = NULL;
- _LIT8(KImplPtr, "impl_ptr");
- p = outps->FindFirst(pos, KImplPtr, EVariantTypeDesC8);
- if (p) {
- TPtrC8 buf = p->Value().AsData();
- if (buf.Size() == sizeof(iface))
- Mem::Copy(&iface, buf.Ptr(), buf.Size());
- else
- User::Leave(KErrNotFound);
- }
- else
- User::Leave(KErrNotFound);
-
- CleanupStack::Pop(ifp); // ifp
- ifp->Close();
-
- return iface;
-}
-
-void CLiwServiceHandlerImpl::ListProvidersForCriteriaL(RArray<TInt>& aResult,
- CLiwCriteriaItem& aItem)
- {
- TInt i;
-
- for (i = 0; i < iProviders.Count(); i++)
- {
- if (iProviders[i]->HasCriteria(aItem))
- {
- User::LeaveIfError(aResult.Append(iProviders[i]->ImplementationUid().iUid));
- }
- }
- }
-
-
-
-TInt CLiwServiceHandlerImpl::NbrOfProviders(const CLiwCriteriaItem* aCriteria)
- {
- if(!aCriteria)
- {
- return 0;
- }
-
- TInt i, j;
-
- for (i = 0; i < iBaseBindings.Count(); i++)
- {
- for (j = 0; j < iBaseBindings[i]->Interest().Count(); j++)
- {
- if ((*iBaseBindings[i]->Interest()[j]) == (*aCriteria))
- {
- return iBaseBindings[i]->NumberOfProviders();
- }
- }
- }
-
- for (i = 0; i < iMenuBindings.Count(); i++)
- {
- for (j = 0; j < iMenuBindings[i]->Interest().Count(); j++)
- {
- if ((*iMenuBindings[i]->Interest()[j]) == (*aCriteria))
- {
- return iMenuBindings[i]->NumberOfProviders();
- }
- }
- }
-
- return 0;
- }
-
-
-
-void CLiwServiceHandlerImpl::AttachL(TInt aInterestResourceId)
- {
- // CCoeEnv/CEikonEnv needs to be accessible.
- if(!iCoeEnv)
- {
- User::Leave(KErrNotSupported);
- }
-
- RCriteriaArray interest, filtered;
-
- CleanupStack::PushL( TCleanupItem( InterestCleanup, &interest ) );
- CleanupStack::PushL( TCleanupItem( FilteredCleanup, &filtered ) );
-
- TResourceReader reader;
- iCoeEnv->CreateResourceReaderLC(reader, aInterestResourceId);
- ReadInterestListL(reader, interest);
- CleanupStack::PopAndDestroy(); //reader
-
- FilterInterestListL(interest, filtered);
-
- DoAttachL(filtered,NULL);
-
- filtered.Reset();
-
- CleanupStack::Pop(&filtered); // filtered
- CleanupStack::Pop(&interest); // interest
- }
-
-
-
-TInt CLiwServiceHandlerImpl::AttachL(const RCriteriaArray& aInterest)
- {
- return (this->AttachL(aInterest,NULL));
- }
-
-TInt CLiwServiceHandlerImpl::AttachL(const RCriteriaArray& aInterest ,CRTSecMgrScriptSession* aSecMgrScriptSession)
- {
- RCriteriaArray interest, filtered;
-
- CleanupStack::PushL( TCleanupItem( InterestCleanup, &interest ) );
- CleanupStack::PushL( TCleanupItem( FilteredCleanup, &filtered ) );
-
- for(TInt i = 0; i < aInterest.Count(); i++)
- {
- CLiwCriteriaItem* item = CLiwCriteriaItem::NewLC();
-
- item->SetId( aInterest[i]->Id() );
- if (aInterest[i]->ServiceCmd() == KLiwCmdAsStr)
- item->SetServiceCmdL( aInterest[i]->ServiceCmdStr() );
- else
- item->SetServiceCmd( aInterest[i]->ServiceCmd() );
- item->SetContentTypeL( aInterest[i]->ContentType() );
- item->SetServiceClass( aInterest[i]->ServiceClass() );
-
- item->SetOptions( aInterest[i]->Options() );
-
- //Setting the imetadataOptions of item
- TLiwVariant metadataOption;
- metadataOption.PushL();
-
- aInterest[i]->GetMetaDataOptions(metadataOption);
- item->SetMetaDataOptions(metadataOption);
- metadataOption.Reset();
-
- item->SetDefaultProvider( (aInterest[i]->DefaultProvider()).iUid );
- item->SetMaxProviders( aInterest[i]->MaxProviders() );
-
- User::LeaveIfError(interest.Append(item));
- CleanupStack::Pop(&metadataOption);
- CleanupStack::Pop(item);
- }
-
- FilterInterestListL(interest, filtered);
-
- TInt result = DoAttachL(filtered,aSecMgrScriptSession);
-
- filtered.Reset();
-
- CleanupStack::Pop(&filtered); // filtered
- CleanupStack::Pop(&interest); // interest
-
- return result;
- }
-
-TInt CLiwServiceHandlerImpl::DoAttachL(const RCriteriaArray& aInterest,CRTSecMgrScriptSession* aSecMgrScriptSession)
- {
- CLiwBinding* bind;
- TInt success = -1;
- for (TInt i = 0; i < aInterest.Count(); i++)
- {
- bind = CLiwBinding::NewLC();
-
- success = ResolveProvidersL(bind, aInterest[i],aSecMgrScriptSession);
-
- if (success == KLiwServiceLoadSuccess)
- {
- User::LeaveIfError(iBaseBindings.Append( bind ));
- CleanupStack::Pop(bind); // bind
- bind->AddCriteriaL(aInterest[i]);
-
- // Initialise providers.
- for (TInt k = 0; k < bind->NumberOfProviders(); k++)
- {
- // Trap the initialisation. If not done, a leaving provider
- // could prevent the initialisation of other providers.
- TRAPD(err, bind->BaseProvider(k)->InitialiseL(*this, bind->Interest()));
-
-
-
- if(err)
- {
-#ifdef _DEBUG
- RDebug::Print(_L("LIW PROVIDER ERROR: CLiwServiceIfBase::InitialiseL() failed, leave code:%d"), err);
-#endif
- }
- }
- }
- else
- {
- CleanupStack::PopAndDestroy(bind); // bind
- }
- }
- return success; // returns status of 'n'th criteria in interest
- }
-
-
-void CLiwServiceHandlerImpl::GetInterest(RCriteriaArray& aInterest)
- {
- for (TInt i = 0; i < iInterestList.Count(); i++)
- {
- if (aInterest.Append(iInterestList[i]) != KErrNone)
- {
- return;
- }
- }
- }
-
-
-
-void CLiwServiceHandlerImpl::DetachL(const RCriteriaArray& aInterest)
- {
- // First, remove relevant criteria items from relevat base bindings.
- for (TInt i = 0; i < aInterest.Count(); i++)
- {
- for (TInt j = 0; j < iBaseBindings.Count(); j++)
- {
- TInt index = iBaseBindings[j]->HasCriteriaItem(*aInterest[i]);
- if (index != KErrNotFound)
- {
- iBaseBindings[j]->RemoveCriteria(index);
- }
- }
- }
-
- // Second pass removes empty bindings.
- for (TInt i = 0; i < iBaseBindings.Count(); i++)
- {
- if (iBaseBindings[i]->Interest().Count() == 0)
- {
- delete iBaseBindings[i];
- iBaseBindings.Remove(i);
- i--;
- }
- }
-
- // Then check if there were left obselete criteria items and remove them.
- RemoveObsoleteCriteriaItems();
-
- // Finally check if there were left obselete providers and remove them.
- RemoveObsoleteProviders();
- }
-
-
-
-void CLiwServiceHandlerImpl::DetachL(TInt aInterestResourceId)
- {
- // CCoeEnv/CEikonEnv needs to be accessible.
- if(!iCoeEnv)
- {
- User::Leave(KErrNotSupported);
- }
-
- RCriteriaArray interest;
-
- CleanupStack::PushL( TCleanupItem( InterestCleanup, &interest ) );
-
- TResourceReader reader;
- iCoeEnv->CreateResourceReaderLC(reader, aInterestResourceId);
- ReadInterestListL(reader, interest);
- CleanupStack::PopAndDestroy(); //reader
-
- DetachL( interest );
-
- interest.ResetAndDestroy();
- CleanupStack::Pop(&interest); // interest
- }
-
-
-const CLiwCriteriaItem* CLiwServiceHandlerImpl::GetCriteria(TInt aId)
- {
- for (TInt i = 0; i < iInterestList.Count(); i++)
- {
- if (iInterestList[i]->Id() == aId)
- {
- return iInterestList[i];
- }
- }
-
- return NULL;
- }
-
-TInt CLiwServiceHandlerImpl::NumAlreadyInitializedPaneIdsL() const
- {
- TInt ret = 0;
- TInt paneIds[KMaxPaneIds] = {0};
- TBool found = EFalse;
-
- for (TInt i = 0; i < iLastInitialized.Count(); i++)
- {
- found = EFalse;
-
- for (TInt j = 0; j < ret; j++)
- {
- if (iLastInitialized[i]->MenuResourceId() == paneIds[j])
- {
- found = ETrue;
- break;
- }
- }
-
- if (!found)
- {
- // Create new item.
- if (ret >= KMaxPaneIds)
- {
-#ifdef _DEBUG
- RDebug::Print(_L("ERROR: OVERFLOW in CLiwServiceHandlerImpl::NumAlreadyInitializedPaneIdsL()"));
-#endif
- User::Leave(KErrOverflow);
- }
- paneIds[ret] = iLastInitialized[i]->MenuResourceId();
- ret++;
- }
- }
- return ret;
- }
-
-void CLiwServiceHandlerImpl::InitializeMenuPaneL(
- CEikMenuPane& aMenuPane,
- TInt aMenuResourceId,
- TInt aBaseMenuCmdId,
- const CLiwGenericParamList& aInParamList)
- {
- InitializeMenuPaneL(aMenuPane, aMenuResourceId, aBaseMenuCmdId, aInParamList, EFalse);
- }
-
-void CLiwServiceHandlerImpl::InitializeMenuPaneL(
- CEikMenuPane& aMenuPane,
- TInt aMenuResourceId,
- TInt aBaseMenuCmdId,
- const CLiwGenericParamList& aInParamList,
- TBool aUseSubmenuTextsIfAvailable)
- {
- // CCoeEnv/CEikonEnv needs to be accessible.
- if(!iCoeEnv)
- {
- User::Leave(KErrNotSupported);
- }
-
- if (!iMenuBindings.Count())
- {
- // Either no menu is attached to interest or menu was attached but
- // it didn't contain any placeholders for criteria items. So
- // nothing to do, get out.
- return;
- }
-
- TInt index;
- TInt slotcmd;
- TBuf <KMaxMenuTitleSize> subTitle;
- TBool titleLocked;
- TInt paneOffset = NumAlreadyInitializedPaneIdsL() * KIndividualMenuPaneIdRange;
-
- iSubmenuCmd = aBaseMenuCmdId + KMenuPaneCommandRange;
- slotcmd = SlotItemCmd(aMenuPane);
- if (slotcmd >= 0)
- {
- // aMenuPane is liw submenu. At this point it is empty and we must
- // copy provider menu items to it.
- CLiwMenuPane* liwPane = MenuPaneForSlotCmd(slotcmd);
- if (liwPane)
- {
- CopyMenuItemsL(liwPane, aMenuPane, 0, ETrue);
- aMenuPane.DeleteMenuItem(slotcmd);
- iSubmenu = liwPane;
- }
- }
- else
- {
- iSubmenu = NULL;
-
- const TInt bindcount = iMenuBindings.Count();
- for (TInt i = 0; i < bindcount; i++)
- {
- if ((iMenuBindings[i]->MenuId() == aMenuResourceId) &&
- (aMenuPane.MenuItemExists(iMenuBindings[i]->MenuCmd(), index)))
- {
- CLiwMenuPane* liwPane = iMenuBindings[i]->MenuPane();
- TInt menuResourceId = -1;
- if(liwPane)
- {
- // An LIW menu pane already exists (this means that a normal
- // non-LIW submenu with LIW items has been opened more than once).
- // In this case we use the existing resource slot id.
- menuResourceId = liwPane->ResourceSlotId();
- paneOffset = liwPane->PaneOffset();
- DeleteLiwMenuPane(liwPane);
- liwPane = NULL;
- }
- liwPane = CreateEmptyLiwMenuPaneL(aBaseMenuCmdId, menuResourceId);
- CleanupStack::PushL(liwPane);
- liwPane->SetPaneOffset(paneOffset);
- paneOffset += KPlaceholderCmdIdRange;
- iMenuBindings[i]->SetMenuPane(liwPane);
-
- // Clean previous service commands from list.
- CLiwGenericParamList& list = const_cast<CLiwGenericParamList&>(aInParamList);
- while (list.Remove(EGenericParamServiceCommand))
- {
- // Intentionally left empty.
- }
-
- // Add service commands for current placeholder.
- const TInt icount = iMenuBindings[i]->Interest().Count();
- for (TInt k = 0; k < icount; k++)
- {
- list.AppendL(TLiwGenericParam(EGenericParamServiceCommand,
- TLiwVariant(iMenuBindings[i]->Interest()[k]->ServiceCmd())));
- }
-
- // Loop from last entry to first entry always inserting to same index.
- // Default provider is the first item in list, so if there is a default
- // provider defined, it will be the first one to appear in menus.
- for (TInt j = iMenuBindings[i]->NumberOfProviders() - 1; j >= 0; j--)
- {
- liwPane->SetInitializingOwner(iMenuBindings[i]->MenuProvider(j));
- iMenuBindings[i]->MenuProvider(j)->InitializeMenuPaneHookL(liwPane,
- 0, 0, aInParamList);
- }
-
- GetSubmenuTitle(liwPane->MenuPane(), subTitle);
-
- TLiwPlaceholderType phtype = PlaceholderType(aMenuPane,
- iMenuBindings[i]->MenuCmd(), titleLocked);
-
- if ((phtype == ELiwPlaceholderCascade) ||
- (phtype == ELiwPlaceholderIntelligentCascade))
- {
- if (liwPane->MenuPane().NumberOfItemsInPane() == 1)
- {
- // Remove placeholder item.
- aMenuPane.DeleteMenuItem(iMenuBindings[i]->MenuCmd());
- CleanupStack::PopAndDestroy(liwPane); // liwPane
- continue;
- }
- else if ((liwPane->MenuPane().NumberOfItemsInPane() == 2) &&
- (phtype == ELiwPlaceholderIntelligentCascade))
- {
- UnCascadeL(aMenuPane, iMenuBindings[i]->MenuCmd(), *liwPane);
- User::LeaveIfError(iLastInitialized.Append(liwPane));
- }
- else
- {
- if (titleLocked)
- {
- subTitle.Zero();
- }
- ConvertPlaceholderL(aMenuPane, iMenuBindings[i]->MenuCmd(), *liwPane,
- subTitle);
- }
- }
- else
- {
- // Remove placeholder item.
- aMenuPane.DeleteMenuItem(iMenuBindings[i]->MenuCmd());
-
- // Copy menu items to actual menu pane
- CopyMenuItemsL(liwPane, aMenuPane, index, aUseSubmenuTextsIfAvailable);
- User::LeaveIfError(iLastInitialized.Append(liwPane));
- }
- liwPane->SetMenuResourceId(aMenuResourceId);
- User::LeaveIfError(iMenuPanes.Append(liwPane));
- CleanupStack::Pop(liwPane); // liwPane
- }
- }
- }
- }
-
-
-
-
-TInt CLiwServiceHandlerImpl::ServiceCmdByMenuCmd(TInt aMenuCmdId) const
- {
- for (TInt i = 0; i < iMenuBindings.Count(); i++)
- {
- if ((IsInLastInitialized(iMenuBindings[i]->MenuPane())) &&
- (iMenuBindings[i]->MenuPane()->IsCmdInRange(KPlaceholderCmdIdRange, aMenuCmdId)))
- {
- return iMenuBindings[i]->MenuPane()->ServiceCmdId(aMenuCmdId);
- }
- }
-
- return 0;
- }
-
-
-
-void CLiwServiceHandlerImpl::ExecuteMenuCmdL(
- TInt aMenuCmdId,
- const CLiwGenericParamList& aInParamList,
- CLiwGenericParamList& aOutParamList,
- TUint aCmdOptions,
- MLiwNotifyCallback* aCallback)
- {
- // CCoeEnv/CEikonEnv needs to be accessible.
- if(!iCoeEnv)
- {
- User::Leave(KErrNotSupported);
- }
-
- if (!iMenuBindings.Count())
- {
- return;
- }
-
- // Handle real menu providers.
- for (TInt i = 0; i < iMenuBindings.Count(); i++)
- {
- CLiwMenuPane* menuPane = iMenuBindings[i]->MenuPane();
-
- if (IsInLastInitialized(menuPane))
- {
- for (TInt j = 0; j < iMenuBindings[i]->NumberOfProviders(); j++)
- {
- if ((menuPane->IsCmdInRange(KPlaceholderCmdIdRange, aMenuCmdId)) &&
- (menuPane->CommandOwner(aMenuCmdId) == iMenuBindings[i]->MenuProvider(j)))
- {
- iMenuBindings[i]->MenuProvider(j)->HandleMenuCmdHookL(
- menuPane,
- aMenuCmdId,
- aInParamList,
- aOutParamList,
- aCmdOptions,
- aCallback);
- return;
- }
- }
- }
- }
- }
-
-
-
-void CLiwServiceHandlerImpl::AttachMenuL(TInt aMenuResourceId, TInt aInterestResourceId)
- {
- // CCoeEnv/CEikonEnv needs to be accessible.
- if(!iCoeEnv)
- {
- User::Leave(KErrNotSupported);
- }
-
- RCriteriaArray interest, filtered;
- TResourceReader reader;
-
- CleanupStack::PushL( TCleanupItem( InterestCleanup, &interest ) );
- CleanupStack::PushL( TCleanupItem( FilteredCleanup, &filtered ) );
- iCoeEnv->CreateResourceReaderLC(reader, aInterestResourceId);
- ReadInterestListL(reader, interest);
- CleanupStack::PopAndDestroy(); //reader
- FilterInterestListL(interest, filtered);
-
- iCoeEnv->CreateResourceReaderLC(reader, aMenuResourceId);
- DoAttachMenuL(reader, aMenuResourceId, filtered);
- filtered.Reset();
- CleanupStack::PopAndDestroy(); //reader
- CleanupStack::Pop(&filtered); // filtered
- CleanupStack::Pop(&interest); // interest
- }
-
-
-
-void CLiwServiceHandlerImpl::AttachMenuL(TInt aMenuResourceId, TResourceReader& aReader)
- {
- // CCoeEnv/CEikonEnv needs to be accessible.
- if(!iCoeEnv)
- {
- User::Leave(KErrNotSupported);
- }
-
- RCriteriaArray interest, filtered;
- TResourceReader reader;
-
- CleanupStack::PushL( TCleanupItem( InterestCleanup, &interest ) );
- CleanupStack::PushL( TCleanupItem( FilteredCleanup, &filtered ) );
- ReadInterestListL(aReader, interest);
- FilterInterestListL(interest, filtered);
-
- iCoeEnv->CreateResourceReaderLC(reader, aMenuResourceId);
- DoAttachMenuL(reader, aMenuResourceId, filtered);
- filtered.Reset();
- CleanupStack::PopAndDestroy(); //reader
- CleanupStack::Pop(&filtered); // filtered
- CleanupStack::Pop(&interest); // interest
- }
-
-void CLiwServiceHandlerImpl::AttachMenuL(TInt aMenuResourceId, const RCriteriaArray& aInterest)
- {
- // CCoeEnv/CEikonEnv needs to be accessible.
- if(!iCoeEnv)
- {
- User::Leave(KErrNotSupported);
- }
-
- RCriteriaArray interest, filtered;
- TResourceReader reader;
-
- CleanupStack::PushL( TCleanupItem( InterestCleanup, &interest ) );
- CleanupStack::PushL( TCleanupItem( FilteredCleanup, &filtered ) );
-
- for(TInt i = 0; i < aInterest.Count(); i++)
- {
- CLiwCriteriaItem* item = CLiwCriteriaItem::NewLC();
-
- item->SetId( aInterest[i]->Id() );
- item->SetServiceCmd( aInterest[i]->ServiceCmd() );
- item->SetContentTypeL( aInterest[i]->ContentType() );
- item->SetServiceClass( aInterest[i]->ServiceClass() );
- item->SetOptions( aInterest[i]->Options() );
- item->SetDefaultProvider( (aInterest[i]->DefaultProvider()).iUid );
- item->SetMaxProviders( aInterest[i]->MaxProviders() );
-
- User::LeaveIfError(interest.Append(item));
- CleanupStack::Pop(item);
- }
-
- FilterInterestListL(interest, filtered);
-
- iCoeEnv->CreateResourceReaderLC(reader, aMenuResourceId);
- DoAttachMenuL(reader, aMenuResourceId, filtered);
- filtered.Reset();
- CleanupStack::PopAndDestroy(); //reader
- CleanupStack::Pop(&filtered); // filtered
- CleanupStack::Pop(&interest); // interest
- }
-
-void CLiwServiceHandlerImpl::AttachMenuL(RArray<TInt>& aMenuEntries,
- TInt aMenuResourceId,
- RCriteriaArray& aInterest)
- {
- RCriteriaArray filtered;
-
- CleanupStack::PushL( TCleanupItem( FilteredCleanup, &filtered ) );
- FilterInterestListL(aInterest, filtered);
-
- TInt menuCmd;
- TInt count = aMenuEntries.Count();
- TBool bound;
-
- for (TInt i = 0; i < count; i++)
- {
- menuCmd = aMenuEntries[i];
- CLiwMenuBinding* bind = NULL;
- bound = EFalse;
-
- if (!menuCmd)
- continue;
-
- for (TInt j = 0; j < filtered.Count(); j++)
- {
- if (filtered[j]->Id() == menuCmd)
- {
- if (!bind)
- {
- bind = AlreadyBound(aMenuResourceId, menuCmd, i);
- if (!bind)
- {
- bind = CLiwMenuBinding::NewLC(i, aMenuResourceId);
- bind->SetMenuCmd( menuCmd );
- }
- else
- {
- bound = ETrue;
- }
- }
-
- if (bind->HasCriteriaItem(*(filtered[j])) == KErrNotFound)
- {
- ResolveProvidersL(bind, filtered[j],NULL);
- bind->AddCriteriaL(filtered[j]);
- }
- }
- }
-
- // Initialise providers.
- if (bind)
- {
- for (TInt k = 0; k < bind->NumberOfProviders(); k++)
- {
- bind->MenuProvider(k)->InitialiseL(*this, bind->Interest());
- }
- if (!bound)
- {
- User::LeaveIfError(iMenuBindings.Append( bind ));
- CleanupStack::Pop(bind); // bind
- }
- }
- }
-
- filtered.Reset();
- CleanupStack::Pop(&filtered); // filtered
- }
-
-void CLiwServiceHandlerImpl::DoAttachMenuL(TResourceReader& aReader, TInt aMenuId,
- RCriteriaArray& aInterest)
- {
- TInt menuCmd;
- TInt count = aReader.ReadInt16();
- TBool bound;
-
- for (TInt i = 0; i < count; i++)
- {
- menuCmd = aReader.ReadInt32();
- CLiwMenuBinding* bind = NULL;
- bound = EFalse;
-
- for (TInt j = 0; j < aInterest.Count(); j++)
- {
- if (aInterest[j]->Id() == menuCmd)
- {
- if (!bind)
- {
- bind = AlreadyBound(aMenuId, menuCmd, i);
- if (!bind)
- {
- bind = CLiwMenuBinding::NewLC(i, aMenuId);
- bind->SetMenuCmd( menuCmd );
- }
- else
- {
- bound = ETrue;
- }
- }
-
- if (bind->HasCriteriaItem(*(aInterest[j])) == KErrNotFound)
- {
- ResolveProvidersL(bind, aInterest[j],NULL);
- bind->AddCriteriaL(aInterest[j]);
- }
- }
- }
-
- // Initialise providers.
- if (bind)
- {
- for (TInt k = 0; k < bind->NumberOfProviders(); k++)
- {
- TRAPD(err, bind->MenuProvider(k)->InitialiseL(*this, bind->Interest()));
- if(err)
- {
-#ifdef _DEBUG
- RDebug::Print(_L("LIW PROVIDER ERROR: CLiwServiceIfMenu::InitialiseL() failed, leave code:%d"), err);
-#endif
- // The provider failed to initialise.
- // Remove the failed provider from this menu binding.
- CLiwServiceIfMenu* provider = bind->MenuProvider(k);
- TInt implUid = provider->ImplementationUid().iUid;
- bind->RemoveProvider(implUid);
-
- // Remove the failed provider also from other menu bindings.
- for (TInt m = 0; m < iMenuBindings.Count(); m++)
- {
- iMenuBindings[m]->RemoveProvider(implUid);
- }
-
- // Then remove provider from the owner list and delete it.
- for (TInt m = 0; m < iProviders.Count(); m++)
- {
- if (iProviders[m]->ImplementationUid().iUid == implUid)
- {
- delete iProviders[m];
- iProviders.Remove(m);
- m--;
- }
- }
- }
- }
- if (!bound)
- {
- User::LeaveIfError(iMenuBindings.Append( bind ));
- CleanupStack::Pop(bind); // bind
- }
- }
- SkipMenuFields(aReader); // Jump to next menu item
- }
- }
-
-void CLiwServiceHandlerImpl::ReadInterestL(RCriteriaArray& aInterest, TInt aInterestResourceId)
- {
- CleanupStack::PushL( TCleanupItem( InterestCleanup, &aInterest ) );
- TResourceReader reader;
- iCoeEnv->CreateResourceReaderLC(reader, aInterestResourceId);
- ReadInterestListL(reader, aInterest);
- CleanupStack::PopAndDestroy(); //reader
- CleanupStack::Pop(&aInterest);
- }
-
-
-void CLiwServiceHandlerImpl::DetachMenu(TInt aMenuResourceId, TInt aInterestResourceId)
- {
- // If interest resource id is null, then detach all items in the given menu.
- if (!aInterestResourceId)
- {
- DoDetachMenu(aMenuResourceId);
- }
- else
- {
- // CCoeEnv/CEikonEnv needs to be accessible.
- if(!iCoeEnv)
- {
- // We cannot leave because this is a non-leaving method.
- return;
- }
-
- RCriteriaArray interest;
- TRAPD(err, ReadInterestL(interest, aInterestResourceId));
- if (err)
- {
- return;
- }
-
- DoDetachMenu(aMenuResourceId, interest);
-
- interest.ResetAndDestroy();
- }
- }
-
-
-void CLiwServiceHandlerImpl::DoDetachMenu(TInt aMenuResourceId)
- {
- // First, delete the relevant menu bindings.
- for (TInt i = 0; i < iMenuBindings.Count(); i++)
- {
- if (iMenuBindings[i]->MenuId() == aMenuResourceId)
- {
- delete iMenuBindings[i];
- iMenuBindings.Remove(i);
- i--;
- }
- }
-
- // Then check if there were left obselete criteria items and remove them.
- RemoveObsoleteCriteriaItems();
-
- // Finally check if there were left obselete providers and remove them.
- RemoveObsoleteProviders();
- }
-
-
-void CLiwServiceHandlerImpl::DoDetachMenu(TInt aMenuResourceId, RCriteriaArray& aInterest)
- {
- // First, remove relevant criteria items from relevant menu bindings.
- for (TInt i = 0; i < iMenuBindings.Count(); i++)
- {
- if (iMenuBindings[i]->MenuId() == aMenuResourceId)
- {
- for (TInt j = 0; j < aInterest.Count(); j++)
- {
- TInt index = iMenuBindings[i]->HasCriteriaItem(*aInterest[j]);
- if (index != KErrNotFound)
- {
- iMenuBindings[i]->RemoveCriteria(index);
- }
- }
- }
- }
-
- // Second pass removes empty bindings.
- for (TInt i = 0; i < iMenuBindings.Count(); i++)
- {
- if (iMenuBindings[i]->Interest().Count() == 0)
- {
- delete iMenuBindings[i];
- iMenuBindings.Remove(i);
- i--;
- }
- }
-
- // Then check if there were left obselete criteria items and remove them.
- RemoveObsoleteCriteriaItems();
-
- // Finally check if there were left obselete providers and remove them.
- RemoveObsoleteProviders();
- }
-
-
-void CLiwServiceHandlerImpl::RemoveObsoleteCriteriaItems()
- {
- for (TInt i = 0; i < iInterestList.Count(); i++)
- {
- CLiwCriteriaItem* criteria = iInterestList[i];
- TBool found = EFalse;
-
- // Loop through base bindings.
- for (TInt j = 0; j < iBaseBindings.Count(); j++)
- {
- if (iBaseBindings[j]->HasCriteriaItem(*criteria) != KErrNotFound)
- {
- found = ETrue;
- break;
- }
- }
-
- // If still not found, loop through menu bindings.
- if (!found)
- {
- for (TInt j = 0; j < iMenuBindings.Count(); j++)
- {
- if (iMenuBindings[j]->HasCriteriaItem(*criteria) != KErrNotFound)
- {
- found = ETrue;
- break;
- }
- }
- }
-
- // Criteria item can be deleted if it was not found.
- if (!found)
- {
- delete iInterestList[i];
- iInterestList.Remove(i);
- i--;
- }
- }
- }
-
-
-void CLiwServiceHandlerImpl::RemoveObsoleteProviders()
- {
- for (TInt i = 0; i < iProviders.Count(); i++)
- {
- CLiwServiceIfBase* provider = iProviders[i];
- TBool found = EFalse;
-
- // Loop through base bindings.
- for (TInt j = 0; j < iBaseBindings.Count(); j++)
- {
- if (iBaseBindings[j]->HasProvider(provider))
- {
- found = ETrue;
- break;
- }
- }
-
- // If still not found, loop through menu bindings.
- if (!found)
- {
- for (TInt j = 0; j < iMenuBindings.Count(); j++)
- {
- if (iMenuBindings[j]->HasProvider(provider))
- {
- found = ETrue;
- break;
- }
- }
- }
-
- // Criteria item can be deleted if it was not found.
- if (!found)
- {
- delete iProviders[i];
- iProviders.Remove(i);
- i--;
- }
- }
- }
-
-
-TBool CLiwServiceHandlerImpl::IsSubMenuEmpty(TInt aSubMenuId)
- {
- for (TInt i = 0; i < iMenuBindings.Count(); i++)
- {
- if (iMenuBindings[i]->MenuId() == aSubMenuId)
- {
- if (iMenuBindings[i]->NumberOfProviders() > 0)
- {
- return EFalse;
- }
-
- return ETrue;
- }
- }
-
- return EFalse;
- }
-
-
-
-
-CLiwMenuBinding* CLiwServiceHandlerImpl::AlreadyBound(TInt aMenuId, TInt aMenuCmd,
- TInt aMenuItemIndex) const
- {
- for (TInt i = 0; i < iMenuBindings.Count(); i++)
- {
- if ((iMenuBindings[i]->MenuId() == aMenuId) &&
- (iMenuBindings[i]->MenuCmd() == aMenuCmd) &&
- (iMenuBindings[i]->MenuItemIndex() == aMenuItemIndex))
- {
- return iMenuBindings[i];
- }
- }
-
- return NULL;
- }
-
-
-void CLiwServiceHandlerImpl::ExecuteServiceCmdL(
- const TInt& aCmdId,
- const CLiwGenericParamList& aInParamList,
- CLiwGenericParamList& aOutParamList,
- TUint aCmdOptions,
- MLiwNotifyCallback* aCallback)
- {
- for (TInt i = 0; i < iBaseBindings.Count(); i++)
- {
- if(iBaseBindings[i]->HasServiceCmd(aCmdId))
- {
- for (TInt j = 0; j < iBaseBindings[i]->NumberOfProviders(); j++)
- {
- iBaseBindings[i]->BaseProvider(j)->HandleServiceCmdL(aCmdId,
- aInParamList, aOutParamList, aCmdOptions, aCallback);
- }
- }
- }
-}
-
-void CLiwServiceHandlerImpl::ExecuteServiceCmdL(
- const CLiwCriteriaItem& aCmd,
- const CLiwGenericParamList& aInParamList,
- CLiwGenericParamList& aOutParamList,
- TUint aCmdOptions,
- MLiwNotifyCallback* aCallback)
- {
- for (TInt i = 0; i < iBaseBindings.Count(); i++) {
- for (TInt k = 0; k < iBaseBindings[i]->Interest().Count(); k++) {
- if ((iBaseBindings[i]->Interest()[k]->ServiceCmd() == KLiwCmdAsStr) &&
- (aCmd.ServiceCmd() == KLiwCmdAsStr) &&
- (iBaseBindings[i]->Interest()[k]->ServiceCmdStr() == aCmd.ServiceCmdStr()) &&
- (iBaseBindings[i]->Interest()[k]->ContentType() == aCmd.ContentType()))
- {
- //call only one provider
- if (iBaseBindings[i]->NumberOfProviders() > 0) {
- iBaseBindings[i]->BaseProvider(0)->HandleServiceCmdL(aCmd.ServiceCmdStr(),
- aInParamList, aOutParamList, aCmdOptions, aCallback);
- }
- }
- }
- }
- }
-
-void CLiwServiceHandlerImpl::ReadInterestListL(TResourceReader& aReader,
- RPointerArray<CLiwCriteriaItem>& aResult)
- {
- const TInt count = aReader.ReadInt16();
- for (TInt ii = 0; ii < count; ++ii)
- {
- CLiwCriteriaItem* item = CLiwCriteriaItem::NewLC();
- item->ReadFromResoureL( aReader );
- User::LeaveIfError(aResult.Append(item));
- CleanupStack::Pop(item); // item
- }
- }
-
-/* Parses the metadata information stored in the opaque_data field
- * of service provider registration information \c REGISTRY_INFO.
- *
- * The metadata information is seprated from the service command definition
- * in the opaque_data field using a separator "::".
- *
- * @param aOpaque the opaque_data values specified in the registration information
- * @param aMetaData the parsed metadata entries will be stored in this variable
- *
- */
-void CLiwServiceHandlerImpl::ParseMetaData(const TDesC8& aOpaque, TDes8& aMetaData)
- {
-
- _LIT8(serviceCmdSeparator, "::");
- const TInt metaDataStartPos=2;
-
- TInt separatorPos = aOpaque.Find(serviceCmdSeparator);
-
- if (separatorPos != KErrNotFound)
- {
- // Find the first section, up to the separator
- separatorPos += metaDataStartPos;
- aMetaData.Copy(aOpaque.Mid(separatorPos,aOpaque.Length()-separatorPos));
- }
- }
-
-/*
- QueryImplementationL finds the providers that match the given criteria item that is passed as the parameters
-*/
-void CLiwServiceHandlerImpl::QueryImplementationL(CLiwCriteriaItem* aItem, RCriteriaArray& aProviderList)
- {
- RImplInfoPtrArray infoArray;
- _LIT8(KWild,"*");
-
- if(0 == aItem->ContentType().Compare(KNullDesC8))
- aItem->SetContentTypeL(KWild);
-
- if(0 == aItem->ServiceCmdStr().Compare(KNullDesC8))
- aItem->SetServiceCmdL(KWild);
-
- //to fetch the infoArray
- QueryImplementationL(aItem,infoArray);
-
- CLiwXmlHandler* pXmlHandler = CLiwXmlHandler::NewLC();
-
- CLiwServiceData* pServiceData = NULL;
-
- TInt versionCheck = 0;
-
- for (TInt index = 0; index < infoArray.Count(); ++index)
- {
- if ((aItem->Options() & LIW_OPTIONS_ROM_ONLY) && (infoArray[index]->RomBased() == EFalse))
- {
- continue;
- }
-
- CImplementationInformation* pImplInfo = infoArray[index];
- const TInt separatorLength = KDataSeparator().Length();//find "||"
- TInt separatorPos = pImplInfo->OpaqueData().Find(KDataSeparator);
-
- TInt leftExtractPos = 0;
- TBool separatorFound = EFalse;
-
- do
- {
- //Constructing the Criteria Item and appending to providerList
- CLiwCriteriaItem* item = CLiwCriteriaItem::NewLC(); //iCriteriaId & iServiceCmd are ignored...
- item->SetServiceClass(TUid::Uid(KLiwClassBase));
- item->SetContentTypeL(infoArray[index]->DataType());
-
- TBuf8<KMaxLength> sName;
- TBuf8<KMaxLength> opaq;
-
- if(separatorPos != KErrNotFound && (leftExtractPos < separatorPos))
- {
- separatorFound = ETrue;
- sName = pImplInfo->OpaqueData().Mid(leftExtractPos, separatorPos-leftExtractPos); //ServiceName
- leftExtractPos = separatorLength + separatorPos;
- TPtrC8 remainingData = pImplInfo->OpaqueData().Mid(separatorPos + separatorLength);
- separatorPos = remainingData.Find(KDataSeparator) + separatorPos + separatorLength;
- }
- else
- {
- separatorFound = EFalse;
- TInt mDataSepPos = pImplInfo->OpaqueData().Find(serviceCmdSeparator);
- if(mDataSepPos != KErrNotFound)
- sName = pImplInfo->OpaqueData().Mid(leftExtractPos, mDataSepPos - leftExtractPos);
- else
- sName = pImplInfo->OpaqueData().Mid(leftExtractPos);
- }
-
- //check for wildcard character *
- //if yes, return immediatly
- if(0 == aItem->ServiceCmdStr().Compare(sName) || 0 == aItem->ServiceCmdStr().Compare(KWild))
- {
- //parse metadata and if metadata valid,
- //setmetadataoptions to criteriaitem..
- pServiceData = CLiwServiceData::NewLC();
- TInt loadStatus = CLiwXmlHandler::ESrvDataLoadFailed;
-
- ParseMetaData(pImplInfo->OpaqueData(),opaq);
-
- //Inline metadata defined
- if(opaq.Length()>0)
- {
- loadStatus=pXmlHandler->LoadServiceData(opaq,pServiceData);
- }
- else
- {
- //Obtain the capabilities from the metadata
- TUid implUid = pImplInfo->ImplementationUid();
- TUidName srvProvUid = implUid.Name();
-
- TPtrC16 ptrSrv = srvProvUid.Right(srvProvUid.Length()-1);
- TPtrC16 srvFile = ptrSrv.Left(ptrSrv.Length()-1);
- TDriveUnit driveUnit = pImplInfo->Drive();
- TFileName fileName = driveUnit.Name();
- fileName.Append(KDC_RESOURCE_FILES_DIR);
- fileName.Append(srvFile);
- fileName.Append(KPerExtension);
- loadStatus=pXmlHandler->LoadServiceData(fileName,pServiceData);
- }
-
- if(CLiwXmlHandler::ESrvDataLoadSuccess==loadStatus)
- {
- versionCheck = 0;
-
- TReal implVersion(KDefVersion);
- this->ComputeIntfVersion(pServiceData,implVersion); //fetch impl version..
-
- TReal minVer(KDefVersion);
- TReal maxVer(KUnspVersion);
-
- if(this->GetVersionRange(aItem,minVer,maxVer)) //Get version queried by consumer
- {
- if(minVer == KUnspVersion)
- minVer = KDefVersion;
-
- //perform comparison...
- if(maxVer!=KUnspVersion)
- {
- if((implVersion>=minVer) && (implVersion<=maxVer))
- {
- versionCheck = 1;
- //current impl is the best choice..this is THE CHOSEN ONE..
- }
- }
- else
- {
- //means maxVer == KUnspVersion
- if(implVersion>=minVer)
- {
- versionCheck = 1;
-
- //current impl is the best choice..this is THE CHOSEN ONE..
- }
- }
- }
- }
- else //means no metadata information
- {
- versionCheck = 1;
- }
-
- if(versionCheck)
- {
- //Since version matches, this item is appended to the providerList
- //before which the metadata information is SET
- CLiwMap* metadataMap = CLiwDefaultMap::NewLC();
-
- CLiwGenericParamList* pMetaData = pServiceData->GetMetaData();
-
- for(TInt mdataIdx(0); mdataIdx<pMetaData->Count(); ++mdataIdx)
- {
- TLiwGenericParam param;
- pMetaData->AtL(mdataIdx,param);
- metadataMap->InsertL(param.Name(),param.Value());
- param.Reset();
- }
-
- TLiwVariant mdataVar(metadataMap);
- mdataVar.PushL();
-
- item->SetMetaDataOptions(mdataVar);
-
- item->SetServiceCmdL(sName);
- CleanupStack::Pop(&mdataVar);
- mdataVar.Reset();
-
- CleanupStack::Pop(metadataMap);
- metadataMap->DecRef();
-
- User::LeaveIfError(aProviderList.Append(item));
- }
-
- if(pServiceData)
- pServiceData->CleanUpMetaData();
-
- CleanupStack::PopAndDestroy(pServiceData); //pServiceData::CLiwServiceData*
- CleanupStack::Pop(item); //item::CLiwCriteriaItem*
- }
- else
- {
- CleanupStack::PopAndDestroy(item); //item::CLiwCriteriaItem*
- }
- }while(separatorFound);
- }// end of outer for loop
-
- CleanupStack::PopAndDestroy(pXmlHandler); //pXmlHandler::CLiwXMLHandler*
- infoArray.ResetAndDestroy();
- }
-
-
-void CLiwServiceHandlerImpl::QueryImplementationL(CLiwCriteriaItem* aItem, RImplInfoPtrArray& infoArray)
- {
- iEcomMonitor->ListImplemetationsL(infoArray, (CLiwCriteriaItem*)aItem);
- }
-
-
-void CLiwServiceHandlerImpl::FilterInfoArray(RImplInfoPtrArray& aArray,
- RArray<TInt32>& aArrayPlugin,
- CLiwCriteriaItem* aItem)
- {
- if (aItem->MaxProviders() <= 0)
- {
- aArray.ResetAndDestroy();
- aArrayPlugin.Reset();
- }
- else
- {
- while ((aArray.Count() + aArrayPlugin.Count()) > aItem->MaxProviders())
- {
- if (aArrayPlugin.Count() == 0)
- break;
- // Skip default provider.
- if (aArrayPlugin[0] == aItem->DefaultProvider())
- {
- if (aArrayPlugin.Count() == 1)
- break;
- aArrayPlugin.Remove(1);
- }
- else
- {
- aArrayPlugin.Remove(0);
- }
- }
-
- while ((aArray.Count() + aArrayPlugin.Count()) > aItem->MaxProviders())
- {
- // Skip default provider.
- if (aArray[0]->ImplementationUid() == aItem->DefaultProvider())
- {
- delete aArray[1];
- aArray.Remove(1);
- }
- else
- {
- delete aArray[0];
- aArray.Remove(0);
- }
- }
- }
- }
-
-
-
-TBool CLiwServiceHandlerImpl::IsCached(CLiwServiceIfBase* /*aProvider*/)
- {
- return EFalse;
- }
-
-
-CLiwGenericParamList& CLiwServiceHandlerImpl::InParamListL()
- {
- if (!iInParams)
- {
- iInParams = CLiwGenericParamList::NewL();
- }
- iInParams->Reset();
- return *iInParams;
- }
-
-
-
-CLiwGenericParamList& CLiwServiceHandlerImpl::OutParamListL()
- {
- if (!iOutParams)
- {
- iOutParams = CLiwGenericParamList::NewL();
- }
- iOutParams->Reset();
- return *iOutParams;
- }
-
-
-
-TBool CLiwServiceHandlerImpl::IsInLastInitialized(CLiwMenuPane* liwPane) const
- {
- if (liwPane)
- {
- if (iSubmenu == liwPane)
- {
- return ETrue;
- }
-
- for (TInt i = 0; i < iLastInitialized.Count(); i++)
- {
- if (iLastInitialized[i] == liwPane)
- {
- return ETrue;
- }
- }
- }
-
- return EFalse;
- }
-
-
-TInt CLiwServiceHandlerImpl::HandleNotifyL(
- TInt /*aCmdId*/,
- TInt /*aEventId*/,
- CLiwGenericParamList& /*aEventParamList*/,
- const CLiwGenericParamList& /*aInParamList*/)
- {
- return KErrNone;
- }
-
-
-// CEikMenuPane::ConstructFromresourceL is defined as 'protected' so
-// we have to use a wrapper class for accessing it.
-class CLiwMenuResource : public CEikMenuPane
- {
- public:
- CLiwMenuResource() : CEikMenuPane(NULL) {}
- CLiwMenuResource(MEikMenuObserver* aObserver) : CEikMenuPane(aObserver) {}
-
- void CreateL(TResourceReader& aReader)
- {
- ConstructFromResourceL(aReader);
- }
- };
-
-
-CLiwMenuPane* CLiwServiceHandlerImpl::CreateEmptyLiwMenuPaneL(TInt aBaseMenuCmdId,
- TInt aResourceId)
- {
- CLiwMenuPane* result = NULL;
- TResourceReader reader;
-
- TInt id;
- if(aResourceId >= 0)
- {
- // Use existing id.
- id = aResourceId;
- }
- else
- {
- // Create new id.
- id = ResourceIdForNextFreeSlot();
- if (id < 0)
- {
- User::Leave(KErrOverflow);
- }
- }
- iCoeEnv->CreateResourceReaderLC(reader, id);
-
- CLiwMenuResource* pane = new (ELeave) CLiwMenuResource(this);
- CleanupStack::PushL(pane);
- pane->ConstructL(NULL);
- pane->CreateL(reader);
-
- result = new (ELeave) CLiwMenuPane(*pane, aBaseMenuCmdId);
-
- CleanupStack::Pop(pane);
- CleanupStack::PopAndDestroy(); //reader
-
- result->SetResourceSlotId( id );
-
- return result;
- }
-
-
-void CLiwServiceHandlerImpl::DeleteLiwMenuPane(CLiwMenuPane* aLiwPane)
- {
- delete aLiwPane->iMenuPane;
- aLiwPane->iMenuPane = NULL;
-
- // Reset iIdMap and extraText.
- for(TInt i = 0; i < aLiwPane->iIdMap.Count(); i++)
- {
- aLiwPane->iIdMap[i].extraText.Close();
- }
- aLiwPane->iIdMap.Reset();
-
- // Remove the liw menu pane from iMenuPanes array.
- for(TInt i = 0; i < iMenuPanes.Count(); i++)
- {
- if(iMenuPanes[i] == aLiwPane)
- {
- iMenuPanes.Remove(i);
- break;
- }
- }
-
- // Remove the liw menu pane from iMenuLastInitialized array.
- for(TInt i = 0; i < iLastInitialized.Count(); i++)
- {
- if(iLastInitialized[i] == aLiwPane)
- {
- iLastInitialized.Remove(i);
- break;
- }
- }
-
- delete aLiwPane;
- aLiwPane = NULL;
- }
-
-const TInt resourceSlotIds[KMaxMenuResources] =
- {
- R_LIW_EMPTY_MENU_0,
- R_LIW_EMPTY_MENU_1,
- R_LIW_EMPTY_MENU_2,
- R_LIW_EMPTY_MENU_3,
- R_LIW_EMPTY_MENU_4,
- R_LIW_EMPTY_MENU_5,
- R_LIW_EMPTY_MENU_6,
- R_LIW_EMPTY_MENU_7,
- R_LIW_EMPTY_MENU_8,
- R_LIW_EMPTY_MENU_9,
- R_LIW_EMPTY_MENU_10,
- R_LIW_EMPTY_MENU_11,
- R_LIW_EMPTY_MENU_12,
- R_LIW_EMPTY_MENU_13,
- R_LIW_EMPTY_MENU_14,
- R_LIW_EMPTY_MENU_15
- };
-
-
-TInt CLiwServiceHandlerImpl::ResourceIdForNextFreeSlot()
- {
- if (iNextFreeSlot < KMaxMenuResources)
- {
- return resourceSlotIds[iNextFreeSlot++];
- }
-
- return -1;
- }
-
-
-void CLiwServiceHandlerImpl::SetEmphasis(CCoeControl* /*aMenuControl*/,TBool /*aEmphasis*/)
- {
- }
-
-
-void CLiwServiceHandlerImpl::ProcessCommandL(TInt /*aCommandId*/)
- {
- }
-
-
-// Rewrite this method. It doesn't make sense. Variable j is not used at all.
-TInt CLiwServiceHandlerImpl::MenuCmdId(TInt aMenuCmdId) const
- {
- TInt ret( KErrNotFound );
-
- for (TInt i = 0; i < iMenuBindings.Count() && (ret == KErrNotFound); i++)
- {
- for (TInt j = 0; j < iMenuBindings[i]->NumberOfProviders() && (ret == KErrNotFound); j++)
- {
- if ((IsInLastInitialized(iMenuBindings[i]->MenuPane())) &&
- (iMenuBindings[i]->MenuPane()->IsCmdInRange(KPlaceholderCmdIdRange, aMenuCmdId)) &&
- (ret == KErrNotFound ))
- {
- ret = iMenuBindings[i]->MenuPane()->MenuCmdId(aMenuCmdId);
- }
- }
- }
-
- return ret;
- }
-
-
-void Cleanup( TAny* aAny )
- {
- RImplInfoPtrArray* implArray =
- reinterpret_cast< RImplInfoPtrArray*> ( aAny );
- implArray->ResetAndDestroy();
- implArray->Close();
- }
-
-
-void InterestCleanup( TAny* aAny )
- {
- RPointerArray<CLiwCriteriaItem>* interestArray =
- reinterpret_cast<RPointerArray<CLiwCriteriaItem>*> ( aAny );
-
- interestArray->ResetAndDestroy();
- }
-
-void FilteredCleanup( TAny* aAny )
- {
- RPointerArray<CLiwCriteriaItem>* filteredArray =
- reinterpret_cast<RPointerArray<CLiwCriteriaItem>*> ( aAny );
-
- filteredArray->Reset();
- }
-
-
-void IntArrayCleanup(TAny* aAny)
- {
- RArray<TInt>* intArray =
- reinterpret_cast<RArray<TInt>*> ( aAny );
-
- intArray->Close();
- }
-
-void Int32ArrayCleanup(TAny* aAny)
- {
- RArray<TInt32>* intArray =
- reinterpret_cast<RArray<TInt32>*> ( aAny );
-
- intArray->Close();
- }
-
-void InterfaceCleanup( TAny* aAny )
- {
- MLiwInterface* interface = reinterpret_cast<MLiwInterface*>(aAny);
- interface->Close();
- }
-
-void CLiwServiceHandlerImpl::CopyMenuItemsL(CLiwMenuPane* aSource, CEikMenuPane& aDest,
- TInt aStartIndex, TBool aIsSubmenu)
- {
- TInt cmdId;
- TInt inPos = aStartIndex;
-
- for (TInt i = 0; i < aSource->MenuPane().NumberOfItemsInPane(); i++)
- {
- cmdId = aSource->FindCmdId(i);
- if (cmdId >= 0)
- {
- CEikMenuPaneItem::SData itemData = aSource->MenuPane().ItemData(cmdId);
-
- // The menu item might include alternative texts for a main menu level
- // and for submenu. Use submenu string if it is intended so.
- if(aIsSubmenu)
- {
- const TDesC& extraText = aSource->ExtraText(cmdId);
- if(extraText.Length())
- {
- itemData.iText.Zero();
- itemData.iText.Append(extraText);
- }
- }
-
- aDest.InsertMenuItemL(itemData, inPos++);
- }
- }
- }
-
-
-
-TInt CLiwServiceHandlerImpl::SlotItemCmd(CEikMenuPane& aPane)
- {
- TInt index;
-
- for (TInt i = 0; i < KMaxMenuResources; i++)
- {
- if (aPane.MenuItemExists(ELiwMenuSlotBase + i, index))
- {
- return ELiwMenuSlotBase + i;
- }
- }
-
- return -1;
- }
-
-
-
-CLiwMenuPane* CLiwServiceHandlerImpl::MenuPaneForSlotCmd(TInt aCmdId)
- {
- TInt index = aCmdId - ELiwMenuSlotBase;
-
- if (index < KMaxMenuResources)
- {
- TInt resId = resourceSlotIds[index];
- for (TInt i = 0; i < iMenuPanes.Count(); i++)
- {
- if (iMenuPanes[i]->ResourceSlotId() == resId)
- {
- return iMenuPanes[i];
- }
- }
- }
-
- return NULL;
- }
-
-
-
-CLiwServiceHandlerImpl::TLiwPlaceholderType CLiwServiceHandlerImpl::PlaceholderType(
- CEikMenuPane& aPane, TInt aCmd, TBool& aTitleLocked)
- {
- CEikMenuPaneItem::SData& itemData = aPane.ItemData(aCmd);
-
- aTitleLocked = EFalse;
-
- if ((itemData.iCascadeId & LIW_CASCADE_ID) == LIW_CASCADE_ID)
- {
- if (itemData.iCascadeId & LIW_LOCK_SUBMENU_TITLE)
- {
- aTitleLocked = ETrue;
- }
- return ELiwPlaceholderCascade;
- }
- else if ((itemData.iCascadeId & LIW_INTELLIGENT_CASCADE_ID) == LIW_INTELLIGENT_CASCADE_ID)
- {
- if (itemData.iCascadeId & LIW_LOCK_SUBMENU_TITLE)
- {
- aTitleLocked = ETrue;
- }
- return ELiwPlaceholderIntelligentCascade;
- }
-
- return ELiwPlaceholderNormal;
- }
-
-
-
-void CLiwServiceHandlerImpl::ConvertPlaceholderL(CEikMenuPane& aPane, TInt aCmd,
- CLiwMenuPane& aLiwPane, const TDesC& aTitle)
- {
- CEikMenuPaneItem::SData itemData = aPane.ItemData(aCmd);
- TInt index;
-
- // Remenber index.
- aPane.MenuItemExists(aCmd, index);
-
- // Remove placeholder item.
- aPane.DeleteMenuItem(aCmd);
-
- // Replace liw cascade id with actual menu resource id.
- itemData.iCascadeId = aLiwPane.iResourceSlotId;
-
- if (aTitle.Length())
- {
- itemData.iText.Copy(aTitle);
- }
-
- // Set unused dynamic cmd id.
- itemData.iCommandId = iSubmenuCmd++;
-
- // Insert cascade item.
- aPane.InsertMenuItemL(itemData, index);
- }
-
-
-
-void CLiwServiceHandlerImpl::UnCascadeL(CEikMenuPane& aPane, TInt aCmd, CLiwMenuPane& aLiwPane)
- {
- CEikMenuPaneItem::SData itemData = aLiwPane.MenuPane().ItemData(aLiwPane.FindCmdId(0));
- TInt index;
-
- // Remenber index.
- aPane.MenuItemExists(aCmd, index);
-
- // Remove placeholder item.
- aPane.DeleteMenuItem(aCmd);
-
- // Uncascade
- itemData.iCascadeId = 0;
-
- // Insert cascade item.
- aPane.InsertMenuItemL(itemData, index);
- }
-
-
-
-void CLiwServiceHandlerImpl::SkipMenuFields(TResourceReader& aReader)
- {
- aReader.ReadInt32(); // Skip cascade id
- aReader.ReadInt32(); // Skip flags
- aReader.ReadTPtrC(); // Skip text
- aReader.ReadTPtrC(); // Skip extra text
- aReader.ReadTPtrC(); // Skip bmpfile.
- aReader.ReadInt16(); // Skip bmpid.
- aReader.ReadInt16(); // Skip bmpmask.
- aReader.ReadInt32(); // Skip extension.
- }
-
-
-TBool CLiwServiceHandlerImpl::IsLiwMenu(TInt aMenuResourceId)
- {
- TInt index;
-
- // First check if this is liw submenu id
- for (index = 0; index < KMaxMenuResources; index++)
- {
- if (aMenuResourceId == resourceSlotIds[index])
- {
- return ETrue;
- }
- }
-
- // Then check if this menu is among attached menus.
- for (index = 0; index < iMenuBindings.Count(); index++)
- {
- if (iMenuBindings[index]->MenuId() == aMenuResourceId)
- {
- return ETrue;
- }
- }
-
- return EFalse;
- }
-
-
-
-TBool CLiwServiceHandlerImpl::HandleSubmenuL(CEikMenuPane& aPane)
- {
- TInt slotcmd = SlotItemCmd(aPane);
- if (slotcmd >= 0)
- {
- // aPane is liw submenu. At this point it is empty and we must
- // copy provider menu items to it.
- CLiwMenuPane* liwPane = MenuPaneForSlotCmd(slotcmd);
- if (liwPane)
- {
- CopyMenuItemsL(liwPane, aPane, 0, ETrue);
- aPane.DeleteMenuItem(slotcmd);
- iSubmenu = liwPane;
- return ETrue;
- }
- }
-
- return EFalse;
- }
-
-
-
-TBool CLiwServiceHandlerImpl::GetSubmenuTitle(CEikMenuPane& aPane, TDes& aResult)
- {
- TInt index;
-
- aResult.Zero();
- while (aPane.MenuItemExists(LIW_SUBMENU_TITLE, index))
- {
- CEikMenuPaneItem::SData& itemData = aPane.ItemData(LIW_SUBMENU_TITLE);
- if (aResult.Length() == 0)
- {
- aResult.Copy(itemData.iText);
- }
- aPane.DeleteMenuItem(LIW_SUBMENU_TITLE);
- return ETrue;
- }
-
- return EFalse;
- }
-
-
-
-CLiwCriteriaItem* CLiwServiceHandlerImpl::ConvertCriteriaItemPointerL(CLiwCriteriaItem* aCandidate)
- {
- for (TInt index = 0; index < iInterestList.Count(); index++)
- {
- if ((*iInterestList[index]) == (*aCandidate))
- {
- // Already in list, aCandidate is not needed.
- delete aCandidate;
- return iInterestList[index];
- }
- }
-
- CleanupStack::PushL(aCandidate);
- User::LeaveIfError(iInterestList.Append(aCandidate));
- CleanupStack::Pop(aCandidate); // aCandidate
-
- return aCandidate;
- }
-
-
-
-void CLiwServiceHandlerImpl::FilterInterestListL(RPointerArray<CLiwCriteriaItem>& aOrginal,
- RPointerArray<CLiwCriteriaItem>& aFiltered)
- {
- CLiwCriteriaItem* item;
-
- while (aOrginal.Count() > 0)
- {
- item = aOrginal[0];
- aOrginal.Remove(0);
- item = ConvertCriteriaItemPointerL(item);
- User::LeaveIfError(aFiltered.Append(item));
- }
- aOrginal.Reset();
- }
-
-
-
-void CLiwServiceHandlerImpl::RemoveProvider(TInt aImplUid)
- {
- TInt index;
-
- // First go through bindings and remove all the
- // references to given provider.
- for (index = 0; index < iBaseBindings.Count(); index++)
- {
- iBaseBindings[index]->RemoveProvider(aImplUid);
- }
-
- for (index = 0; index < iMenuBindings.Count(); index++)
- {
- iMenuBindings[index]->RemoveProvider(aImplUid);
- }
-
- // Then remove provider from the owner list and delete it.
- for (index = 0; index < iProviders.Count(); index++)
- {
- if (iProviders[index]->ImplementationUid().iUid == aImplUid)
- {
- delete iProviders[index];
- iProviders.Remove(index);
- index--;
- }
- }
- }
-
-
-void CLiwServiceHandlerImpl::AddProviderL(TUid aImplUid, CLiwCriteriaItem* aItem)
- {
- TInt index;
- CLiwServiceIfBase* iface = iEcomMonitor->CreateImplementationL(aImplUid);
-
- if (iface)
- {
- CleanupStack::PushL(iface);
- iface->AddCriteria(aItem);
- User::LeaveIfError(iProviders.Append( iface ));
- CleanupStack::Pop(iface);
-
- for (index = 0; index < iBaseBindings.Count(); index++)
- {
- if (iBaseBindings[index]->HasCriteriaItem(*aItem) != KErrNotFound)
- {
- iBaseBindings[index]->AddProviderL(iface, aImplUid == aItem->DefaultProvider());
- iface->InitialiseL(*this, iBaseBindings[index]->Interest());
- }
- }
-
- for (index = 0; index < iMenuBindings.Count(); index++)
- {
- if (iMenuBindings[index]->HasCriteriaItem(*aItem) != KErrNotFound)
- {
- iMenuBindings[index]->AddProviderL(iface, aImplUid == aItem->DefaultProvider());
- iface->InitialiseL(*this, iMenuBindings[index]->Interest());
- }
- }
- }
- }
-
-
-
-TInt CLiwServiceHandlerImpl::SynchronizeCallBack(TAny* aImpl)
- {
- CLiwServiceHandlerImpl* impl = reinterpret_cast<CLiwServiceHandlerImpl*>(aImpl);
- TRAPD(err, impl->SynchronizeDbL());
- return err;
- }
-
-
-
-void CLiwServiceHandlerImpl::SynchronizeDbL()
- {
- TInt index;
- RArray<TInt> providers;
- RImplInfoPtrArray infoArray;
-
- CleanupStack::PushL( TCleanupItem( IntArrayCleanup, &providers ) );
- CleanupStack::PushL( TCleanupItem( Cleanup, &infoArray ) );
-
- for (index = 0; index < iInterestList.Count(); index++)
- {
- if (iInterestList[index]->RomOnly()) // Rom-only criterias can be skipped.
- {
- continue;
- }
-
- providers.Reset();
- infoArray.ResetAndDestroy();
- ListProvidersForCriteriaL(providers, *(iInterestList[index]));
- iEcomMonitor->ListImplemetationsL(infoArray, iInterestList[index]);
- HandleRemovedProviders(providers, infoArray);
- HandleNewProvidersL(providers, infoArray, iInterestList[index]);
- }
-
- CleanupStack::PopAndDestroy(&infoArray); // providers, infoArray
- CleanupStack::PopAndDestroy(&providers);
- }
-
-
-void CLiwServiceHandlerImpl::HandleRemovedProviders(RArray<TInt>& aInMemory,
- RImplInfoPtrArray& aInSystem)
- {
- TInt index, index2;
-
- for (index = 0; index < aInMemory.Count(); index++)
- {
- for (index2 = 0; index2 < aInSystem.Count(); index2++)
- {
- if (aInSystem[index2]->ImplementationUid().iUid == aInMemory[index])
- {
- break;
- }
- }
- if (index2 >= aInSystem.Count()) // Was removed from system.
- {
- RemoveProvider(aInMemory[index]);
- }
- }
- }
-
-
-void CLiwServiceHandlerImpl::HandleNewProvidersL(RArray<TInt>& aInMemory,
- RImplInfoPtrArray& aInSystem, CLiwCriteriaItem* aItem)
- {
- TInt index;
-
- for (index = 0; index < aInSystem.Count(); index++)
- {
- if (aInMemory.Find(aInSystem[index]->ImplementationUid().iUid) == KErrNotFound)
- {
- AddProviderL(aInSystem[index]->ImplementationUid(), aItem);
- }
- }
- }
-
-void CLiwServiceHandlerImpl::MenuLaunched()
- {
- ClearMenuPaneArray();
- iNextFreeSlot = 0;
- iLastInitialized.Reset();
-
- // Reset the iMenuPane pointers from iMenuBindings.
- for(TInt index = 0; index < iMenuBindings.Count(); index++)
- {
- iMenuBindings[index]->SetMenuPane(NULL);
- }
- }
-
-/* Utility function to get the symbian TCapability enum value
- * from the string defined in the providers xml file
- *
- * @param aCapName name of the capabiility to be converted to \c TCapability enum
- *
- */
-
-TCapability CLiwServiceHandlerImpl::GetServiceCapability(const TDesC& aCapName)
-{
- TCapability cap(ECapability_None);
-
- if(0==aCapName.Compare(KCapabilityCommDD))
- {
- cap=ECapabilityCommDD;
- }
- else if(0==aCapName.Compare(KCapabilityPowerMgmt))
- {
- cap=ECapabilityPowerMgmt;
- }
- else if(0==aCapName.Compare(KCapabilityMultimediaDD))
- {
- cap=ECapabilityMultimediaDD;
- }
- else if(0==aCapName.Compare(KCapabilityReadDeviceData))
- {
- cap=ECapabilityReadDeviceData;
- }
- else if(0==aCapName.Compare(KCapabilityWriteDeviceData))
- {
- cap=ECapabilityWriteDeviceData;
- }
- else if(0==aCapName.Compare(KCapabilityDRM))
- {
- cap=ECapabilityDRM;
- }
- else if(0==aCapName.Compare(KCapabilityTrustedUI))
- {
- cap=ECapabilityTrustedUI;
- }
- else if(0==aCapName.Compare(KCapabilityProtServ))
- {
- cap=ECapabilityProtServ;
- }
- else if(0==aCapName.Compare(KCapabilityDiskAdmin))
- {
- cap=ECapabilityDiskAdmin;
- }
- else if(0==aCapName.Compare(KCapabilityNetworkControl))
- {
- cap=ECapabilityNetworkControl;
- }
- else if(0==aCapName.Compare(KCapabilityAllFiles))
- {
- cap=ECapabilityAllFiles;
- }
- else if(0==aCapName.Compare(KCapabilitySwEvent))
- {
- cap=ECapabilitySwEvent;
- }
- else if(0==aCapName.Compare(KCapabilityNetworkServices))
- {
- cap=ECapabilityNetworkServices;
- }
- else if(0==aCapName.Compare(KCapabilityLocalServices))
- {
- cap=ECapabilityLocalServices;
- }
- else if(0==aCapName.Compare(KCapabilityReadUserData))
- {
- cap=ECapabilityReadUserData;
- }
- else if(0==aCapName.Compare(KCapabilityWriteUserData))
- {
- cap=ECapabilityWriteUserData;
- }
- else if(0==aCapName.Compare(KCapabilityLocation))
- {
- cap=ECapabilityLocation;
- }
- else if(0==aCapName.Compare(KCapabilitySurroundingsDD))
- {
- cap=ECapabilitySurroundingsDD;
- }
- else if(0==aCapName.Compare(KCapabilityUserEnvironment))
- {
- cap=ECapabilityUserEnvironment;
- }
-
- return cap;
-}
-
-
-/**
-* Returns the capability set defined in the service provider
-* metadata information. The capability set is a pre-requisite
-* for the service consumer to load the service provider module.
-*
-* The capability metadata information are defined as XML character
-* data inside the element <capability/>. The capability information
-* are type of metadata information. Hence, the capability element tags
-* should appear as child element of <metadata> element.
-*
-* @param aCapability Capability set that the consumer should posess while
-* loading the service provider
-*
-* @example
-*
-* @code
-* <!-- consumer should posess the following capability set -->
-* <metadata>
-* <capability>CapabilityReadUserData</capability>
-* <capability>CapabilityWriteUserData</capability>
-* <capability>CapabilityDRM</capability>
-* </metadata>
-* @endcode
-*
-*/
-
-void CLiwServiceHandlerImpl::GetCapabilitiesL(RArray<TCapability>& secMgrCapList,CLiwGenericParamList* pMetaData)
-{
- _LIT8(KCapability,"cap");
-
- TInt pos = 0;
- const TLiwGenericParam* pCapData = pMetaData->FindFirst(pos,KCapability);
-
- if(pCapData)
- {
- const CLiwList* pCapList = pCapData->Value().AsList();
- if(pCapList)
- {
- for(TInt idx(0);idx!=pCapList->Count();++idx)
- {
- TLiwVariant capVar;
- capVar.PushL();
- pCapList->AtL(idx, capVar);
- TPtrC capStr = capVar.AsDes();
-
- TCapability cap = this->GetServiceCapability(capStr);
- if( (cap>=ECapabilityTCB) && (cap < ECapability_Limit))
- secMgrCapList.AppendL(cap);
- CleanupStack::Pop(&capVar);
- capVar.Reset();
- }
- }
-
- }
-}
-
-void CLiwServiceHandlerImpl::GetProviderResourceFile(TDes& aFilePath,CLiwGenericParamList* pMetaData)
-{
- _LIT8(KResourceFile,"res");
-
- TInt pos = 0;
- const TLiwGenericParam* pCapData = pMetaData->FindFirst(pos,KResourceFile);
-
- if(pCapData)
- {
- const CLiwList* pCapList = pCapData->Value().AsList();
- if(pCapList)
- {
- for(TInt idx(0);idx!=pCapList->Count();++idx)
- {
- TLiwVariant capVar;
- capVar.PushL();
- pCapList->AtL(idx, capVar);
- aFilePath = capVar.AsDes();
- CleanupStack::Pop(&capVar);
- capVar.Reset();
- }
- }
-
- }
-}
-
-void CLiwServiceHandlerImpl::ComputeIntfVersion(CLiwServiceData* pProvMetaData,TReal& aIntfVersion)
-{
- CLiwGenericParamList* pMetaDataList = pProvMetaData->GetMetaData();
-
- if(pMetaDataList)
- {
- TInt verPos(KErrNone);
- _LIT8(KVer,"ver");
- const TLiwGenericParam* pVerParam = pMetaDataList->FindFirst(verPos,KVer);
- if(pVerParam)
- {
- const CLiwList* pVersionList = pVerParam->Value().AsList();
- if(pVersionList)
- {
- if(pVersionList->Count())
- {
- TLiwVariant verVar;
- verVar.PushL();
- pVersionList->AtL(0,verVar);//pick up the value in 0th index..
- aIntfVersion = verVar.AsTReal();
- CleanupStack::Pop(&verVar);
- verVar.Reset();
- }
- }
- }
- }
-}
-
-
-TInt CLiwServiceHandlerImpl::ResolveProvidersL(CLiwBinding* aBinding,
- CLiwCriteriaItem* aItem,
- CRTSecMgrScriptSession* aScriptSession)
- {
- TInt result = 0;
- TInt status = KLiwUnknown;
-
- // First resolve for providers already in memory.
- TInt index;
- for (index = 0; index < iProviders.Count(); index++)
- {
- if (iProviders[index]->Match(aItem))
- {
- aBinding->AddProviderL((CLiwServiceIfBase*)iProviders[index],
- iProviders[index]->ImplementationUid() == aItem->DefaultProvider());
- result++;
- }
- }
-
-
- // If cached providers were found, then it means that all the matching
- // providers must be already in memory. No need to query from ECom framework.
- if (!result)
- {
- RImplInfoPtrArray infoArray;
- RArray<TInt32> infoArrayPlugin;
-
- CleanupStack::PushL( TCleanupItem( Cleanup, &infoArray ) );
- CleanupStack::PushL( TCleanupItem( Int32ArrayCleanup, &infoArrayPlugin ) );
-
- iEcomMonitor->ListImplemetationsL(infoArray, aItem);
-
- FilterInfoArray(infoArray, infoArrayPlugin, aItem);
-
- CLiwServiceData* pServiceData = NULL;
-
- CLiwServiceData* pPrevSData = NULL;
-
- CImplementationInformation* pChosenImpl = NULL;
-
- TReal currentMax(KDefVersion);
-
- for (index = 0; index < infoArray.Count(); index++)
- {
- TBool stackPop = EFalse;
- if ((aItem->Options() & LIW_OPTIONS_ROM_ONLY) && (infoArray[index]->RomBased() == EFalse))
- {
- continue;
- }
-
- //Check whether consumer has capability
- //mandated by provider
- CImplementationInformation* pImplInfo = infoArray[index];
-
- TBuf8<KMaxLength> opaq;
-
- ParseMetaData(pImplInfo->OpaqueData(),opaq);
-
- CLiwXmlHandler* pXmlHandler = CLiwXmlHandler::NewLC();
-
- pServiceData = CLiwServiceData::NewLC();
-
- TInt loadStatus= CLiwXmlHandler::ESrvDataLoadFailed;
-
- //Inline metadata defined
- if(opaq.Length()>0)
- {
- loadStatus=pXmlHandler->LoadServiceData(opaq,pServiceData);
- }
- else
- {
- //Obtain the capabilities from the metadata
- TUid implUid = pImplInfo->ImplementationUid();
- TUidName srvProvUid = implUid.Name();
-
-
- TPtrC16 ptrSrv = srvProvUid.Right(srvProvUid.Length()-1);
- TPtrC16 srvFile = ptrSrv.Left(ptrSrv.Length()-1);
- TDriveUnit driveUnit = pImplInfo->Drive();
- TFileName fileName = driveUnit.Name();
- fileName.Append(KDC_RESOURCE_FILES_DIR);
- fileName.Append(srvFile);
- fileName.Append(KPerExtension);
- loadStatus=pXmlHandler->LoadServiceData(fileName,pServiceData);
- }
-
- /*
- * - Get version range specified by the consumer
- * - Iterate over the list of intf impl
- *
- * //LOOP:
- * - For each implementation item,
- *
- * - Check if intf impl has version tag from its metadata
- * - Pick up interface impl's version tag
- * - If intf impl has NO specifed version tag
- * - set this intf impl version as DEFAULT VERSION (//pref 1.0)..
- *
- * //CHOOSE LATEST VERSION:
- * - If consumer has specifed version range
- * - CALL COMPARE routine (//To check if this is the latest version so far)
- * - Mark this as the chosen implementation
- * - Else (//This is NOT the latest)
- * - Continue;
- *
- * - Else (//If consumer did not specify version range)
- * - CALL COMPARE routine (//To check if this is the latest version so far)
- * - Mark this as the chosen implementation
- * - Else (//This is NOT the latest)
- * - Continue;
- *
- * //COMPARE (currentMax,implVersion,minVer,maxVer): //default minVer=1.0
- * - if(implVersion>currentMax)
- * - if(implVersion>=minVer && implVersion<=maxVer)
- * - currentMax = implVersion;
- * - return; //mark pServiceData to point to the current impl's service data
- * - else
- * - return; //leave pServiceData as it is
- * - else
- * - return; //leave pServiceData as it is
- *
- */
-
- if(CLiwXmlHandler::ESrvDataLoadSuccess==loadStatus) //metadata is parsed successfully
- {
- TReal implVersion(KDefVersion);
- this->ComputeIntfVersion(pServiceData,implVersion); //fetch impl version..
-
- TReal minVer(KDefVersion);
- TReal maxVer(KUnspVersion);
-
- TBool verChk = this->GetVersionRange(aItem,minVer,maxVer);
-
- if(verChk) //Get version queried by consumer
- {
- if(minVer == KUnspVersion)
- minVer = KDefVersion;
-
- //perform comparison...
- if(implVersion>=currentMax)
- {
- if(maxVer!=KUnspVersion)
- {
- if((implVersion>=minVer) && (implVersion<=maxVer))
- {
- currentMax = implVersion;
- pChosenImpl = infoArray[index];
- //current impl is the best choice..this is THE CHOSEN ONE..
- if(pPrevSData)
- {
- pPrevSData->CleanUpMetaData();
- delete pPrevSData;
-
- }
-
- pPrevSData = pServiceData;
-
- }
- else
- {
- //current impl is NOT THE RIGHT CHOICE.. since not within the range
- if(pServiceData)
- {
- if(!stackPop)
- {
- stackPop = ETrue;
- CleanupStack::Pop(pServiceData);
- }
- pServiceData->CleanUpMetaData();
- delete pServiceData;
- pServiceData = NULL;
- }
- status = KLiwVersionOutOfRange;
- }
- }
- else
- {
- //means maxVer == KUnspVersion
- if(implVersion>=minVer)
- {
- currentMax = implVersion;
- pChosenImpl = infoArray[index];
-
- //current impl is the best choice..this is THE CHOSEN ONE..
- if(pPrevSData)
- {
- pPrevSData->CleanUpMetaData();
- delete pPrevSData;
- }
-
- pPrevSData = pServiceData;
- }
- else
- {
- //current impl is NOT THE RIGHT CHOICE..
- if(pServiceData)
- {
- if(!stackPop)
- {
- stackPop = ETrue;
- CleanupStack::Pop(pServiceData);
- }
- pServiceData->CleanUpMetaData();
- delete pServiceData;
- pServiceData = NULL;
- }
-
- status = KLiwVersionOutOfRange;
- }
- }
- }
- else
- {
- //current impl is NOT THE RIGHT CHOICE..since implVer > maxVer
- if(pServiceData)
- {
- if(!stackPop)
- {
- stackPop = ETrue;
- CleanupStack::Pop(pServiceData);
- }
- pServiceData->CleanUpMetaData();
- delete pServiceData;
- pServiceData = NULL;
- }
-
- status = KLiwVersionOutOfRange;
- }
- }
- else
- {
- //GetVersionRange Fails..
- //abort service resolution process..
- if(pServiceData)
- {
- if(!stackPop)
- {
- stackPop = ETrue;
- CleanupStack::Pop(pServiceData);
- }
- pServiceData->CleanUpMetaData();
- delete pServiceData;
- pServiceData = NULL;
- }
-
- status = KLiwInvalidVersionSpecification;
- }
-
- //other cases like parse error, capability not
- //specified in meta data are handled
-
- if(currentMax == implVersion)
- {
- if(pPrevSData && (pPrevSData!=pServiceData)) //just in case...
- {
- pPrevSData->CleanUpMetaData();
- delete pPrevSData;
- pPrevSData = NULL;
- }
- }
- else
- {
- if(!stackPop)
- {
- stackPop = ETrue;
- CleanupStack::Pop(pServiceData);
- }
- pServiceData = pPrevSData;
- }
- }
- else
- {
- //Metadata specification not found.. Hence Load Fails
- if(CLiwXmlHandler::ESrvDataFileNotFnd==loadStatus)
- {
- pChosenImpl = infoArray[index];
- }
- else //Some error like parse error, capability not specified are handled
- {
- if(pServiceData)
- {
- if(!stackPop)
- {
- stackPop = ETrue;
- CleanupStack::Pop(pServiceData);
- }
- pServiceData->CleanUpMetaData();
- delete pServiceData;
- pServiceData = NULL;
- }
-
- status = KLiwMetaDataInvalidFormat;
- }
- }
-
- for (TInt idx = 0; idx < infoArrayPlugin.Count(); idx++)
- {
- // currently assumed that implementations managed by plugins cannot be in ROM
- if (aItem->Options() & LIW_OPTIONS_ROM_ONLY)
- {
- continue;
- }
- }
-
- if(!stackPop)
- {
- CleanupStack::Pop(pServiceData);
- }
-
- CleanupStack::Pop(pXmlHandler);
-
- if(pXmlHandler)
- {
- delete pXmlHandler;
- }
-
-
- } //end of for loop
-
- if(pChosenImpl)
- {
- RArray<TCapability> provCaps;
- TFileName provResourcePath;
- GetCapabilitiesL(provCaps,pServiceData->GetMetaData());
-
- TInt isAllowed(KErrNone);
-
- if(aScriptSession)
- {
- if(aScriptSession->PromptOption() == RTPROMPTUI_PROVIDER)
- {
- GetProviderResourceFile(provResourcePath, pServiceData->GetMetaData());
- isAllowed = aScriptSession->IsAllowed(provCaps, pChosenImpl->ImplementationUid(), provResourcePath);
- }
- else
- isAllowed = aScriptSession->IsAllowed(provCaps);
- }
-
- if(KErrNone==isAllowed)
- {
- CLiwServiceIfBase* iface = iEcomMonitor->CreateImplementationL(
- pChosenImpl->ImplementationUid());
-
- if (iface)
- {
- if(pServiceData)
- {
- iface->iReserved=pServiceData;
- }
-
-
- if (!IsCached(iface))
- {
- CleanupStack::PushL(iface);
- status = KLiwServiceLoadSuccess;
- iface->AddCriteria(aItem);
- User::LeaveIfError(iProviders.Append( iface ));
- CleanupStack::Pop(iface);
-
- aBinding->AddProviderL(iface,
- pChosenImpl->ImplementationUid() == aItem->DefaultProvider());
- }
- else
- {
- delete iface;
- iface = NULL;
- }
- }
-
- }
- else
- {
- status = KLiwSecurityAccessCheckFailed;
-
- if(pServiceData)
- {
- pServiceData->CleanUpMetaData();
- delete pServiceData;
- pServiceData = NULL;
- }
-
- //enhancement : Should assign this to the previous service data
- }
-
- provCaps.Close();
- }
- else
- {
- //No Chosen implementation..
-
- if(pServiceData) //This should ideally fail always
- {
- pServiceData->CleanUpMetaData();
- delete pServiceData;
- pServiceData = NULL;
- }
- }
-
- if(0 == infoArray.Count())
- status = KLiwUnknown;
-
- CleanupStack::PopAndDestroy(2);//infoArray and infoArrayPlugin
- }
- else
- {
- status = KLiwServiceAlreadyLoaded;
- }
-
- return status;
-
- }
-
-
-TBool CLiwServiceHandlerImpl::GetVersionRange(CLiwCriteriaItem* aItem,TReal& aMinVersion, TReal& aMaxVersion)
-{
- TBool bFailed=EFalse;
- TLiwVariant metaDataVar;
- metaDataVar.PushL();
-
- aItem->GetMetaDataOptions(metaDataVar);
-
- const CLiwMap* metaDataMap = metaDataVar.AsMap();
-
- if(metaDataMap)
- {
- _LIT8(KRangeKey,"range");
- TLiwVariant rangeVar;
- rangeVar.PushL();
-
- if(metaDataMap->FindL(KRangeKey, rangeVar))
- {
- const CLiwList* pRangeList = rangeVar.AsList();
- if(pRangeList)
- {
- TLiwVariant verCheck;
- verCheck.PushL();
- _LIT8(KVersion,"ver");
- pRangeList->AtL(0,verCheck);
-
- if(EVariantTypeDesC8==verCheck.TypeId())
- {
- if(0==KVersion().CompareF(verCheck.AsData()))
- {
- TLiwVariant minVerVar, maxVerVar;
- minVerVar.PushL();
- maxVerVar.PushL();
-
- pRangeList->AtL(1,minVerVar);
- aMinVersion = minVerVar.AsTReal();
-
- if(minVerVar.AsTReal() < KDefVersion)
- bFailed = ETrue;
-
- pRangeList->AtL(2,maxVerVar);
- aMaxVersion = maxVerVar.AsTReal();
-
- if(maxVerVar.AsTReal() < aMinVersion && maxVerVar.AsTReal() != KUnspVersion)
- bFailed = ETrue;
-
- CleanupStack::Pop(&maxVerVar);
- CleanupStack::Pop(&minVerVar);
- minVerVar.Reset();
- maxVerVar.Reset();
- }
- }
- CleanupStack::Pop(&verCheck);
- verCheck.Reset();
- }
- }
- CleanupStack::Pop(&rangeVar);
- rangeVar.Reset();
- }
-
- CleanupStack::Pop(&metaDataVar);
- metaDataVar.Reset();
-
- return !bFailed;
-}
-
-TBool CLiwServiceHandlerImpl::GetVersion(CLiwCriteriaItem* aItem,TReal& aVersion)
-{
- TBool bFailed=EFalse;
- TLiwVariant metaDataVar;
- metaDataVar.PushL();
-
- aItem->GetMetaDataOptions(metaDataVar);
-
- const CLiwMap* metaDataMap = metaDataVar.AsMap();
-
- if(metaDataMap)
- {
- _LIT8(KExactKey,"exact");
- TLiwVariant exactVar;
- exactVar.PushL();
-
- if(metaDataMap->FindL(KExactKey, exactVar))
- {
- const CLiwList* pExactList = exactVar.AsList();
- if(pExactList)
- {
- TLiwVariant verCheck;
- verCheck.PushL();
- _LIT8(KVersion,"ver");
- pExactList->AtL(0,verCheck);
-
- if(EVariantTypeDesC8==verCheck.TypeId())
- {
- if(0==KVersion().CompareF(verCheck.AsData()))
- {
- TLiwVariant versionVar;
- versionVar.PushL();
-
- pExactList->AtL(1,versionVar);
-
- if((versionVar.AsTReal()) < KDefVersion)
- {
- bFailed = ETrue;
- }
-
- aVersion = versionVar.AsTReal();
- CleanupStack::Pop(&versionVar);
- versionVar.Reset();
- }
- }
- CleanupStack::Pop(&verCheck);
- verCheck.Reset();
- }
- }
-
- CleanupStack::Pop(&exactVar);
- exactVar.Reset();
- }
-
- CleanupStack::Pop(&metaDataVar);
- metaDataVar.Reset();
-
- return !bFailed;
-}
-
-// End of file
--- a/languageinterworkingfw/servicehandler/src/liwserviceifbase.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-#include <ecom/ecom.h>
-#include "liwserviceifbase.h"
-#include "liwcommon.h"
-#include "liwservicedata.h"
-
-EXPORT_C CLiwServiceIfBase::~CLiwServiceIfBase()
- {
- if (iDtorKeyId.iUid)
- {
- REComSession::DestroyedImplementation(iDtorKeyId);
- }
- iCriterias.Close();
-
- if(iReserved)
- delete (CLiwServiceData*)iReserved;
- }
-
-
-void CLiwServiceIfBase::SetDtorKeyId(TUid aDtorKeyId)
- {
- iDtorKeyId = aDtorKeyId;
- }
-
-
-TBool CLiwServiceIfBase::Match(CLiwCriteriaItem* aItem)
- {
- for (TInt index = 0; index < iCriterias.Count(); index++)
- {
- if ((iCriterias[index]->ServiceClass() == aItem->ServiceClass()) &&
- (iCriterias[index]->ServiceCmd() == aItem->ServiceCmd()) &&
- (iCriterias[index]->ContentType() == aItem->ContentType()) &&
- (iCriterias[index]->Options() == aItem->Options()) &&
- (iCriterias[index]->DefaultProvider() == aItem->DefaultProvider()))
- {
- if (iCriterias[index]->ServiceCmd() == KLiwCmdAsStr)
- {
- return (iCriterias[index]->ServiceCmdStr() == aItem->ServiceCmdStr()) ? ETrue : EFalse;
- }
-
- else
- {
- return ETrue;
- }
- }
- }
-
- return EFalse;
- }
-
-
-void CLiwServiceIfBase::AddCriteria(CLiwCriteriaItem* aItem)
- {
- iCriterias.Append(aItem);
- }
-
-
-
-TUid CLiwServiceIfBase::ImplementationUid() const
- {
- return iImplUid;
- }
-
-
-
-void CLiwServiceIfBase::SetImplementationUid(TUid aUid)
- {
- iImplUid = aUid;
- }
-
-
-
-TBool CLiwServiceIfBase::HasCriteria(CLiwCriteriaItem& aItem) const
- {
- TInt index;
-
- for (index = 0; index < iCriterias.Count(); index++)
- {
- if (aItem == *(iCriterias[index]))
- {
- return ETrue;
- }
- }
-
- return EFalse;
- }
-
-
-EXPORT_C void* CLiwServiceIfBase::ExtensionInterface(TUid aInterface)
- {
- if(KLiwGetServiceDataIf==aInterface.iUid)
- {
- return iReserved;
- }
-
- return NULL;
- }
-// Enf of file
--- a/languageinterworkingfw/servicehandler/src/liwserviceifmenu.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implements service API for providers offering menu services
-* for consumers.
-*
-*/
-
-
-
-
-
-
-#include <ecom/ecom.h>
-#include "liwserviceifmenu.h"
-#include "liwmenu.h"
-
-
-void CLiwServiceIfMenu::InitializeMenuPaneHookL(
- CLiwMenuPane* aMenuPane,
- TInt aIndex,
- TInt aCascadeId,
- const CLiwGenericParamList& aInParamList)
- {
- iMenuPane = aMenuPane;
-
- // Trapping prevents a leaving provider from breaking the whole consumer menu.
- TRAPD(err, InitializeMenuPaneL(*aMenuPane, aIndex, aCascadeId, aInParamList));
- if(err)
- {
-#ifdef _DEBUG
- RDebug::Print(_L("LIW PROVIDER ERROR: CLiwServiceIfMenu::InitializeMenuPaneL() failed, leave code:%d"), err);
-#endif
- }
- }
-
-
-
-void CLiwServiceIfMenu::HandleMenuCmdHookL(
- CLiwMenuPane* aMenuPane,
- TInt aMenuCmdId,
- const CLiwGenericParamList& aInParamList,
- CLiwGenericParamList& aOutParamList,
- TUint aCmdOptions,
- const MLiwNotifyCallback* aCallback)
- {
- if (!iMenuPane)
- {
- return;
- }
-
- HandleMenuCmdL(aMenuPane->MenuCmdId(aMenuCmdId), aInParamList, aOutParamList,
- aCmdOptions, aCallback);
- }
-
-
-EXPORT_C const CLiwMenuPane* CLiwServiceIfMenu::MenuPane() const
- {
- return iMenuPane;
- }
-
-
-EXPORT_C CLiwServiceIfMenu::~CLiwServiceIfMenu()
- {
- }
-
-
-EXPORT_C void* CLiwServiceIfMenu::ExtensionInterface(TUid /*aInterface*/)
- {
- return NULL;
- }
-
-// End of file
--- a/languageinterworkingfw/servicehandler/src/liwtlsdata.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: TLS data object.
-*
-*/
-
-
-
-
-
-
-// INCLUDE FILES
-#include "liwtlsdata.h"
-
-// CONSTANTS
-
-const TInt KMenuLaunchObserversGranularity = 2;
-
-// ================= MEMBER FUNCTIONS ==========================================
-
-CLiwTlsData::CLiwTlsData() :
- iMenuLaunchObservers( KMenuLaunchObserversGranularity )
- {
- }
-
-CLiwTlsData::~CLiwTlsData()
- {
- iMenuLaunchObservers.Reset();
- Dll::FreeTls();
- }
-
-CLiwTlsData* CLiwTlsData::NewL()
- {
- CLiwTlsData* data = new( ELeave ) CLiwTlsData;
- CleanupStack::PushL( data );
- data->ConstructL();
- CleanupStack::Pop(data); // data
- return data;
- }
-
-void CLiwTlsData::ConstructL()
- {
- User::LeaveIfError( Dll::SetTls( this ) );
- }
-
-// -----------------------------------------------------------------------------
-// CLiwTlsData::OpenL
-// -----------------------------------------------------------------------------
-//
-CLiwTlsData* CLiwTlsData::OpenL()
- {
- CLiwTlsData* data = Instance();
- if ( !data )
- {
- data = NewL();
- }
-
- data->iRefCount++;
- return data;
- }
-
-// -----------------------------------------------------------------------------
-// CLiwTlsData::Close
-// -----------------------------------------------------------------------------
-//
-void CLiwTlsData::Close()
- {
- CLiwTlsData* data = Instance();
- __ASSERT_DEBUG( data, User::Invariant() );
- if ( data )
- {
- if ( --data->iRefCount == 0 )
- {
- delete data; // also frees TLS
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CLiwTlsData::AddMenuLaunchObserverL
-// -----------------------------------------------------------------------------
-//
-void CLiwTlsData::AddMenuLaunchObserverL( MLiwMenuLaunchObserver* aObserver )
- {
- User::LeaveIfError( iMenuLaunchObservers.Append( aObserver ) );
- }
-
-// -----------------------------------------------------------------------------
-// CLiwTlsData::RemoveMenuLaunchObserver
-// -----------------------------------------------------------------------------
-//
-void CLiwTlsData::RemoveMenuLaunchObserver( MLiwMenuLaunchObserver* aObserver )
- {
- TInt index = iMenuLaunchObservers.Find( aObserver );
- if ( index >= 0 )
- {
- iMenuLaunchObservers.Remove( index );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CLiwTlsData::ReportMenuLaunch
-// -----------------------------------------------------------------------------
-//
-void CLiwTlsData::ReportMenuLaunch()
- {
- TInt count = iMenuLaunchObservers.Count();
- for ( TInt index = 0 ; index < count ; index++ )
- {
- iMenuLaunchObservers[index]->MenuLaunched();
- }
- }
-
-// End of file
--- a/languageinterworkingfw/servicehandler/src/liwvariant.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1768 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of class TLiwVariant.
-*
-*/
-
-
-
-
-
-
-
-// INCLUDES
-#ifdef _DEBUG
-#include <e32svr.h>
-#endif
-#include "liwvariant.h"
-#include "liwgenericparam.h"
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-using namespace LIW;
-namespace {
-
-// CONSTANTS
-/// TLiwVariant streaming version
-const TInt KVersion = 10; // Version 1.0
-
-
-const TInt KBufSizeMid = 128;
-const TInt KBufSizeSmall = 64;
-const TInt KBufSizeLarge = 8192;
-
-
-// Debug helpers
-#ifdef _DEBUG
-
-enum TPanicCode
- {
- EPanicPostCond_Constructor = 1,
- EPanicPostCond_Reset,
- EPanicPostCond_Set_TInt32,
- EPanicPostCond_Set_TUid,
- EPanicPostCond_Set_TTime,
- EPanicPostCond_Set_TDesC,
- EPanicPostCond_CopyL,
- EPanicInvariant_InvalidDesCState,
- EPanicPostCond_Set_TDesC8,
- EPanicPreCond_DataSizeMismatch,
- EPanicPostCond_Set_TBool,
- EPanicPostCond_Set_TUint,
- EPanicPostCond_Set_TReal,
- EPanicPostCond_Set_TInt64
- };
-
-void Panic(TPanicCode aCode)
- {
- _LIT(KPanicText, "TLiwVariant");
- User::Panic(KPanicText, aCode);
- }
-
-#endif // #ifdef _DEBUG
-
-} // namespace
-
-_LIT8(KDummy, "Dummy"); // needed for BC-preserving hack to store info about ownership of container
-
-/*
- * class CLiwContainer, class CLiwIterable, class CLiwList, class CLiwMap,
- * class CLiwDefaultList, class CLiwDefaultMap
- */
-
-EXPORT_C void CLiwContainer::PushL()
- {
- CleanupClosePushL(*this);
- }
-
-EXPORT_C void CLiwContainer::ExternalizeL(RWriteStream&) const
- {
- User::Leave(KErrNotSupported);
- }
-
-EXPORT_C TInt CLiwContainer::Size() const
- {
- return KErrNotSupported;
- }
-
-EXPORT_C CLiwContainer::~CLiwContainer()
- {
- /*
- * Since CLiwContainer is based on reference count mechanism, it does not go with CleanupStack::PushL()
- *
- * LIW takes care of managing the memory in heap for CLiwContainer using the reference count logic
- *
- * The container should not be destroyed until the reference count is ZERO.
- * If the reference count is not equal to ZERO, it means there are some more owners of that container
- *
- * This panics if the reference count is not equal to ZERO, in DEBUG Mode only
- *
- * Hence it is recommended to use CleanupClosePushL for Container objects when using CleanupStack
- */
-
- __ASSERT_DEBUG(iRefCount == 0, User::Panic(_L("E32USER-CBase: 33"), 1));
- }
-
-EXPORT_C void CLiwContainer::Close()
- {
- DecRef();
- }
-
-
-EXPORT_C TBool CLiwIterable::operator==(CLiwIterable& aOther)
- {
- if (this == &aOther)
- return ETrue;
-
- Reset();
- aOther.Reset();
-
- TBool rval = ETrue;
- TLiwVariant variant1, variant2;
-
- TRAPD(error, {
- while (NextL(variant1))
- {
- if (!aOther.NextL(variant2) || (variant1 != variant2))
- rval = EFalse;
- }
- });
-
- if (rval && (error == KErrNone))
- {
- TRAP(error, (rval = !(aOther.NextL(variant2))));
- }
-
- variant1.Reset();
- variant2.Reset();
-
- return (error == KErrNone) ? rval : EFalse;
- }
-
-EXPORT_C TBool CLiwList::operator==(const CLiwList& aOther) const
- {
- TInt count = Count();
- if (count != aOther.Count())
- return EFalse;
-
- TInt error = KErrNone;
- TBool retval = ETrue;
- TLiwVariant variant1, variant2;
- for (TInt index = 0; index < count; index++) {
- TRAP(error, {
- AtL(index, variant1); aOther.AtL(index, variant2);
- });
- if ((error != KErrNone) || (!(variant1 == variant2)))
- {
- retval = EFalse;
- break;
- }
- }
- variant1.Reset();
- variant2.Reset();
- return retval;
- }
-
-EXPORT_C TBool CLiwMap::operator==(const CLiwMap& aOther) const
- {
- TInt count = Count();
- if (count != aOther.Count())
- return EFalse;
-
- TInt error = KErrNone;
- TBool retval = ETrue;
- TLiwVariant variant1, variant2;
- TBuf8<KBufSizeMid> buf1, buf2;
- for (TInt index = 0; index < count; index++)
- {
- TRAP(error, {
- AtL(index, buf1); aOther.AtL(index, buf2);
- retval = (FindL(buf1, variant1) && aOther.FindL(buf2, variant2));
- });
- if (error != KErrNone)
- retval = EFalse;
- if (!retval || (!(variant1 == variant2)))
- {
- retval = EFalse;
- break;
- }
- }
- variant1.Reset();
- variant2.Reset();
- return retval;
- }
-
-EXPORT_C CLiwDefaultList* CLiwDefaultList::NewL()
- {
- CLiwGenericParamList* gl = CLiwGenericParamList::NewLC();
- CLiwDefaultList* tempList = new (ELeave) CLiwDefaultList(gl);
- CleanupStack::Pop(gl); // gl
- return tempList;
- }
-
-EXPORT_C CLiwDefaultList* CLiwDefaultList::NewLC()
- {
- CLiwGenericParamList* gl = CLiwGenericParamList::NewLC();
- CLiwDefaultList* tempList = new (ELeave) CLiwDefaultList(gl);
- CleanupStack::Pop(gl); // gl
- CleanupClosePushL(*tempList);
- return tempList;
- }
-
-EXPORT_C CLiwDefaultList* CLiwDefaultList::NewLC(RReadStream& aStream)
- {
- CLiwDefaultList* tempList = CLiwDefaultList::NewL();
- CleanupClosePushL(*tempList);
- tempList->iList->InternalizeL(aStream);
- return tempList;
- }
-
-EXPORT_C void CLiwDefaultList::AppendL(const TLiwVariant& aValue)
- {
- iList->AppendL(TLiwGenericParam(EGenericParamUnspecified, aValue));
- }
-
-EXPORT_C TBool CLiwDefaultList::AtL(TInt aIndex, TLiwVariant& aValue) const
- {
- if(0 <= aIndex && aIndex < iList->Count())
- {
- aValue.SetL((*iList)[aIndex].Value());
- return ETrue;
- }
- else
- {
- return EFalse;
- }
- }
-
-EXPORT_C void CLiwDefaultList::Remove(TInt aIndex)
- {
- if(0 <= aIndex && aIndex < iList->Count())
- {
- iList->iParameters[aIndex].Destroy();
- iList->iParameters.Remove(aIndex);
- }
- }
-
-EXPORT_C TInt CLiwDefaultList::Count() const
- {
- return iList->Count();
- }
-
-EXPORT_C void CLiwDefaultList::ExternalizeL(RWriteStream& aStream) const
- {
- iList->ExternalizeL(aStream);
- }
-
-EXPORT_C TInt CLiwDefaultList::Size() const
- {
- return iList->Size();
- }
-
-EXPORT_C CLiwDefaultList::~CLiwDefaultList()
- {
- delete iList;
- }
-
-EXPORT_C CLiwDefaultMap* CLiwDefaultMap::NewL()
- {
- CLiwGenericParamList* gl = CLiwGenericParamList::NewLC();
- CLiwDefaultMap* tempMap = new (ELeave) CLiwDefaultMap(gl);
- CleanupStack::Pop(gl); // gl
- return tempMap;
- }
-
-EXPORT_C CLiwDefaultMap* CLiwDefaultMap::NewLC()
- {
- CLiwGenericParamList* gl = CLiwGenericParamList::NewLC();
- CLiwDefaultMap* tempMap = new (ELeave) CLiwDefaultMap(gl);
- CleanupStack::Pop(gl); // gl
- CleanupClosePushL(*tempMap);
- return tempMap;
- }
-
-EXPORT_C CLiwDefaultMap* CLiwDefaultMap::NewLC(RReadStream& aStream)
- {
- CLiwDefaultMap* tempMap = CLiwDefaultMap::NewL();
- CleanupClosePushL(*tempMap);
- tempMap->iMap->InternalizeL(aStream);
- return tempMap;
- }
-
-EXPORT_C void CLiwDefaultMap::InsertL(const TDesC8& aKey, const TLiwVariant& aValue)
- {
- Remove(aKey);
- TLiwGenericParam mp;
- mp.SetNameAndValueL(aKey, aValue);
- iMap->AppendL(mp);
- mp.Reset();
- }
-
-EXPORT_C TBool CLiwDefaultMap::FindL(const TDesC8& aKey, TLiwVariant& aValue) const
- {
- TInt pos = 0;
- const TLiwGenericParam* tempParam = iMap->FindFirst(pos, aKey);
- if (tempParam)
- {
- aValue.SetL(tempParam->Value());
- return ETrue;
- }
- else
- return EFalse;
- }
-
-EXPORT_C TInt CLiwDefaultMap::Count() const
- {
- return iMap->Count();
- }
-
-EXPORT_C TBool CLiwDefaultMap::AtL(TInt aIndex, TDes8& aKey) const
- {
- if(0 <= aIndex && aIndex < iMap->Count())
- {
- aKey = ((*iMap)[aIndex]).Name();
- return ETrue;
- }
- else
- {
- return EFalse;
- }
- }
-
-EXPORT_C const TDesC8& CLiwDefaultMap::AtL(TInt aIndex) const
- {
- if(0 <= aIndex && aIndex < iMap->Count())
- {
- return ((*iMap)[aIndex]).Name();
- }
- else
- {
- User::LeaveIfError(KErrArgument);
- return KNullDesC8;
- }
- }
-
-EXPORT_C void CLiwDefaultMap::Remove(const TDesC8& aKey)
- {
- TInt pos = 0;
- iMap->FindFirst(pos, aKey);
- if (pos != KErrNotFound)
- {
- iMap->iParameters[pos].Destroy();
- iMap->iParameters.Remove(pos);
- }
- }
-
-EXPORT_C void CLiwDefaultMap::ExternalizeL(RWriteStream& aStream) const
- {
- iMap->ExternalizeL(aStream);
- }
-
-EXPORT_C TInt CLiwDefaultMap::Size() const
- {
- return iMap->Size();
- }
-
-EXPORT_C CLiwDefaultMap::~CLiwDefaultMap()
- {
- delete iMap;
- }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-#ifdef _DEBUG
-void TLiwVariant::__DbgTestInvariant() const
- {
- if (iTypeId==EVariantTypeDesC && iData.iBufC)
- {
- __ASSERT_ALWAYS(iData.iBufC->Ptr() == iPtrC.Ptr(),
- Panic(EPanicInvariant_InvalidDesCState));
-
- }
- }
-#endif // #ifdef _DEBUG
-
-
-EXPORT_C void TLiwVariant::PushL()
- {
- CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , this) );
- }
-
-EXPORT_C void TLiwVariant::VariantCleanup( TAny* aObj )
- {
- static_cast<TLiwVariant*>(aObj)->Destroy();
- }
-
-inline void TLiwVariant::SInt64::InternalizeL(RReadStream& aStream)
- {
- TInt32 low = aStream.ReadInt32L();
- iHigh = aStream.ReadInt32L();
- iLow = low;
- }
-
-inline void TLiwVariant::SInt64::ExternalizeL(RWriteStream& aStream) const
- {
- aStream.WriteInt32L(iLow);
- aStream.WriteInt32L(iHigh);
- }
-
-inline void TLiwVariant::SInt64::Set(const TInt64& aTInt64)
- {
- iLow = I64LOW(aTInt64);
- iHigh = I64HIGH(aTInt64);
- }
-
-inline TLiwVariant::SInt64::operator TInt64() const
- {
- return MAKE_TINT64(iHigh,iLow);
- }
-
-inline TBool TLiwVariant::SInt64::operator==(const SInt64& aRhs) const
- {
- return (iHigh==aRhs.iHigh && iLow==aRhs.iLow);
- }
-
-
-EXPORT_C TLiwVariant::TLiwVariant(const TLiwVariant& aSrc) :
- iTypeId(aSrc.iTypeId), iData(aSrc.iData), iPtrC(), iPtrC8()
- {
- if (iTypeId == EVariantTypeDesC)
- {
- iPtrC.Set(aSrc.iPtrC);
- // Do not take ownership of data
- iData.iBufC = NULL;
- }
- else if ( iTypeId == EVariantTypeDesC8 )
- {
- iPtrC8.Set( aSrc.iPtrC8 );
- // Do not take ownership of data
- iData.iBufC8 = NULL;
- }
- }
-
-EXPORT_C TLiwVariant& TLiwVariant::operator=(const TLiwVariant& aSrc)
- {
- // Check self-assignment first.
- if (this == &aSrc)
- {
- return *this;
- }
- Reset();
- iTypeId = aSrc.iTypeId;
- iData = aSrc.iData;
- if (iTypeId == EVariantTypeDesC)
- {
- iPtrC.Set(aSrc.iPtrC);
- // Do not take ownership of data
- iData.iBufC = NULL;
- }
- else if ( iTypeId == EVariantTypeDesC8 )
- {
- iPtrC8.Set( aSrc.iPtrC8 );
- // Do not take ownership of data
- iData.iBufC8 = NULL;
- }
- return *this;
- }
-
-EXPORT_C TBool TLiwVariant::Get(TInt32& aValue) const
- {
- __TEST_INVARIANT;
- if (iTypeId == EVariantTypeTInt32)
- {
- aValue = iData.iInt32;
- return ETrue;
- }
- else if (iTypeId == EVariantTypeTReal)
- {
- aValue = (TInt32)iData.iReal;
- return ETrue;
- }
- else if (iTypeId == EVariantTypeDesC8) //string to real conversion
- {
- TLex8 parseString(iPtrC8);
- TInt err = parseString.Val(aValue);
- if(err == KErrNone)
- return ETrue;
- }
- else if (iTypeId == EVariantTypeDesC) //string to real conversion
- {
- TLex16 parseString(iPtrC);
- TInt err = parseString.Val(aValue);
- if(err == KErrNone)
- return ETrue;
- }
- else if (iTypeId == EVariantTypeTUint) //TUint to int conversion
- {
- aValue = (TInt32)iData.iUint;
- return ETrue;
- }
- else if (iTypeId == EVariantTypeTInt64) //TInt64 to TInt32 conversion
- {
- aValue = (TInt32)iData.iLong; //Warning : Results in loss of data sometimes
- return ETrue;
- }
- return EFalse;
- }
-
-EXPORT_C TBool TLiwVariant::Get(TInt64& aValue) const
- {
- __TEST_INVARIANT;
- if (iTypeId == EVariantTypeTInt64)
- {
- aValue = iData.iLong;
- return ETrue;
- }
- else if (iTypeId == EVariantTypeTInt32)
- {
- aValue = iData.iInt32;
- return ETrue;
- }
- else if (iTypeId == EVariantTypeTReal)
- {
- aValue = (TInt32)iData.iReal;
- return ETrue;
- }
- else if (iTypeId == EVariantTypeDesC8) //string to real conversion
- {
- TLex8 parseString(iPtrC8);
- TInt err = parseString.Val(aValue);
- if(err == KErrNone)
- return ETrue;
- }
- else if (iTypeId == EVariantTypeDesC) //string to real conversion
- {
- TLex16 parseString(iPtrC);
- TInt err = parseString.Val(aValue);
- if(err == KErrNone)
- return ETrue;
- }
- else if (iTypeId == EVariantTypeTUint) //TUint to int conversion
- {
- aValue = (TInt32)iData.iUint;
- return ETrue;
- }
- return EFalse;
- }
-
-EXPORT_C TBool TLiwVariant::Get(TReal& aValue) const
- {
- __TEST_INVARIANT;
- if (iTypeId == EVariantTypeTReal)
- {
- aValue = iData.iReal;
- return ETrue;
- }
- else if(iTypeId == EVariantTypeTInt32)
- {
- aValue = iData.iInt32;
- return ETrue;
- }
- else if (iTypeId == EVariantTypeDesC8) //string to integer conversion
- {
- TLex8 parseString(iPtrC8);
- TInt err = parseString.Val(aValue);
- if(err == KErrNone)
- return ETrue;
- }
- else if (iTypeId == EVariantTypeDesC) //string to integer conversion
- {
- TLex16 parseString(iPtrC);
- TInt err = parseString.Val(aValue);
- if(err == KErrNone)
- return ETrue;
- }
- else if (iTypeId == EVariantTypeTUint) //TUint to real conversion
- {
- aValue = iData.iUint;
- return ETrue;
- }
- else if(iTypeId == EVariantTypeTInt64)
- {
- aValue = iData.iLong; //Warning : Results in loss of data
- return ETrue;
- }
- return EFalse;
- }
-EXPORT_C TBool TLiwVariant::Get(TBool& aValue) const
- {
- __TEST_INVARIANT;
- if (iTypeId == EVariantTypeTBool)
- {
- aValue = iData.iBool;
- return ETrue;
- }
- return EFalse;
- }
-
-EXPORT_C TBool TLiwVariant::Get(TUint& aValue) const
- {
- __TEST_INVARIANT;
- if (iTypeId == EVariantTypeTUint)
- {
- aValue = iData.iUint;
- return ETrue;
- }
- else if (iTypeId == EVariantTypeTReal) //real to TUint conversion
- {
- aValue = static_cast<TUint>(iData.iReal);
- return ETrue;
- }
- else if(iTypeId == EVariantTypeTInt32) // TInt32 to TUint conversion
- {
- aValue = static_cast<TUint>(iData.iInt32);
- return ETrue;
- }
- else if (iTypeId == EVariantTypeDesC8) //desc8 to TUint conversion
- {
- TLex8 parseString(iPtrC8);
- TInt err = parseString.Val(aValue);
- if(err == KErrNone)
- return ETrue;
- }
- else if (iTypeId == EVariantTypeDesC) //desc16 to TUint conversion
- {
- TLex16 parseString(iPtrC);
- TInt err = parseString.Val(aValue);
- if(err == KErrNone)
- return ETrue;
- }
- else if(iTypeId == EVariantTypeTInt64) // TInt32 to TUint conversion
- {
- aValue = static_cast<TUint>(iData.iLong); //Warning : Results in loss of data
- return ETrue;
- }
- return EFalse;
- }
-
-EXPORT_C TBool TLiwVariant::Get(TUid& aValue) const
- {
- __TEST_INVARIANT;
- if (iTypeId == EVariantTypeTUid)
- {
- aValue = TUid::Uid(iData.iInt32);
- return ETrue;
- }
- return EFalse;
- }
-
-EXPORT_C TBool TLiwVariant::Get(TPtrC& aValue) const
- {
- __TEST_INVARIANT;
- if (iTypeId == EVariantTypeDesC)
- {
- aValue.Set(iPtrC);
- return ETrue;
- }
- return EFalse;
- }
-
-EXPORT_C TBool TLiwVariant::Get(TTime& aValue) const
- {
- __TEST_INVARIANT;
- if (iTypeId == EVariantTypeTTime)
- {
- aValue = TTime(iData.iInt64);
- return ETrue;
- }
- return EFalse;
- }
-
-
-EXPORT_C TBool TLiwVariant::Get(TPtrC8& aValue) const
- {
- __TEST_INVARIANT;
- if (iTypeId == EVariantTypeDesC8)
- {
- aValue.Set(iPtrC8);
- return ETrue;
- }
-
- return EFalse;
- }
-
-EXPORT_C TBool TLiwVariant::Get(TDes& aValue) const
- {
- __TEST_INVARIANT;
- if (iTypeId == EVariantTypeDesC)
- {
- aValue.Copy(iPtrC);
- return ETrue;
- }
- else if (iTypeId == EVariantTypeDesC8)
- {
- aValue.Copy(iPtrC8);
- return ETrue;
- }
- else if (iTypeId == EVariantTypeTReal) //real to TDes conversion
- {
- const TRealFormat realFormat;
- aValue.Num(iData.iReal,realFormat);
- return ETrue;
- }
- else if(iTypeId == EVariantTypeTInt32) // TInt32 to TDes conversion
- {
- aValue.Num(iData.iInt32);
- return ETrue;
- }
- else if(iTypeId == EVariantTypeTUint) // TInt32 to TDes conversion
- {
- aValue.Num(iData.iUint,EDecimal);
- return ETrue;
- }
- else if(iTypeId == EVariantTypeTInt64) // TInt32 to TDes conversion
- {
- aValue.Num(iData.iLong);
- return ETrue;
- }
- return EFalse;
- }
-
-
-EXPORT_C TBool TLiwVariant::Get(TDes8& aValue) const
- {
- __TEST_INVARIANT;
- if (iTypeId == EVariantTypeDesC8)
- {
- aValue.Copy(iPtrC8);
- return ETrue;
- }
- else if (iTypeId == EVariantTypeDesC)
- {
- aValue.Copy(iPtrC);
- return ETrue;
- }
- else if (iTypeId == EVariantTypeTReal) //real to TDes8 conversion
- {
- const TRealFormat realFormat;
- aValue.Num(iData.iReal,realFormat);
- return ETrue;
- }
- else if(iTypeId == EVariantTypeTInt32) // TInt32 to TDes8 conversion
- {
- aValue.Num(iData.iInt32);
- return ETrue;
- }
- else if(iTypeId == EVariantTypeTUint) // TInt32 to TDes conversion
- {
- aValue.Num(iData.iUint,EDecimal);
- return ETrue;
- }
- else if(iTypeId == EVariantTypeTInt64) // TInt32 to TDes8 conversion
- {
- aValue.Num(iData.iLong);
- return ETrue;
- }
- return EFalse;
- }
-
-
-EXPORT_C TBool TLiwVariant::Get(RFile& aValue) const
- {
- __TEST_INVARIANT;
- if (iTypeId == EVariantTypeFileHandle)
- {
- aValue = *((RFile*)&iData.iInt64);
- return ETrue;
- }
-
- return EFalse;
- }
-
-EXPORT_C TBool TLiwVariant::Get(CLiwList& aValue) const
- {
- __TEST_INVARIANT;
- if (iTypeId == EVariantTypeList)
- {
- TInt pos = 0;
- TLiwVariant tempVarient;
- tempVarient.PushL();
- // Overwrite the list
- if(0 != aValue.Count())
- {
- // make the list Empty
- for (pos = aValue.Count() - 1; pos >= 0 ; pos--)
- aValue.Remove(pos);
- }
- // Copy List varient by varient
- for (pos = 0; pos < iData.iList->Count(); pos++)
- {
- iData.iList->AtL(pos, tempVarient);
- aValue.AppendL(tempVarient);
- }
- CleanupStack::Pop(&tempVarient);
- tempVarient.Reset();
- return ETrue;
- }
-
- return EFalse;
- }
-
-EXPORT_C TBool TLiwVariant::Get(CLiwMap& aValue) const
- {
- __TEST_INVARIANT;
- if (iTypeId == EVariantTypeMap)
- {
- TInt pos = 0;
- TLiwVariant tempVarient;
- tempVarient.PushL();
- // Overwrite the Map
- if(0 != aValue.Count())
- {
- // make the Map Empty
- for (pos = aValue.Count() - 1; pos >= 0 ; pos--)
- {
- TBuf8<KBufSizeSmall> mapKey;
- aValue.AtL(pos, mapKey);
- aValue.Remove(mapKey);
- }
- }
- // Copy Map varient by varient
- for (pos = 0; pos < iData.iMap->Count(); pos++)
- {
- TBuf8<KBufSizeSmall> mapKey;
- iData.iMap->AtL(pos, mapKey);
- iData.iMap->FindL(mapKey, tempVarient);
- aValue.InsertL(mapKey, tempVarient);
- }
- CleanupStack::Pop(&tempVarient);
- tempVarient.Reset();
- return ETrue;
- }
-
- return EFalse;
- }
-EXPORT_C TReal TLiwVariant::AsTReal() const
- {
- TReal value = 0;
- Get(value);
- return value;
- }
-
-EXPORT_C TInt32 TLiwVariant::AsTInt32() const
- {
- TInt32 value = 0;
- Get(value);
- return value;
- }
-
-EXPORT_C TInt64 TLiwVariant::AsTInt64() const
- {
- TInt64 value = 0;
- Get(value);
- return value;
- }
-
-EXPORT_C CLiwBuffer* TLiwVariant::AsBuffer() const
- {
- __TEST_INVARIANT;
- if (iTypeId == EVariantTypeBuffer)
- {
- return iData.iBuffer;
- }
-
- return NULL;
- }
-
-EXPORT_C TBool TLiwVariant::AsTBool() const
- {
- TBool value = 0;
- Get(value);
- return value;
- }
-
-EXPORT_C TBool TLiwVariant::AsTUint() const
- {
- TUint value = 0;
- Get(value);
- return value;
- }
-
-EXPORT_C TUid TLiwVariant::AsTUid() const
- {
- __TEST_INVARIANT;
- TUid value = {0};
- Get(value);
- return value;
- }
-
-EXPORT_C TPtrC TLiwVariant::AsDes() const
- {
- __TEST_INVARIANT;
- TPtrC value;
- Get(value);
- return value;
- }
-
-EXPORT_C TTime TLiwVariant::AsTTime() const
- {
- __TEST_INVARIANT;
- TTime value(Time::NullTTime());
- Get(value);
- return value;
- }
-
-
-EXPORT_C TPtrC8 TLiwVariant::AsData() const
- {
- __TEST_INVARIANT;
- TPtrC8 value;
- Get(value);
- return value;
- }
-
-
-EXPORT_C RFile TLiwVariant::AsFileHandle() const
- {
- __TEST_INVARIANT;
- RFile value;
- Get(value);
- return value;
- }
-
-EXPORT_C const CLiwList* TLiwVariant::AsList() const
- {
- __TEST_INVARIANT;
- return (iTypeId == EVariantTypeList) ? iData.iList : NULL;
- }
-
-EXPORT_C const CLiwMap* TLiwVariant::AsMap() const
- {
- __TEST_INVARIANT;
- return (iTypeId == EVariantTypeMap) ? iData.iMap : NULL;
- }
-
-EXPORT_C MLiwInterface* TLiwVariant::AsInterface() const
- {
- __TEST_INVARIANT;
- return (iTypeId == EVariantTypeInterface) ? iData.iSession : NULL;
- }
-
-EXPORT_C CLiwIterable* TLiwVariant::AsIterable() const
- {
- __TEST_INVARIANT;
- return (iTypeId == EVariantTypeIterable) ? iData.iIterable : NULL;
- }
-
-EXPORT_C void TLiwVariant::Reset()
- {
- __TEST_INVARIANT;
-
- if (iTypeId == EVariantTypeDesC)
- {
- // Delete any owned buffer
- delete iData.iBufC;
- iData.iBufC = NULL;
- }
- else if (iTypeId == EVariantTypeDesC8)
- {
- delete iData.iBufC8;
- iData.iBufC8 = NULL;
- }
- else if (iTypeId == EVariantTypeList)
- {
- if (iPtrC8.Compare(KDummy) == 0)
- {
- iData.iList->DecRef();
- iData.iList = NULL;
- iPtrC8.Set(TPtrC8());
- }
- }
- else if (iTypeId == EVariantTypeMap)
- {
- if (iPtrC8.Compare(KDummy) == 0)
- {
- iData.iMap->DecRef();
- iData.iMap = NULL;
- iPtrC8.Set(TPtrC8());
- }
- }
- else if (iTypeId == EVariantTypeIterable)
- {
- if (iPtrC8.Compare(KDummy) == 0)
- {
- iData.iIterable->DecRef();
- iData.iIterable = NULL;
- iPtrC8.Set(TPtrC8());
- }
- }
- else if (iTypeId == EVariantTypeBuffer)
- {
- if (iPtrC8.Compare(KDummy) == 0)
- {
- iData.iBuffer->DecRef();
- iData.iBuffer = NULL;
- iPtrC8.Set(TPtrC8());
- }
- }
- // No need to clear other data, because Get methods wont't do anything if type
- // is Null.
- iTypeId = EVariantTypeNull;
-
- __ASSERT_DEBUG(IsEmpty(), Panic(EPanicPostCond_Reset));
- __TEST_INVARIANT;
- }
-
-EXPORT_C void TLiwVariant::Set(TInt32 aValue)
- {
- __TEST_INVARIANT;
-
- Reset();
- iTypeId = EVariantTypeTInt32;
- iData.iInt32 = aValue;
-
- __ASSERT_DEBUG(this->AsTInt32()==aValue, Panic(EPanicPostCond_Set_TInt32));
- __TEST_INVARIANT;
- }
-
-EXPORT_C void TLiwVariant::Set(TInt64 aValue)
- {
- __TEST_INVARIANT;
-
- Reset();
- iTypeId = EVariantTypeTInt64;
- iData.iLong = aValue;
-
- __ASSERT_DEBUG(this->AsTInt64()==aValue, Panic(EPanicPostCond_Set_TInt64));
- __TEST_INVARIANT;
- }
-
-EXPORT_C void TLiwVariant::Set(TReal aValue)
- {
- __TEST_INVARIANT;
-
- Reset();
- iTypeId = EVariantTypeTReal;
- iData.iReal = aValue;
-
- __ASSERT_DEBUG(this->AsTReal()==aValue, Panic(EPanicPostCond_Set_TReal));
- __TEST_INVARIANT;
- }
-EXPORT_C void TLiwVariant::Set(const CLiwBuffer* aValue)
- {
- __TEST_INVARIANT;
-
- Reset();
- iTypeId = EVariantTypeBuffer;
- iData.iBuffer = (CLiwBuffer*)aValue;
-
- __TEST_INVARIANT;
- }
-
-EXPORT_C void TLiwVariant::Set(TBool aValue)
- {
- __TEST_INVARIANT;
-
- Reset();
- iTypeId = EVariantTypeTBool;
- iData.iBool = aValue;
-
- __ASSERT_DEBUG(this->AsTBool()==aValue, Panic(EPanicPostCond_Set_TBool));
- __TEST_INVARIANT;
- }
-
-EXPORT_C void TLiwVariant::Set(TUint aValue)
- {
- __TEST_INVARIANT;
-
- Reset();
- iTypeId = EVariantTypeTUint;
- iData.iUint = aValue;
-
- __ASSERT_DEBUG(this->AsTUint()==aValue, Panic(EPanicPostCond_Set_TUint));
- __TEST_INVARIANT;
- }
-
-EXPORT_C void TLiwVariant::Set(const TUid& aValue)
- {
- __TEST_INVARIANT;
-
- Reset();
- iTypeId = EVariantTypeTUid;
- iData.iInt32 = aValue.iUid;
-
- __ASSERT_DEBUG(this->AsTUid()==aValue, Panic(EPanicPostCond_Set_TUid));
- __TEST_INVARIANT;
- }
-
-EXPORT_C void TLiwVariant::Set(const TTime& aValue)
- {
- __TEST_INVARIANT;
-
- Reset();
- iTypeId = EVariantTypeTTime;
- iData.iInt64.Set(aValue.Int64());
-
- __ASSERT_DEBUG(this->AsTTime()==aValue, Panic(EPanicPostCond_Set_TTime));
- __TEST_INVARIANT;
- }
-
-EXPORT_C void TLiwVariant::Set(const TDesC& aValue)
- {
- __TEST_INVARIANT;
-
- Reset();
- iTypeId = EVariantTypeDesC;
- iData.iBufC = NULL; // not owned
- iPtrC.Set(aValue);
-
- __ASSERT_DEBUG(this->AsDes()==aValue, Panic(EPanicPostCond_Set_TDesC));
- __TEST_INVARIANT;
- }
-
-
-
-EXPORT_C void TLiwVariant::Set(const TDesC8& aValue)
- {
- __TEST_INVARIANT;
-
- Reset();
- iTypeId = EVariantTypeDesC8;
- iData.iBufC8 = NULL; // not owned
- iPtrC8.Set(aValue);
-
- __ASSERT_DEBUG(this->AsData()==aValue, Panic(EPanicPostCond_Set_TDesC));
- __TEST_INVARIANT;
- }
-
-
-
-EXPORT_C void TLiwVariant::Set(const RFile& aValue)
- {
- __TEST_INVARIANT;
- __ASSERT_DEBUG(sizeof(SInt64) == sizeof(RFile), Panic(EPanicPreCond_DataSizeMismatch));
-
- Reset();
- iTypeId = EVariantTypeFileHandle;
- *((RFile*)&iData.iInt64) = aValue;
-
- __TEST_INVARIANT;
- }
-
-EXPORT_C void TLiwVariant::Set(const CLiwList* aValue)
- {
- __TEST_INVARIANT;
-
- Reset();
- iTypeId = EVariantTypeList;
- iData.iList = (CLiwList*)aValue;
-
- __TEST_INVARIANT;
- }
-
-EXPORT_C void TLiwVariant::Set(const CLiwMap* aValue)
- {
- __TEST_INVARIANT;
-
- Reset();
- iTypeId = EVariantTypeMap;
- iData.iMap = (CLiwMap*)aValue;
-
- __TEST_INVARIANT;
- }
-
-EXPORT_C void TLiwVariant::Set(const MLiwInterface* aValue)
- {
- __TEST_INVARIANT;
-
- Reset();
- iTypeId = EVariantTypeInterface;
- iData.iSession = (MLiwInterface*)aValue;
-
- __TEST_INVARIANT;
- }
-
-EXPORT_C void TLiwVariant::Set(const CLiwIterable* aValue)
- {
- __TEST_INVARIANT;
-
- Reset();
- iTypeId = EVariantTypeIterable;
- iData.iIterable = (CLiwIterable*)aValue;
-
- __TEST_INVARIANT;
- }
-
-EXPORT_C void TLiwVariant::SetL(const TLiwVariant& aValue)
- {
- __TEST_INVARIANT;
-
- if (aValue.iTypeId == EVariantTypeDesC)
- {
- // Take an own copy of the string value
- HBufC* buf = aValue.iPtrC.AllocL();
- Reset();
- iTypeId = EVariantTypeDesC;
- iData.iBufC = buf;
- iPtrC.Set(*iData.iBufC);
- }
- else if (aValue.iTypeId == EVariantTypeDesC8)
- {
- // Take an own copy of the data
- HBufC8* buf = aValue.iPtrC8.AllocL();
- Reset();
- iTypeId = EVariantTypeDesC8;
- iData.iBufC8 = buf;
- iPtrC8.Set(*iData.iBufC8);
- }
- else if (aValue.iTypeId == EVariantTypeList)
- {
- // Take an own copy of the data by increasing the reference count
- Reset();
- iTypeId = EVariantTypeList;
- iData.iList = aValue.iData.iList;
- iData.iList->IncRef();
- iPtrC8.Set(KDummy); // hack: mark owned
- }
- else if (aValue.iTypeId == EVariantTypeMap)
- {
- // Take an own copy of the data by increasing the reference count
- Reset();
- iTypeId = EVariantTypeMap;
- iData.iMap = aValue.iData.iMap;
- iData.iMap->IncRef();
- iPtrC8.Set(KDummy); // hack: mark owned
- }
- else if (aValue.iTypeId == EVariantTypeIterable)
- {
- // Take an own copy of the data by increasing the reference count
- Reset();
- iTypeId = EVariantTypeIterable;
- iData.iIterable = aValue.iData.iIterable;
- iData.iIterable->IncRef();
- iPtrC8.Set(KDummy); // hack: mark owned
- }
- else if (aValue.iTypeId == EVariantTypeBuffer)
- {
- Reset();
- iTypeId = EVariantTypeBuffer;
- iData.iBuffer = aValue.iData.iBuffer;
- iData.iBuffer->IncRef();
- iPtrC8.Set(KDummy); // hack: mark owned
- }
- else
- {
- Reset();
- iTypeId = aValue.iTypeId;
- // Copy the data union as one block
- iData = aValue.iData;
- }
-
- //__ASSERT_DEBUG(*this == aValue, Panic(EPanicPostCond_CopyL));
- __TEST_INVARIANT;
- }
-
-void TLiwVariant::Destroy()
- {
- __TEST_INVARIANT;
-
- if (iTypeId == EVariantTypeDesC)
- {
- // Delete any owned buffer
- delete iData.iBufC;
- iData.iBufC = NULL;
- }
- else if (iTypeId == EVariantTypeDesC8)
- {
- delete iData.iBufC8;
- iData.iBufC8 = NULL;
- }
- else if (iTypeId == EVariantTypeList)
- {
- if (iPtrC8.Compare(KDummy) == 0)
- {
- iData.iList->DecRef();
- iData.iList = NULL;
- iPtrC8.Set(TPtrC8());
- }
- }
- else if (iTypeId == EVariantTypeMap)
- {
- if (iPtrC8.Compare(KDummy) == 0)
- {
- iData.iMap->DecRef();
- iData.iMap = NULL;
- iPtrC8.Set(TPtrC8());
- }
- }
- else if (iTypeId == EVariantTypeIterable)
- {
- if (iPtrC8.Compare(KDummy) == 0)
- {
- iData.iIterable->DecRef();
- iData.iIterable = NULL;
- iPtrC8.Set(TPtrC8());
- }
- }
- else if (iTypeId == EVariantTypeBuffer)
- {
- if (iPtrC8.Compare(KDummy) == 0)
- {
- iData.iBuffer->DecRef();
- iData.iBuffer = NULL;
- iPtrC8.Set(TPtrC8());
- }
- }
- }
-
-void TLiwVariant::InternalizeL(RReadStream& aStream)
- {
- __TEST_INVARIANT;
-
- aStream.ReadInt8L(); // version
- // if older version adapt to changes (who knows if
- // parameters would be also persistent...)
-
- const TUint8 typeId = aStream.ReadUint8L();
- switch (typeId)
- {
- case EVariantTypeNull:
- {
- Reset();
- break;
- }
- case EVariantTypeTInt32: // FALLTHROUGH
- case EVariantTypeTUid:
- case EVariantTypeTBool:
- case EVariantTypeTUint:
- {
- TInt32 value = aStream.ReadInt32L();
- Reset();
- iTypeId = typeId;
- iData.iInt32 = value;
- break;
- }
- case EVariantTypeTInt64:
- {
- TInt64 value = aStream.ReadReal64L();
- Reset();
- iTypeId = typeId;
- iData.iLong = value;
- break;
- }
- case EVariantTypeFileHandle: // FALLTHROUGH
- case EVariantTypeTTime:
- case EVariantTypeTReal:
- {
- SInt64 value;
- value.InternalizeL(aStream);
- Reset();
- iTypeId = typeId;
- iData.iInt64 = value;
- break;
- }
- case EVariantTypeDesC:
- {
- const TInt len = aStream.ReadInt32L();
- HBufC* buf = HBufC::NewL(aStream,len);
- Reset();
- iTypeId = typeId;
- iData.iBufC = buf;
- iPtrC.Set(*iData.iBufC);
- break;
- }
- case EVariantTypeDesC8:
- {
- const TInt len = aStream.ReadInt32L();
- HBufC8* buf = HBufC8::NewL(aStream,len);
- Reset();
- iTypeId = typeId;
- iData.iBufC8 = buf;
- iPtrC8.Set(*iData.iBufC8);
- break;
- }
- case EVariantTypeList:
- {
- CLiwList* list = CLiwDefaultList::NewLC(aStream);
- Reset();
- iTypeId = EVariantTypeList;
- iData.iList = list;
- iPtrC8.Set(KDummy); // hack: mark owned
- CleanupStack::Pop(list); // list
- break;
- }
- case EVariantTypeMap:
- {
- CLiwMap* map = CLiwDefaultMap::NewLC(aStream);
- Reset();
- iTypeId = EVariantTypeMap;
- iData.iMap = map;
- iPtrC8.Set(KDummy); // hack: mark owned
- CleanupStack::Pop(map); // map
- break;
- }
- default:
- {
- // Corrupted data stream.
-#ifdef _DEBUG
- RDebug::Print(_L("***ERROR TLiwVariant::InternalizeL"));
-#endif
- User::Leave(KErrCorrupt);
- return;
- }
- }
-
- __TEST_INVARIANT;
- }
-
-void TLiwVariant::ExternalizeL(RWriteStream& aStream) const
- {
- __TEST_INVARIANT;
-
- aStream.WriteInt8L(KVersion);
- // if older version adapt to changes (who knows if parameters would be also persistent...)
-
- aStream.WriteUint8L(iTypeId);
- switch (iTypeId)
- {
- case EVariantTypeTInt32: // FALLTHROUGH
- case EVariantTypeTUid:
- case EVariantTypeTBool:
- case EVariantTypeTUint:
- {
- aStream.WriteInt32L(iData.iInt32);
- break;
- }
- case EVariantTypeTInt64:
- {
- aStream.WriteReal64L(iData.iLong);
- break;
- }
- case EVariantTypeFileHandle: // FALLTHROUGH
- case EVariantTypeTTime:
- case EVariantTypeTReal:
- {
- iData.iInt64.ExternalizeL(aStream);
- break;
- }
- case EVariantTypeDesC:
- {
- aStream.WriteInt32L(iPtrC.Length());
- aStream << iPtrC;
- break;
- }
- case EVariantTypeDesC8:
- {
- aStream.WriteInt32L(iPtrC8.Length());
- aStream << iPtrC8;
- break;
- }
- case EVariantTypeList:
- {
- iData.iList->ExternalizeL(aStream);
- break;
- }
- case EVariantTypeMap:
- {
- iData.iMap->ExternalizeL(aStream);
- break;
- }
- case EVariantTypeInterface:
- {
- _LIT(KMsg, "TLiwVariant: type Interface not externizable");
- User::Panic(KMsg, 1);
- break;
- }
- default:
- break;
- }
-
- __TEST_INVARIANT;
- }
-
-TInt TLiwVariant::Size() const
- {
- __TEST_INVARIANT;
-
- TInt size = sizeof (TInt8); // version
- size += sizeof (TUint8); // iTypeId
- switch (iTypeId)
- {
- case EVariantTypeTInt32: // FALLTHROUGH
- case EVariantTypeTUid:
- case EVariantTypeTBool:
- case EVariantTypeTUint:
- {
- size += sizeof (TInt32);
- break;
- }
- case EVariantTypeFileHandle: // FALLTHROUGH
- case EVariantTypeTTime:
- case EVariantTypeTReal:
- case EVariantTypeTInt64:
- {
- size += sizeof (TInt64);
- break;
- }
- case EVariantTypeDesC:
- {
- size += sizeof (TInt32); // length
- //size += 1; // the externalization method used adds a header byte
- if(iPtrC.Size() >= KBufSizeLarge)
- {
- size += 4;
- }
- else if(iPtrC.Size() >= KBufSizeSmall)
- {
- size += 2;
- }
- else
- {
- size += 1;
- }
- size += iPtrC.Size();
- size += 1; // extra one byte for Unicode marker
- break;
- }
- case EVariantTypeDesC8:
- {
- size += sizeof (TInt32); // length
- //size += 1; // the externalization method used adds a header byte
- if(iPtrC8.Size() >= KBufSizeLarge)
- {
- size += 4;
- }
-
- else if(iPtrC8.Size() >= KBufSizeSmall)
- {
- size += 2;
- }
- else
- {
- size += 1;
- }
- size += iPtrC8.Size();
- break;
- }
- case EVariantTypeList:
- {
- size += iData.iList->Size();
- break;
- }
- case EVariantTypeMap:
- {
- size += iData.iMap->Size();
- break;
- }
- default:
- break;
- }
- return size;
- }
-
-// ============================ EXTERNAL FUNCTIONS ===============================
-
-EXPORT_C TBool operator==(const TLiwVariant& aLhs, const TLiwVariant& aRhs)
- {
- if (aLhs.iTypeId == aRhs.iTypeId)
- {
- switch (aLhs.iTypeId)
- {
- case EVariantTypeNull:
- {
- // Null equals Null
- return ETrue;
- }
- case EVariantTypeTInt32: // FALLTHROUGH
- case EVariantTypeTUid:
- case EVariantTypeTBool:
- case EVariantTypeTUint:
- {
- return (aLhs.iData.iInt32 == aRhs.iData.iInt32);
- }
- case EVariantTypeTInt64:
- {
- return (aLhs.iData.iLong == aRhs.iData.iLong);
- }
- case EVariantTypeDesC:
- {
- return (aLhs.iPtrC == aRhs.iPtrC);
- }
- case EVariantTypeDesC8:
- {
- return (aLhs.iPtrC8 == aRhs.iPtrC8);
- }
- case EVariantTypeFileHandle: // FALLTHROUGH
- case EVariantTypeTTime:
- case EVariantTypeTReal:
- {
- return (aLhs.iData.iInt64 == aRhs.iData.iInt64);
- }
- case EVariantTypeList:
- {
- return (*(aLhs.iData.iList) == *(aRhs.iData.iList));
- }
- case EVariantTypeMap:
- {
- return (*(aLhs.iData.iMap) == *(aRhs.iData.iMap));
- }
- case EVariantTypeInterface:
- {
- return (aLhs.iData.iSession == aRhs.iData.iSession);
- }
- case EVariantTypeIterable:
- {
- return (*(aLhs.iData.iIterable) == *(aRhs.iData.iIterable));
- }
- case EVariantTypeBuffer:
- {
- return (aLhs.iData.iBuffer == aRhs.iData.iBuffer);
- }
- default:
- {
- break;
- }
- }
- }
- return EFalse;
- }
-
-#ifdef _DEBUG
-EXPORT_C void Dump(const TLiwVariant& aVariant)
- {
- switch (aVariant.TypeId())
- {
- case EVariantTypeNull:
- {
- RDebug::Print(_L(" TLiwVariant::Dump = Null"));
- break;
- }
- case EVariantTypeTInt32:
- {
- RDebug::Print(_L(" TLiwVariant::Dump(TInt32) = %d"), aVariant.AsTInt32());
- break;
- }
- case EVariantTypeTInt64:
- {
- RDebug::Print(_L(" TLiwVariant::Dump(TInt64) = %d"), aVariant.AsTInt64());
- break;
- }
- case EVariantTypeTReal:
- {
- RDebug::Print(_L(" TLiwVariant::Dump(TReal) = %d"), aVariant.AsTReal());
- break;
- }
- case EVariantTypeTBool:
- {
- RDebug::Print(_L(" TLiwVariant::Dump(TBool) = %d"), aVariant.AsTBool());
- break;
- }
- case EVariantTypeTUint:
- {
- RDebug::Print(_L(" TLiwVariant::Dump(TUint) = %d"), aVariant.AsTUint());
- break;
- }
-
- case EVariantTypeTUid:
- {
- const TUidName& uidName = aVariant.AsTUid().Name();
- RDebug::Print(_L(" TLiwVariant::Dump(TUid) = %S"), &uidName);
- break;
- }
- case EVariantTypeDesC:
- {
- TPtrC des = aVariant.AsDes();
- RDebug::Print(_L(" TLiwVariant::Dump(TBufC) = %S"), &des);
- break;
- }
- case EVariantTypeDesC8:
- {
- TPtrC8 des = aVariant.AsData();
- RDebug::Print(_L(" TLiwVariant::Dump(TBufC8) = %S"), &des);
- break;
- }
- case EVariantTypeTTime:
- {
- TDateTime dt = aVariant.AsTTime().DateTime();
- RDebug::Print(_L(" TLiwVariant::Dump(TTime): day=%d,mon=%d,year=%d,hh=%d,mm=%d,ss=%d"),
- dt.Day()+1, dt.Month()+1, dt.Year(),
- dt.Hour(),dt.Minute(), dt.Second());
- break;
- }
- case EVariantTypeFileHandle:
- {
- RDebug::Print(_L(" TLiwVariant::Dump(RFile): Value is file handle."));
- break;
- }
- case EVariantTypeList:
- {
- const CLiwList* tempList = aVariant.AsList();
- TInt count = tempList->Count();
- TLiwVariant tempVariant;
- tempVariant.PushL();
- RDebug::Print(_L(" TLiwVariant::Dump(List[%d]):"), count);
- for (TInt index = 0; index < count; index++)
- {
- TRAPD(error, {tempList->AtL(index, tempVariant);});
- if(error != KErrNone)
- RDebug::Print(_L("TLiwVariant::Dump ERROR: %d"), error);
- Dump(tempVariant);
- }
- CleanupStack::Pop(&tempVariant);
- tempVariant.Reset();
- RDebug::Print(_L(" TLiwVariant::Dump List END"));
- break;
- }
- case EVariantTypeIterable:
- {
- CLiwIterable* tempItr = aVariant.AsIterable();
- TLiwVariant tempVariant;
- RDebug::Print(_L(" TLiwVariant::Dump(Iterable):"));
- tempItr->Reset();
- TRAPD(errno, {
- while (tempItr->NextL(tempVariant)) {
- Dump(tempVariant);
- }
- });
- if(errno != KErrNone)
- RDebug::Print(_L("TLiwVariant::Dump ERROR: %d"), errno);
- tempVariant.Reset();
- RDebug::Print(_L(" TLiwVariant::Dump Iterable END"));
- break;
- }
- case EVariantTypeMap:
- {
- const CLiwMap* tempMap = aVariant.AsMap();
- TInt count = tempMap->Count();
- TLiwVariant tempVariant;
- RDebug::Print(_L(" TLiwVariant::Dump(Map):"));
- for (TInt index = 0; index < count; index++) {
- TBuf8<KBufSizeMid> key;
- TRAPD(error, {tempMap->AtL(index, key);});
- RDebug::Print(_L(" key=%S, value= "), &key);
- TRAP(error, {tempMap->FindL(key, tempVariant);});
- Dump(tempVariant);
- }
- tempVariant.Reset();
- RDebug::Print(_L(" TLiwVariant::Dump Map END"));
- break;
- }
- case EVariantTypeInterface:
- {
- RDebug::Print(_L(" TLiwVariant::Dump(Interface): Value is interface pointer."));
- break;
- }
- default:
- {
- RDebug::Print(_L(" *** TLiwVariant::Dump(Unknown) ***"));
- break;
- }
- }
- }
-#else
-EXPORT_C void Dump(const TLiwVariant& /*aVariant*/)
- {
- }
-
-#endif // ifdef _DEBUG
--- a/languageinterworkingfw/servicehandler/src/liwxmlhandler.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,273 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Wrapper to XML parser interface. Loads the inline and external XML metadata
-* and populates the service provider metadata information. This class
-* uses Symbian SAX parser to load the metadata information.
-*
-*/
-
-
-
-
-
-
-
-#include "liwxmlhandler.h"
-#include <f32file.h>
-#include "data_caging_path_literals.hrh"
-#include <e32capability.h>
-
-#include "liwservicedata.h"
-#include <liwvariant.h>
-
-_LIT8(KMetaDataName, "meta");
-
-
-/*
- * Creates and returns an instance of \c CLiwXmlHandler
- */
-CLiwXmlHandler* CLiwXmlHandler::NewL()
-{
- CLiwXmlHandler* ptrToThis = CLiwXmlHandler::NewLC();
- CleanupStack::Pop(ptrToThis);
-
- return ptrToThis;
-}
-
-/*
- * Creates and returns an instance of \c CLiwXmlHandler
- * Leaves the created instance in the cleanupstack.
- *
- * @return an instance of \c CLiwXmlHandler
- */
-CLiwXmlHandler* CLiwXmlHandler::NewLC()
-{
- CLiwXmlHandler* ptrToThis = new (ELeave) CLiwXmlHandler();
- CleanupStack::PushL(ptrToThis);
-
- ptrToThis->ConstructL();
-
- return ptrToThis;
-}
-
-
-/*
- * Destructor. Deletes the handler to XML parser
- */
-CLiwXmlHandler::~CLiwXmlHandler()
-{
- if(iXmlHandler)
- delete iXmlHandler;
-
- if(iBuffer)
- delete iBuffer;
-}
-
-/*
- * Default constructor.
- */
-CLiwXmlHandler::CLiwXmlHandler()
-{
-
-}
-
-/*
- * Instantiates the SAX parser instance and registers itself
- * as the callback to handle SAX events.
- */
-void CLiwXmlHandler::ConstructL()
-{
- TInt parserFeature = EErrorOnUnrecognisedTags | EXmlVersion_1_1;
- iXmlHandler = CSenXmlReader::NewL(parserFeature);
- iXmlHandler->SetContentHandler(*this);
-}
-
-/*
- * Parses the inline XML content passed in the buffer. The parser
- * is kick started to recevie SAX events. This method also accepts the
- * reference to \c CLiwServiceData to store the parsed metadata name-value
- * pairs.
- */
-TInt CLiwXmlHandler::LoadServiceData(const TDesC8& aXmlBuffer,CLiwServiceData* aServiceData)
-{
- iServiceData = aServiceData;
-
- TRAPD(err,iXmlHandler->ParseL(aXmlBuffer));
-
- TInt retVal = ESrvDataLoadFailed;
-
- if(!err)
- {
- retVal = ESrvDataLoadSuccess;
- }
-
- return retVal;
-}
-
-/*
- * Parses the XML content present in an external file. The parser
- * is kick started to recevie SAX events. This method also accepts the
- * reference to \c CLiwServiceData to store the parsed metadata name-value
- * pairs.
- */
- #include <bautils.h>
-TInt CLiwXmlHandler::LoadServiceData(const TDesC& aFileToParse,CLiwServiceData* aServiceData)
-{
- TInt retVal = ESrvDataLoadFailed;
-
- iServiceData = aServiceData;
-
- RFs fsSession;
- User::LeaveIfError( fsSession.Connect() );
-
- TFileName resFile;
- resFile.Append(aFileToParse);
-
- if(!BaflUtils::FileExists(fsSession,resFile))
- {
- fsSession.Close();
- return ESrvDataFileNotFnd;
- }
-
-
- TRAPD(err,iXmlHandler->ParseL(fsSession,resFile));
-
- fsSession.Close();
- if(!err)
- {
- retVal = ESrvDataLoadSuccess;
- }
-
- return retVal;
-}
-
-/**
-* Receive notification of the beginning of a document.
-* @return KErrNone or some of the system-wide Symbian error codes.
-*/
-TInt CLiwXmlHandler::StartDocument()
-{
- return KErrNone;
-}
-
-/**
-* Receive notification of the end of a document.
-* @return KErrNone or some of the system-wide Symbian error codes.
-*/
-TInt CLiwXmlHandler::EndDocument()
-{
- return KErrNone;
-}
-
-/**
-* The important parsed elements are <metadata/> and its sub-element
-* <capability/>.
-* The other sub-elements (other than <capability/>) are considered
-* as service provider specific metadata name-value pairs.
-*
-* @return KErrNone or some of the system-wide Symbian error codes.
-*/
-TInt CLiwXmlHandler::StartElement( const TDesC8& /*aURI*/,
- const TDesC8& aLocalName,
- const TDesC8& /*aName*/,
- const RAttributeArray& /* apAttrs */)
-{
- if(iBuffer)
- {
- delete iBuffer;
- iBuffer=NULL;
- }
-
- startBuf = aLocalName;
- return KErrNone;
-}
-
-
-/**
-* The end of the elements such as <metadata/> and its sub-element
-* <capability/> are processed. The flags set for the processing of
-* <metadata> and it sub-elements like <capability/> are toggled off.
-*
-* @return KErrNone or some of the system-wide Symbian error codes.
-*/
-TInt CLiwXmlHandler::EndElement( const TDesC8& /*aURI*/,
- const TDesC8& aLocalName,
- const TDesC8& /*aName*/)
-{
- if(0!=aLocalName.CompareF(KMetaDataName) && 0==aLocalName.CompareF(startBuf))
- iServiceData->AddMetaDataL(aLocalName,*iBuffer);
-
- delete iBuffer;
- iBuffer = NULL;
-
- return KErrNone;
-}
-
-/**
-* The metadata can be defined in the following XML format:
-*
-*
-* <metadata>
-* <metadata_keyname1>metadata_keyvalue1</metadata_keyname1>
-* <metadata_keyname2>metadata_keyvalue2</metadata_keyname2>
-* </metadata>
-*
-* A realistic example below
-*
-*
-* <metadata>
-* <capability>CapabilityReadDeviceData</capability>
-* <capability>CapabilityWriteDeviceData</capability>
-* <capability>CapabilityLocation</capability>
-* </metadata>
-*
-* This function obtains the character data defined within the
-* child elements of <metadata>. The child element name under <metadata>
-* is taken as metadata key and the character data under it as metadata
-* value and added to the internal metadata key-value pair entries.
-*
-* There could be multiple metadata keys having different values as
-* shown above
-*
-* Right now it supports only capability metadata information
-*
-*/
-TInt CLiwXmlHandler::Characters(const TDesC8& aBuf,
- const TInt /* aStart */,
- const TInt /* aLength */)
-{
- if(iBuffer)
- {
- delete iBuffer;
- iBuffer=NULL;
- }
-
-
- iBuffer = aBuf.Alloc();
-
- return KErrNone;
-}
-
-/**
-* In case of parsing errors due to non-well formed XML content,
-* file not being present etc are handled here. In case of XML content
-* error, the metadata stored so far will be cleaned up.
-*
-* @return KErrNone or some of the system-wide Symbian error codes.
-*/
-
-TInt CLiwXmlHandler::Error(TInt /*aErrorCode*/)
-{
- return ESrvDataLoadFailed;
-}
--- a/layers.sysdef.xml Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0"?><!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [
-<!ENTITY layer_real_source_path "sf/mw/serviceapifw" >
-]>
-<SystemDefinition name="serviceapifw" schema="1.4.0">
-<systemModel>
-<!-- Common file for prebuild layers-->
-<layer name="mw_layer">
-<module name="serviceapifw">
-<unit name="serviceapifw" unitID="sapido.serviceapifw" bldFile="&layer_real_source_path;/group" mrp="" />
-</module>
-</layer>
-</systemModel>
-</SystemDefinition>
\ No newline at end of file
--- a/rtsecuritymanager/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-
-#include "../rtsecuritymanagerutil/group/bld.inf"
-#include "../rtsecuritymanagerserver/group/bld.inf"
-#include "../rtsecuritymanagerclient/group/bld.inf"
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-
-// ../install/rtsecuritymanagerstub.sis /epoc32/data/z/system/install/rtsecuritymanagerstub.sis
-../install/backup_registration.xml /epoc32/data/Z/private/2000F847/backup_registration.xml
-
-// Export IBY and LOC files as per CP50 build improvements.
-// ../rom/rtsecuritymanager.iby CORE_MW_LAYER_IBY_EXPORT_PATH(rtsecuritymanager.iby)
-// ../rom/rtsecmgrresource.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(rtsecmgrresource.iby)
\ No newline at end of file
--- a/rtsecuritymanager/inc/rtsecmgrdef.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Common definitions of client and server
- *
-*/
-
-
-
-
-
-
-#ifndef _RTSECMGRDEF_H
-#define _RTSECMGRDEF_H
-
-#include <e32base.h>
-
-/*
- * Enumerations for client-server message argument indices
- */
-enum TSecMgrMsgSlot
- {
- EMsgArgZero = 0,
- EMsgArgOne,
- EMsgArgTwo,
- EMsgArgThree,
- EMsgArgFour
- };
-
-//opcodes used in message passing between client and server
-enum TRTSecServRqst
- {
- ESecServCloseSession = 1,
- ESetPolicy,
- EUpdatePolicy,
- EUnsetPolicy,
- ERegisterScript,
- ERegisterScriptWithHash,
- EUnRegisterScript,
- EGetScriptSession,
- EGetTrustedUnRegScriptSession,
- ECloseScriptSession,
- ECheckPermission,
- EUpdatePermanentGrant,
- EGetScriptFile,
- ESecMgrSrvReqEnd,
- EUpdatePermanentGrantProvider
- };
-
-const TInt KSecurityServerUid2Int(0x1020507E);
-const TUid KSecMgrServerUid2 =
- {
- KSecurityServerUid2Int
- };
-
-//the server version. A version must be specifyed when creating a session with the server
-const TUint KRTSecMgrServMajorVersionNumber=0;
-const TUint KRTSecMgrServMinorVersionNumber=1;
-const TUint KRTSecMgrServBuildVersionNumber=1;
-
-// number of message slots.
-const TUint KDefaultMessageSlots= 16;
-const TUint KSecSrvClientTryCount=2;
-const TInt KCapabilitySize = 20;
-
-_LIT(KSecMgrServerExeName, "RTSecMgrServer.exe");
-_LIT(KZDrive, "z:");
-_LIT(KSecServerProcessName, "SecurityManagerServer");
-_LIT(KSecSrvMainThreadName, "SecSrvMain");
-
-#endif //_RTSECMGRDEF_H
-
--- a/rtsecuritymanager/inc/rtsecmgrmsg.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,314 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-
-#ifndef _RTSECMGRMSG_H
-#define _RTSECMGRMSG_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include <s32strm.h>
-#include <s32mem.h>
-#include <rtsecmgrcommondef.h>
-
-// Maximum size expected for iHashMarker in CRTSecMgrRegisterScriptMsg
-const TInt KMaxHashValueDesLen = 255;
-
-// Maximum total size expected for a CRTSecMgrRegisterScriptMsg object
-const TInt KMaxMsgLength = 520;
-
-// CLASS DECLARATION
-
-/**
- * Message type to pass script object across
- * client server boundary
- *
- */
-NONSHARABLE_CLASS(CRTSecMgrRegisterScriptMsg) : public CBase
- {
-public:
-
- /**
- * Destructor.
- */
- IMPORT_C ~CRTSecMgrRegisterScriptMsg();
-
- /**
- * Two-phased constructor.
- *
- * Creates an instance of CRTSecMgrRegisterScriptMsg.
- *
- *
- * @param aPolicyID policy identifier of script
- * @param aHashValue hash value of script
- *
- * @return CRTSecMgrRegisterScriptMsg* created instance of CRTSecMgrRegisterScriptMsg
- *
- */
- IMPORT_C static CRTSecMgrRegisterScriptMsg* NewL(TPolicyID aPolicyID, const TDesC& aHashValue);
-
- /**
- * Two-phased constructor.
- *
- * Creates an instance of CRTSecMgrRegisterScriptMsg
- * and leaves it on cleanupstack
- *
- * @param aPolicyID policy identifier of script
- * @param aHashValue hash value of script
- *
- * @return CRTSecMgrRegisterScriptMsg* created instance of CRTSecMgrRegisterScriptMsg
- *
- */
- IMPORT_C static CRTSecMgrRegisterScriptMsg* NewLC(TPolicyID aPolicyID, const TDesC& aHashValue);
-
- /**
- * Two-phased constructor.
- *
- * Creates an instance of CRTSecMgrRegisterScriptMsg
- * from the input source
- *
- * @param aStreamData input source data
- *
- * @return CRTSecMgrRegisterScriptMsg* created instance of CRTSecMgrRegisterScriptMsg
- *
- */
- IMPORT_C static CRTSecMgrRegisterScriptMsg* NewLC(const TDesC8& aStreamData);
-
- /*
- * Creates an HBufC8 representation of CRTSecMgrRegisterScriptMsg
- *
- * @return HBufC8* buffer representation of CRTSecMgrRegisterScriptMsg
- */
- IMPORT_C HBufC8* PackMsgL() const;
-
- /*
- * Gets the hash value of the script
- *
- * @return const TDesC8& hash value of script
- */
- inline const TDesC& HashValue() const
- {
- if(iHashMarker)
- return *iHashMarker;
- else
- return KNullDesC;
- }
-
- /*
- * Gets the policy identifier
- *
- * @return TPolicyID policy identifier
- */
- inline TPolicyID PolicyID() const
- {
- return iPolicyID;
- }
-
-protected:
- // Writes ’this’ to the stream
- void ExternalizeL(RWriteStream& aStream) const;
- // Initializes ’this’ from stream
- void InternalizeL(RReadStream& aStream);
-
-private:
-
- /**
- * Constructor for performing 1st stage construction
- */
- CRTSecMgrRegisterScriptMsg()
- {}
-
- /**
- * Constructor for performing 1st stage construction
- */
- CRTSecMgrRegisterScriptMsg(TPolicyID aPolicyID);
-
- /**
- * Second stage construction
- */
- void ConstructL(const TDesC& aHashValue);
-
-private:
- /*
- * Policy identifier
- *
- */
- TPolicyID iPolicyID;
-
- /*
- * Hash value of the script
- *
- */
- HBufC* iHashMarker;
- };
-
-NONSHARABLE_CLASS(CRTPermGrantMessage) : public CBase
- {
- public:
- /**
- * Destructor.
- */
- IMPORT_C virtual ~CRTPermGrantMessage();
-
- /**
- * Two-phased constructor.
- *
- * Creates an instance of CRTPermGrantMessage.
- */
- IMPORT_C static CRTPermGrantMessage* NewL();
-
- /**
- * Two-phased constructor.
- *
- * Creates an instance of CRTPermGrantMessage
- * and leaves it on cleanupstack
- */
- IMPORT_C static CRTPermGrantMessage* NewLC();
-
- /**
- * Two-phased constructor.
- *
- * Creates an instance of CRTPermGrantMessage
- * from the input source
- *
- * @param aBuf input source data
- *
- * @return CRTPermGrantMessage* created instance of CRTPermGrantMessage
- *
- */
- IMPORT_C static CRTPermGrantMessage* NewL(const TDesC8& aBuf);
-
- /**
- * Two-phased constructor.
- *
- * Creates an instance of CRTPermGrantMessage
- * from the input source and leaves it on cleanup stack
- *
- * @param aBuf input source data
- *
- * @return CRTPermGrantMessage* created instance of CRTPermGrantMessage
- *
- */
- IMPORT_C static CRTPermGrantMessage* NewLC(const TDesC8& aBuf);
-
- /**
- * Two-phased constructor.
- *
- * Creates an instance of CRTPermGrantMessage
- *
- * @param aAllowedProviders RProviderArray Allowed service providers
- * @param aDeniedProviders RProviderArray Denied service providers
- * @param aScriptId TExecutableID script identifier
- * @return CRTPermGrantMessage* created instance of CRTPermGrantMessage
- *
- */
- IMPORT_C static CRTPermGrantMessage* NewL(RProviderArray aAllowedProviders, RProviderArray aDeniedProviders,TExecutableID aScriptId);
-
- /**
- * Two-phased constructor.
- *
- * Creates an instance of CRTPermGrantMessage and leaves it on the cleanup stack
- *
- * @param aAllowedProviders RProviderArray Allowed service providers
- * @param aDeniedProviders RProviderArray Denied service providers
- * @param aScriptId TExecutableID script identifier
- * @return CRTPermGrantMessage* created instance of CRTPermGrantMessage
- *
- */
- IMPORT_C static CRTPermGrantMessage* NewLC(RProviderArray aAllowedProviders, RProviderArray aDeniedProviders,TExecutableID aScriptId);
-
- /**
- * Get Method.
- *
- * Gets the list of Allowed providers
- *
- * @param aAllowedProviders RProviderArray In/Out parameter which will contain the list of allowed providers
- */
- IMPORT_C void AllowedProviders(RProviderArray& aAllowedProviders);
-
- /**
- * Get Method.
- *
- * Gets the list of Allowed providers
- *
- * @param aDeniedProviders RProviderArray In/Out parameter which will contain the list of denied providers
- */
- IMPORT_C void DeniedProviders(RProviderArray& aDeniedProviders);
-
- /**
- * Get Method
- *
- * Gets the script Identifier.
- *
- * @return TExecutableID the script identifier
- */
- IMPORT_C TExecutableID ScriptID();
-
- /**
- * Set Method.
- *
- * Sets the list of Allowed providers
- *
- * @param aAllowedProviders RProviderArray input parameter which contains the list of allowed providers
- */
- IMPORT_C void setAllowedProviders(RProviderArray aAllowedProviders);
-
- /**
- * Set Method.
- *
- * Sets the list of Denied providers
- *
- * @param aDeniedProviders RProviderArray input parameter which contains the list of denied providers
- */
- IMPORT_C void setDeniedProviders(RProviderArray aDeniedProviders);
-
- /**
- * Set Method
- *
- * Sets the script Identifier.
- *
- * @param TExecutableID the script identifier
- */
- IMPORT_C void setScriptID(TExecutableID aScriptId);
-
- /*
- * Creates an HBufC8 representation of CRTPermGrantMessage
- *
- * @return HBufC8* buffer representation of CRTPermGrantMessage
- */
- IMPORT_C HBufC8* PackMessageL();
-
- private:
- CRTPermGrantMessage();
- CRTPermGrantMessage(RProviderArray aAllowedProviders,RProviderArray aDeniedProviders,TExecutableID aScriptId);
- void ConstructL(const TDesC8& aBuf);
- void InternalizeL(RReadStream& aSink);
- void ExternalizeL(RWriteStream& aSource);
- private:
- RProviderArray iAllowedProviders;
- RProviderArray iDeniedProviders;
- TExecutableID iScriptId;
- };
-
-#endif // RTSECMGRMSG_H
-
--- a/rtsecuritymanager/inc/rtsecmgrtracer.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-#ifndef _RTSECMGRTRACE_H
-#define _RTSECMGRTRACE_H
-
-#include <e32base.h>
-
-
-// Define tracer logging method if defined RTSECMGR_TRACE
-//
-// Emulator = Log to RDebug
-// Device = Log to file (RFileLogger)
-
-// ============================================================================
-
-
-#ifndef RTSECMGR_TRACE // Logging off
-
- #define RTSecMgrTraceFunction(func)
- #define RTSecMgrTraceFunctionRet(func,format)
- #define RTSecMgrCreateTraceFile()
- #define RTSecMgrTracePrintRet(a)
-#else // Logging on
-
-
- // Macro to print function entry, exit and leave.
- // Example: RTSecMgrTraceFunction("CMyClass::MyFunction");
- #define RTSecMgrTraceFunction(func) TTracer function_tracer( _S(func), _S("") );
-
- // Macro to print function return value in addition to entry, exit
- // and leave conditions Second parameter is a formatting string used
- // to print the return value Example to print an integer return value:
- // RTSecMgrTraceFunctionRet("CMyclass::MyFunction", "%d");
- #define RTSecMgrTraceFunctionRet(func,format) TTracer func_tracer( _S(func), _S(format) );
-
- #define RTSecMgrTracePrintRet(a) RFileLogger::WriteFormat(KLogDir, \
- KLogFile,EFileLoggingModeAppend,a);
-
- /* #if (defined(__WINS__) || defined(__WINSCW__)) // Print to RDebug
-
- #include <e32debug.h>
-
- #define TRACER_PRINT(a) RDebug::Print(a,&iFunc);
- #define TRACER_PRINT_RET(a,b) RDebug::Print(a,&iFunc,b);
- #define RTSecMgrCreateTraceFile()
-
- #else //Print to file
- */
- #include <f32file.h>
- #include <flogger.h>
-
- _LIT( KLogDir, "rtsecmgrtracelogs" ); // Log directory: C:\logs\rtsecmgrtracelogs
- _LIT( KLogFile, "rtsecmgrtracelogs.txt" ); // Log file: c:\logs\tracer\rtsecmgrtracelogs.txt
- _LIT( KFullPath, "c:\\logs\\rtsecmgrtracelogs\\" );
- _LIT(KFullLogFileName , "c:\\logs\\rtsecmgrtracelogs\\rtsecmgrtracelogs.txt") ;
-
- LOCAL_C void CreateLogFile() // Local function for creating Logdirectory and LogFile
- {
- RFs fs;
- RFile fileHandle ;
- if( fs.Connect() == KErrNone )
- {
- fs.MkDirAll( KFullPath );
- if(fileHandle.Open(fs ,KFullLogFileName , EFileWrite | EFileShareAny ) == KErrNotFound)
- {
- fileHandle.Create(fs ,KFullLogFileName , EFileWrite | EFileShareAny ) ;
- }
- fileHandle.Close() ;
- fs.Close();
- }
- }
-
- #define RTSecMgrCreateTraceFile() CreateLogFile();
-
- #define TRACER_PRINT(a) RFileLogger::WriteFormat(KLogDir, \
- KLogFile,EFileLoggingModeAppend,a,&iFunc);
- #define TRACER_PRINT_RET(a,b) RFileLogger::WriteFormat(KLogDir, \
- KLogFile,EFileLoggingModeAppend,a,&iFunc,b);
-
- // #endif
-
- _LIT( KLogEnter, "%S: ENTER" );
- _LIT( KLogExit, "%S: EXIT" );
- _LIT( KLogLeave, "%S: LEAVE!" );
- _LIT( KLogExitRet, "%S: EXIT, Returning " );
-
- /**
- * Simple tracer class that logs function enter, exit or leave
- */
- class TTracer
- {
- public:
-
- /**
- * inline constructor to write log of entering a function
- */
- TTracer( const TText* aFunc, const TText* aRetFormat )
- : iFunc( aFunc )
- , iRetFormat( aRetFormat )
- {
- TRACER_PRINT( KLogEnter );
- }
-
- /**
- * inline destructor to write log of exiting a function
- * normally or with a leave
- */
- ~TTracer()
- {
- if ( std::uncaught_exception() ) // Leave is an exception
- {
- // The function exited with a leave
- TRACER_PRINT( KLogLeave );
- }
- else
- {
- // The function exited normally
- if ( iRetFormat.Length() == 0 )
- {
- TRACER_PRINT( KLogExit );
- }
- else
- {
- // Log the return value
- #ifdef __WINS__
- TInt32 retVal = 0;
-
- // The assembly bit. This needs to be reimplemented
- // for every target.
- _asm( mov retVal, ebx );
-
- TBuf<100> format( KLogExitRet );
- format.Append( iRetFormat );
- TRACER_PRINT_RET( format, retVal );
- #else
- TRACER_PRINT( KLogExit );
-
- #endif
- }
- }
- }
-
- private:
-
- /**
- * Pointer descriptor to function signature that is to be logged.
- */
- TPtrC iFunc;
-
-
- /**
- * Formatting string used to print the function return value
- */
- TPtrC iRetFormat;
-
- };
-
-#endif // RTSECMGR_TRACE
-
-#endif // _RTSECMGRTRACE_H
\ No newline at end of file
--- a/rtsecuritymanager/install/backup_registration.xml Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<!-- Backup registration file for runtime security manager server -->
- <backup_registration>
- <passive_backup>
- <include_directory name = "\policy"/>
- <include_directory name = "\script"/>
- <include_file name = "\config.dat"/>
- </passive_backup>
- <system_backup/>
- <restore requires_reboot = "no"/>
- </backup_registration>
\ No newline at end of file
--- a/rtsecuritymanager/install/rtsecuritymanager.pkg Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of the License "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description:
-;
-&EN
-
-; standard SIS file header
-#{"RTSecMgrServer"},(0x2000F847),1,0,0
-
-;Supports Series 60 v 3.0
-(0x101F7961), 0, 0, 0, {"Series60ProductID"}
-
-;Localized Vendor Name
-%{"Nokia EN"}
-
-;Unique Vendor name
-:"Vendor"
-
-; Files to copy
-
-"\epoc32\release\armv5\urel\RTSecMgrServer.exe" -"!:\sys\bin\RTSecMgrServer.exe"
-"\epoc32\release\armv5\urel\RTSecMgrUtil.dll" -"!:\sys\bin\RTSecMgrUtil.dll"
-"\epoc32\release\armv5\urel\RTSecMgrClient.dll" -"!:\sys\bin\RTSecMgrClient.dll"
-"\epoc32\data\Z\resource\apps\RTSecManager.rsc" -"!:\resource\apps\RTSecManager.rsc"
-"\epoc32\data\Z\private\2000F847\backup_registration.xml" -"!:\private\2000F847\backup_registration.xml"
\ No newline at end of file
--- a/rtsecuritymanager/install/rtsecuritymanager_PU.pkg Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of the License "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description:
-;
-&EN
-
-; standard SIS file header
-#{"RTSecMgrServer"},(0x2000F847),1,0,0, TYPE = PU
-
-;Supports Series 60 v 3.0
-(0x101F7961), 0, 0, 0, {"Series60ProductID"}
-
-;Localized Vendor Name
-%{"Nokia EN"}
-
-;Unique Vendor name
-:"Vendor"
-
-; Files to copy
-
-"\epoc32\release\armv5\urel\RTSecMgrServer.exe" -"!:\sys\bin\RTSecMgrServer.exe"
-"\epoc32\release\armv5\urel\RTSecMgrUtil.dll" -"!:\sys\bin\RTSecMgrUtil.dll"
-"\epoc32\release\armv5\urel\RTSecMgrClient.dll" -"!:\sys\bin\RTSecMgrClient.dll"
-"\epoc32\data\Z\resource\apps\RTSecManager.rsc" -"!:\resource\apps\RTSecManager.rsc"
-;"\epoc32\data\Z\private\2000F847\backup_registration.xml" -"!:\private\2000F847\backup_registration.xml"
\ No newline at end of file
--- a/rtsecuritymanager/install/rtsecuritymanagerstub.pkg Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of the License "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description:
-;
-&EN
-
-; standard SIS file header
-#{"Runtime Security Manager"},(0x2000F847),1,0,0,TYPE=SA
-
-;Localized Vendor Name
-%{"Nokia-EN"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Files to copy
-""-"z:\sys\bin\RTSecMgrServer.exe"
-""-"z:\sys\bin\RTSecMgrUtil.dll"
-""-"z:\sys\bin\RTSecMgrClient.dll"
-""-"z:\resource\apps\RTSecManager.r*"
\ No newline at end of file
Binary file rtsecuritymanager/install/rtsecuritymanagerstub.sis has changed
--- a/rtsecuritymanager/rtsecuritymanagerclient/BWINS/RTSecMgrClientU.DEF Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-EXPORTS
- ??1CRTSecManager@@UAE@XZ @ 1 NONAME ; CRTSecManager::~CRTSecManager(void)
- ??1CRTSecMgrScriptSession@@UAE@XZ @ 2 NONAME ; CRTSecMgrScriptSession::~CRTSecMgrScriptSession(void)
- ??1CTrustInfo@@UAE@XZ @ 3 NONAME ; CTrustInfo::~CTrustInfo(void)
- ?GetScriptSessionL@CRTSecManager@@QAEPAVCRTSecMgrScriptSession@@HABVCTrustInfo@@PAVMSecMgrPromptHandler@@@Z @ 4 NONAME ; class CRTSecMgrScriptSession * CRTSecManager::GetScriptSessionL(int, class CTrustInfo const &, class MSecMgrPromptHandler *)
- ?GetScriptSessionL@CRTSecManager@@QAEPAVCRTSecMgrScriptSession@@HHPAVMSecMgrPromptHandler@@ABVTDesC16@@@Z @ 5 NONAME ; class CRTSecMgrScriptSession * CRTSecManager::GetScriptSessionL(int, int, class MSecMgrPromptHandler *, class TDesC16 const &)
- ?IsAllowed@CRTSecMgrScriptSession@@QAEHABV?$RArray@W4TCapability@@@@@Z @ 6 NONAME ; int CRTSecMgrScriptSession::IsAllowed(class RArray<enum TCapability> const &)
- ?IsAllowed@CRTSecMgrScriptSession@@QAEHABV?$RArray@W4TCapability@@@@AAV2@@Z @ 7 NONAME ; int CRTSecMgrScriptSession::IsAllowed(class RArray<enum TCapability> const &, class RArray<enum TCapability> &)
- ?NewL@CRTSecManager@@SAPAV1@XZ @ 8 NONAME ; class CRTSecManager * CRTSecManager::NewL(void)
- ?NewL@CTrustInfo@@SAPAV1@XZ @ 9 NONAME ; class CTrustInfo * CTrustInfo::NewL(void)
- ?NewLC@CRTSecManager@@SAPAV1@XZ @ 10 NONAME ; class CRTSecManager * CRTSecManager::NewLC(void)
- ?NewLC@CTrustInfo@@SAPAV1@XZ @ 11 NONAME ; class CTrustInfo * CTrustInfo::NewLC(void)
- ?RegisterScript@CRTSecManager@@QAEHHABVCTrustInfo@@@Z @ 12 NONAME ; int CRTSecManager::RegisterScript(int, class CTrustInfo const &)
- ?RegisterScript@CRTSecManager@@QAEHHABVTDesC16@@ABVCTrustInfo@@@Z @ 13 NONAME ; int CRTSecManager::RegisterScript(int, class TDesC16 const &, class CTrustInfo const &)
- ?SetPolicy@CRTSecManager@@QAEHABVRFile@@@Z @ 14 NONAME ; int CRTSecManager::SetPolicy(class RFile const &)
- ?SetPolicy@CRTSecManager@@QAEHABVTDesC8@@@Z @ 15 NONAME ; int CRTSecManager::SetPolicy(class TDesC8 const &)
- ?UnRegisterScript@CRTSecManager@@QAEHHH@Z @ 16 NONAME ; int CRTSecManager::UnRegisterScript(int, int)
- ?UnSetPolicy@CRTSecManager@@QAEHH@Z @ 17 NONAME ; int CRTSecManager::UnSetPolicy(int)
- ?UpdatePolicy@CRTSecManager@@QAEHHABVRFile@@@Z @ 18 NONAME ; int CRTSecManager::UpdatePolicy(int, class RFile const &)
- ?UpdatePolicy@CRTSecManager@@QAEHHABVTDesC8@@@Z @ 19 NONAME ; int CRTSecManager::UpdatePolicy(int, class TDesC8 const &)
- ?IsAllowed@CRTSecMgrScriptSession@@QAEHABV?$RArray@W4TCapability@@@@VTUid@@V?$TBuf@$0BAA@@@@Z @ 20 NONAME ; int CRTSecMgrScriptSession::IsAllowed(class RArray<enum TCapability> const &, class TUid, class TBuf<256>)
- ?SetApplicationNameL@CRTSecMgrScriptSession@@QAEXABVTDesC16@@@Z @ 21 NONAME ; void CRTSecMgrScriptSession::SetApplicationNameL(class TDesC16 const &)
-
--- a/rtsecuritymanager/rtsecuritymanagerclient/EABI/RTSecMgrClientU.DEF Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-EXPORTS
- _ZN10CTrustInfo4NewLEv @ 1 NONAME
- _ZN10CTrustInfo5NewLCEv @ 2 NONAME
- _ZN10CTrustInfoD0Ev @ 3 NONAME
- _ZN10CTrustInfoD1Ev @ 4 NONAME
- _ZN10CTrustInfoD2Ev @ 5 NONAME
- _ZN13CRTSecManager11UnSetPolicyEi @ 6 NONAME
- _ZN13CRTSecManager12UpdatePolicyEiRK5RFile @ 7 NONAME
- _ZN13CRTSecManager12UpdatePolicyEiRK6TDesC8 @ 8 NONAME
- _ZN13CRTSecManager14RegisterScriptEiRK10CTrustInfo @ 9 NONAME
- _ZN13CRTSecManager14RegisterScriptEiRK7TDesC16RK10CTrustInfo @ 10 NONAME
- _ZN13CRTSecManager16UnRegisterScriptEii @ 11 NONAME
- _ZN13CRTSecManager17GetScriptSessionLEiRK10CTrustInfoP20MSecMgrPromptHandler @ 12 NONAME
- _ZN13CRTSecManager17GetScriptSessionLEiiP20MSecMgrPromptHandlerRK7TDesC16 @ 13 NONAME
- _ZN13CRTSecManager4NewLEv @ 14 NONAME
- _ZN13CRTSecManager5NewLCEv @ 15 NONAME
- _ZN13CRTSecManager9SetPolicyERK5RFile @ 16 NONAME
- _ZN13CRTSecManager9SetPolicyERK6TDesC8 @ 17 NONAME
- _ZN13CRTSecManagerD0Ev @ 18 NONAME
- _ZN13CRTSecManagerD1Ev @ 19 NONAME
- _ZN13CRTSecManagerD2Ev @ 20 NONAME
- _ZN22CRTSecMgrScriptSession9IsAllowedERK6RArrayI11TCapabilityE @ 21 NONAME
- _ZN22CRTSecMgrScriptSession9IsAllowedERK6RArrayI11TCapabilityERS2_ @ 22 NONAME
- _ZN22CRTSecMgrScriptSessionD0Ev @ 23 NONAME
- _ZN22CRTSecMgrScriptSessionD1Ev @ 24 NONAME
- _ZN22CRTSecMgrScriptSessionD2Ev @ 25 NONAME
- _ZN22CRTSecMgrScriptSession19SetApplicationNameLERK7TDesC16 @ 26 NONAME
- _ZN22CRTSecMgrScriptSession9IsAllowedERK6RArrayI11TCapabilityE4TUid4TBufILi256EE @ 27 NONAME
-
--- a/rtsecuritymanager/rtsecuritymanagerclient/data/rtsecmanager.rss Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-// rtsecmanager.RSS
-//
-NAME Sec
-
-#include <eikon.rh>
-#include <EIKCORE.rsg>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.hrh>
-#include <appinfo.rh>
-#include <rtsecmanager.loc>
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE TBUF r_rtsecmgr_prompt_query_header { buf=qtn_rtsecmgr_prompt_query_header; }
-RESOURCE TBUF r_rtsecmgr_commDD { buf=qtn_rtsecmgr_prompt_query_commdd; } //ECapabilityCommDD
-RESOURCE TBUF r_rtsecmgr_powermgmt { buf=qtn_rtsecmgr_prompt_query_powermgmt; } //ECapabilityPowerMgmt
-RESOURCE TBUF r_rtsecmgr_mmediaDD { buf=qtn_rtsecmgr_prompt_query_mmediadd; } //ECapabilityMultimediaDD
-RESOURCE TBUF r_rtsecmgr_readdevicedata { buf=qtn_rtsecmgr_prompt_query_read_devicedata; } //ECapabilityReadDeviceData
-RESOURCE TBUF r_rtsecmgr_writedevicedata { buf=qtn_rtsecmgr_prompt_query_write_devicedata; } //ECapabilityWriteDeviceData
-RESOURCE TBUF r_rtsecmgr_drm { buf=qtn_rtsecmgr_prompt_query_drm; } //ECapabilityDRM
-RESOURCE TBUF r_rtsecmgr_trustedUI { buf=qtn_rtsecmgr_prompt_query_trustedui; } //ECapabilityTrustedUI
-RESOURCE TBUF r_rtsecmgr_protserv { buf=qtn_rtsecmgr_prompt_query_protserv; } //ECapabilityProtServ
-RESOURCE TBUF r_rtsecmgr_diskadmin { buf=qtn_rtsecmgr_prompt_query_diskadmin; } //ECapabilityDiskAdmin
-RESOURCE TBUF r_rtsecmgr_nwcontrol { buf=qtn_rtsecmgr_prompt_query_nwcontrol; } //ECapabilityNetworkControl
-
-RESOURCE TBUF r_rtsecmgr_userdata_group { buf=qtn_rtsecmgr_prompt_query_userdata; }
-RESOURCE TBUF r_rtsecmgr_deviceresources_group { buf=qtn_rtsecmgr_prompt_query_deviceresources; }
-RESOURCE TBUF r_rtsecmgr_network_group { buf=qtn_rtsecmgr_prompt_query_network; }
-RESOURCE TBUF r_rtsecmgr_cost_network { buf=qtn_rtsecmgr_prompt_cost_network; }
-RESOURCE TBUF r_rtsecmgr_group_info { buf=qtn_rtsecmgr_info_about_group; }
-
-
-RESOURCE TBUF r_rtsecmgr_allfiles { buf=qtn_rtsecmgr_prompt_query_allfiles; } //ECapabilityAllFiles
-RESOURCE TBUF r_rtsecmgr_swevent { buf=qtn_rtsecmgr_prompt_query_swevent; } //ECapabilitySwEvent
-RESOURCE TBUF r_rtsecmgr_nwservices { buf=qtn_rtsecmgr_prompt_query_nwservices; } //ECapabilityNetworkServices
-RESOURCE TBUF r_rtsecmgr_localservices { buf=qtn_rtsecmgr_prompt_query_localservices; } //ECapabilityLocalServices
-RESOURCE TBUF r_rtsecmgr_readuserdata { buf=qtn_rtsecmgr_prompt_query_read_userdata; }
-RESOURCE TBUF r_rtsecmgr_writeuserdata { buf=qtn_rtsecmgr_prompt_query_write_userdata; } //ECapabilityWriteUserData
-RESOURCE TBUF r_rtsecmgr_location { buf=qtn_rtsecmgr_prompt_query_location; } //ECapabilityLocation
-RESOURCE TBUF r_rtsecmgr_surrDD { buf=qtn_rtsecmgr_prompt_query_surrdd; } //ECapabilitySurroundingsDD
-RESOURCE TBUF r_rtsecmgr_userenv { buf=qtn_rtsecmgr_prompt_query_userenv; } //ECapabilityUserEnvironment
-
-
-RESOURCE TBUF r_rtsecmgr_more_info_header_userdata { buf=qtn_rtsecmgr_more_info_header_userdata; }
-RESOURCE TBUF r_rtsecmgr_more_info_header_deviceresources { buf=qtn_rtsecmgr_more_info_header_deviceresources; }
-RESOURCE TBUF r_rtsecmgr_more_info_header_network { buf=qtn_rtsecmgr_more_info_header_network; }
-
-RESOURCE TBUF r_rtsecmgr_more_info_commDD { buf=qtn_rtsecmgr_more_info_commdd; } //ECapabilityCommDD
-RESOURCE TBUF r_rtsecmgr_more_info_mmediaDD { buf=qtn_rtsecmgr_more_info_mmediadd; } //ECapabilityMultimediaDD
-RESOURCE TBUF r_rtsecmgr_more_info_readdevicedata { buf=qtn_rtsecmgr_more_info_read_devicedata; } //ECapabilityReadDeviceData
-RESOURCE TBUF r_rtsecmgr_more_info_writedevicedata { buf=qtn_rtsecmgr_more_info_write_devicedata; } //ECapabilityWriteDeviceData
-RESOURCE TBUF r_rtsecmgr_more_info_nwcontrol { buf=qtn_rtsecmgr_more_info_nwcontrol; } //ECapabilityNetworkControl
-RESOURCE TBUF r_rtsecmgr_more_info_swevent { buf=qtn_rtsecmgr_more_info_swevent; } //ECapabilitySwEvent
-RESOURCE TBUF r_rtsecmgr_more_info_nwservices { buf=qtn_rtsecmgr_more_info_nwservices; } //ECapabilityNetworkServices
-RESOURCE TBUF r_rtsecmgr_more_info_localservices { buf=qtn_rtsecmgr_more_info_localservices; } //ECapabilityLocalServices
-RESOURCE TBUF r_rtsecmgr_more_info_read_userdata { buf=qtn_rtsecmgr_more_info_read_userdata; }
-RESOURCE TBUF r_rtsecmgr_more_info_write_userdata { buf=qtn_rtsecmgr_more_info_write_userdata; }
-RESOURCE TBUF r_rtsecmgr_more_info_location { buf=qtn_rtsecmgr_more_info_location; }
-RESOURCE TBUF r_rtsecmgr_more_info_surrDD { buf=qtn_rtsecmgr_more_info_surrdd; } //ECapabilitySurroundingsDD
-RESOURCE TBUF r_rtsecmgr_more_info_userenv { buf=qtn_rtsecmgr_more_info_userenv; }
-
-RESOURCE TBUF r_rtsecmgr_more_info_individual_prompt_udg { buf=qtn_rtsecmgr_more_info_individual_prompt_udg; }
-RESOURCE TBUF r_rtsecmgr_more_info_individual_prompt_drg { buf=qtn_rtsecmgr_more_info_individual_prompt_drg; }
-RESOURCE TBUF r_rtsecmgr_more_info_individual_prompt_ng { buf=qtn_rtsecmgr_more_info_individual_prompt_ng; }
-
-//one-shot yes
-RESOURCE TBUF r_rtsecmgr_prompt_oneshot_yes { buf=qtn_rtsecmgr_prompt_oneshot_yes; }
-//one-shot no
-RESOURCE TBUF r_rtsecmgr_prompt_oneshot_no { buf=qtn_rtsecmgr_prompt_oneshot_no; }
-
-//session yes
-RESOURCE TBUF r_rtsecmgr_prompt_session_yes { buf=qtn_rtsecmgr_prompt_session_yes; }
-//session no
-RESOURCE TBUF r_rtsecmgr_prompt_session_no { buf=qtn_rtsecmgr_prompt_oneshot_no; }
-
-//permanent yes
-RESOURCE TBUF r_rtsecmgr_prompt_perm_yes { buf=qtn_rtsecmgr_prompt_perm_yes; }
-//permanent no
-RESOURCE TBUF r_rtsecmgr_prompt_perm_no { buf=qtn_rtsecmgr_prompt_oneshot_no; }
-
-RESOURCE TBUF r_rtsecmgr_prompt_allow_oneshot { buf=qtn_rtsecmgr_prompt_allow_oneshot; }
-
-RESOURCE TBUF r_rtsecmgr_prompt_allow_session { buf=qtn_rtsecmgr_prompt_session_yes; }
-
-RESOURCE TBUF r_rtsecmgr_prompt_allow_permanent { buf=qtn_rtsecmgr_prompt_perm_yes; }
-
-RESOURCE TBUF r_rtsecmgr_link_more_info { buf=qtn_rtsecmgr_link_more_info; }
-RESOURCE TBUF r_rtsecmgr_item_more_info { buf=qtn_rtsecmgr_item_more_info; }
-RESOURCE TBUF r_rtsecmgr_more_info_query { buf=qtn_rtsecmgr_info_about_group; }
-RESOURCE TBUF r_rtsecmgr_cost_info { buf=qtn_rtsecmgr_prompt_cost_network; }
-RESOURCE TBUF r_default_application_name {buf=qtn_rtsecmgr_prompt_query_application;}
-
-RESOURCE LISTBOX r_setting_app_listbox
- {
- flags = EEikListBoxMultipleSelection;
- }
-
-RESOURCE AVKON_SETTING_PAGE r_rtsecmgr_prompt_setting_dialog
- {
- number = EAknSettingPageNoOrdinalDisplayed;
- label = r_rtsecmgr_prompt_setting_dialog_label;
- softkey_resource = R_AVKON_SOFTKEYS_OK_EMPTY;
- type = EAknSetListBox;
- editor_resource_id= r_setting_app_listbox;
- }
-
-RESOURCE AVKON_LIST_QUERY r_list_query_msgbox
-{
-items =
-{
-AVKON_LIST_QUERY_DLG_LINE
- {
- control = AVKON_LIST_QUERY_CONTROL_WITH_MSGBOX
- {
- message = " ";
- listtype = EAknListQueryWithMsgBox;
- actuallisttype = EAknCtSinglePopupMenuListBox;
- listbox = AVKON_LIST_QUERY_LIST
- {
-
- };
- heading = r_rtsecmgr_prompt_query_header;
- };
- }
-};
-}
-
-RESOURCE DIALOG r_advprompt_message_query {
-flags = EGeneralQueryFlags;
-buttons = R_AVKON_SOFTKEYS_YES_NO;
-items = {
- DLG_LINE {
- type = EAknCtPopupHeadingPane;
- id = EAknMessageQueryHeaderId;
- control = AVKON_HEADING {};
- },
- DLG_LINE {
- type = EAknCtMessageQuery;
- id = EAknMessageQueryContentId;
- control = AVKON_MESSAGE_QUERY { message = " "; };
- }
-};
-}
-
-RESOURCE DIALOG r_moreinfo_message_query {
-flags = EGeneralQueryFlags;
-buttons = R_AVKON_SOFTKEYS_OK_EMPTY;
-items = {
- DLG_LINE {
- type = EAknCtPopupHeadingPane;
- id = EAknMessageQueryHeaderId;
- control = AVKON_HEADING {};
- },
- DLG_LINE {
- type = EAknCtMessageQuery;
- id = EAknMessageQueryContentId;
- control = AVKON_MESSAGE_QUERY { message = " "; };
- }
-};
-}
-
-// End of File
--- a/rtsecuritymanager/rtsecuritymanagerclient/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-#include <platform_paths.hrh>
-PRJ_EXPORTS
-../loc/rtsecmanager.loc MW_LAYER_LOC_EXPORT_PATH(rtsecmanager.loc)
-
-PRJ_MMPFILES
-rtsecmgrclient.mmp
\ No newline at end of file
--- a/rtsecuritymanager/rtsecuritymanagerclient/group/rtsecmgrclient.mmp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET RTSecMgrClient.dll
-TARGETTYPE dll
-UID 0x1000008D 0x2000F848
-
-CAPABILITY CAP_CLIENT_DLL
-VENDORID VID_DEFAULT
-
-VERSION 10.3
-paged
-
-MW_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE .
-USERINCLUDE ../inc/
-USERINCLUDE ../../inc/
-
-SOURCEPATH ../src/
-SOURCE rtsecmgrclient.cpp
-SOURCE rtsecmanager.cpp
-SOURCE rtsecmgrscriptsession.cpp
-SOURCE rtsecmgrtrustinfo.cpp
-
-START RESOURCE ../data/rtsecmanager.rss
- TARGETPATH APP_RESOURCE_DIR
- HEADER
- LANGUAGE_IDS
-END
-
-//MACRO RTSECMGR_TRACE
-
-LIBRARY avkon.lib
-LIBRARY aknskins.lib
-LIBRARY aknskinsrv.lib
-LIBRARY bafl.lib
-LIBRARY cone.lib
-LIBRARY euser.lib
-LIBRARY efsrv.lib
-LIBRARY estor.lib
-LIBRARY eikcore.lib
-LIBRARY gdi.lib
-LIBRARY platformEnv.lib
-LIBRARY flogger.lib
-LIBRARY rtsecmgrutil.lib
-LIBRARY eikcoctl.lib
-LIBRARY commonengine.lib
--- a/rtsecuritymanager/rtsecuritymanagerclient/inc/rtsecmgrclient.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,358 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Security Manager Client Side sub-Session Class
- *
-*/
-
-
-
-
-
-
-#ifndef _R_RSECMGRSESSION_H_
-#define _R_RSECMGRSESSION_H_
-
-#include <e32base.h>
-#include <e32std.h>
-#include <f32file.h>
-
-#include <rtsecmgrcommondef.h>
-#include <rtsecmgrtrustinfo.h>
-#include <rtsecmgrutility.h>
-
-class CTrustInfo;
-class CScript;
-class CEikonEnv;
-
-/**
- *
- * RSecMgrSession represents the client side session handle.
- *
- * This class mainly communicates with the corresponding server side session object.
- * The main reponsibility of this class is to package the input parameters,
- * invoke a server request and unpack the server response appropriately.
- *
- * @lib rtsecmgrclient.lib
- */
-NONSHARABLE_CLASS(RSecMgrSession) : public RSessionBase
- {
-public:
-
- /**
- * Default constructor
- *
- */
- RSecMgrSession();
-
- /**
- * Connects to the runtime security manager server resulting in the creation
- * of peer server side session object
- *
- * @return TInt KErrNone if successful; In case of failure, one of system-wide
- * error codes
- *
- */
- TInt Connect();
-
- /**
- * Gets the version of runtime security manager component
- *
- * @return TVersion version of runtime security manager
- *
- */
- TVersion Version() const;
-
- /**
- * Closes the session with the runtime security manager server
- *
- */
- void Close();
-
- /**
- * Registers the runtime security policy with security manager. This method
- * packs the message parameters required for registering the policy.
- *
- * The various parameters required for SetPolicy operation are :
- *
- * Operation Code : ESetPolicy
- * IPC Argument[0] : Policy Identifier (as inOut parameter)
- * IPC Argument[1] : SecurityPolicy FileHandle
- * IPC Argument[2] : SecurityPolicy FileSession object
- * IPC Argument[3] : none
- *
- * @param aSecPolicy RFile Handle to security policy file
- *
- * @return TPolicyID generated policy identifier if successul; Otherwise one of
- * system wide error codes
- *
- */
- TPolicyID SetPolicy(const RFile& aSecPolicy);
-
- /**
- * Registers the runtime security policy with security manager. This method
- * packs the message parameters required for registering the policy.
- *
- * The various parameters required for SetPolicy operation are :
- *
- * Operation Code : ESetPolicy
- * IPC Argument[0] : Policy Identifier (as inOut parameter)
- * IPC Argument[1] : PolicyBuffer
- * IPC Argument[2] : SecurityPolicy FileSession object
- * IPC Argument[3] : none
- *
- * @param aSecPolicy RFile Handle to security policy file
- *
- * @return TPolicyID generated policy identifier if successul; Otherwise one of
- * system wide error codes
- *
- */
- TPolicyID SetPolicy(const TDesC8& aPolicyBuffer);
-
- /**
- * UnRegisters a registered security policy. Runtimes should call this function
- * to de-register the already registered security policy.
- *
- * The various parameters required for UnSetPolicy operation are :
- *
- * Operation Code : EUnsetPolicy
- * IPC Argument[0] : Policy Identifier to un-register
- * IPC Argument[1] : Successcode (as inOut parameter)
- * IPC Argument[2] : none
- * IPC Argument[3] : none
- *
- * @param aPolicyID TPolicyID Policy identifier previously generated with SetPolicy
- *
- * @return TInt One of sytem wide error codes in case of failure; Otherwise KErrNone
- *
- */
- TInt UnSetPolicy(TPolicyID aPolicyID);
-
- /**
- * Updates an already registered security policy. Runtimes should call this function
- * to update their policy.
- *
- * The various parameters required for UpdatePolicy operation are :
- *
- * Operation Code : EUpdatePolicy
- * IPC Argument[0] : Policy Identifier
- * IPC Argument[1] : SecurityPolicy FileHandle
- * IPC Argument[2] : SecurityPolicy FileSession object
- * IPC Argument[3] : none
- *
- * @param aPolicyID TPolicyID Policy identifier previously generated with SetPolicy
- * @param aSecPolicy RFile Handle to security policy file
- *
- * @see SetPolicy for file session pre-conditions
- *
- * @return TPolicyID One of sytem wide error codes in case of failure; Otherwise the passed policyID
- *
- */
- TPolicyID UpdatePolicy(TPolicyID aPolicyID, const RFile& aSecPolicy);
-
- /**
- * Updates an already registered security policy. Runtimes should call this function
- * to update their policy.
- *
- * The various parameters required for UpdatePolicy operation are :
- *
- * Operation Code : EUpdatePolicy
- * IPC Argument[0] : Policy Identifier
- * IPC Argument[1] : SecurityPolicy FileBuffer
- * IPC Argument[2] : SecurityPolicy FileSession object
- * IPC Argument[3] : none
- *
- * @param aPolicyID TPolicyID Policy identifier previously generated with SetPolicy
- * @param aSecPolicy RFile Handle to security policy file
- *
- * @see SetPolicy for file session pre-conditions
- *
- * @return TPolicyID One of sytem wide error codes in case of failure; Otherwise the passed policyID
- *
- */
- TPolicyID UpdatePolicy(TPolicyID aPolicyID, const TDesC8& aPolicyBuffer);
-
- /**
- * Registers a script/executable. Runtimes should specify the trust information
- * of the script to be registered.
- *
- * Operation Code : ERegisterScript
- * IPC Argument[0] : Policy Identifier
- * IPC Argument[1] : Script Identifier (as inOut Parameter)
- * IPC Argument[2] : none
- * IPC Argument[3] : none
- *
- * @param aPolicyID TPolicyID Runtime's registered policy identifier
- * @param aTrustInfo CTrustInfo a valid instance of CTrustInfo object
- *
- * @return TExecutableID generated executable identifier if successul; Otherwise one of
- * system wide error codes
- *
- */
- TExecutableID RegisterScript(TPolicyID aPolicyID,
- const CTrustInfo& aTrustInfo);
-
- /**
- * Registers a script/executable. Runtimes should specify the trust information
- * of the script to be registered.
- *
- * Operation Code : ERegisterScript
- * IPC Argument[0] : Policy Identifier
- * IPC Argument[1] : Script Identifier (as inOut Parameter)
- * IPC Argument[2] : hash value of script
- * IPC Argument[3] : none
- *
- *
- * @param aPolicyID TPolicyID Runtime's registered policy identifier
- * @param aHashMarker const TDesC& Hash value to identify script when starting script session
- * @param aTrustInfo CTrustInfo a valid instance of CTrustInfo object
- *
- * @return TExecutableID generated executable identifier if successul; Otherwise one of
- * system wide error codes
- *
- */
- TExecutableID RegisterScript(TPolicyID aPolicyID, const TDesC& aHashMarker,
- const CTrustInfo& aTrustInfo);
-
- /**
- * De-Registers a script/executable. Runtimes should pass the previously registered
- * script identifier corresponding to the script to be de-registered.
- *
- * Operation Code : EUnRegisterScript
- * IPC Argument[0] : Script Identifier
- * IPC Argument[1] : Policy Identifier
- * IPC Argument[2] : Success code (as inOut parameter)
- * IPC Argument[3] : none
- *
- *
- * @param aExeID TExecutableID A valid script identifier
- *
- * @return TInt One of sytem wide error codes in case of failure; Otherwise KErrNone
- *
- */
- TInt UnRegisterScript(TExecutableID aExeID, TPolicyID aPolicyID);
-
-
-private:
-
- /**
- * Starts security manager server if it is not already started
- *
- * @return TInt One of sytem wide error codes in case of failure; Otherwise KErrNone
- *
- */
- TInt StartSecManagerServer() const;
-
- /**
- * Returns security manager server location
- *
- * @return TFullName Server location path
- *
- */
- TFullName ServerLocation() const;
- };
-
-/**
- *
- * Represents the client side sub-session handle. This class mainly
- * communicates with the corresponding server side sub-session handle.
- *
- * The main reponsibilities of this class are :
- *
- * - to store the pre-computed capability set of the script associated with the session object
- * - to invoke the prompt handler
- * - to notify the server sub-session object in case of permanent grant change
- *
- * @lib rtsecmgrclient.lib
- */
-NONSHARABLE_CLASS(RSecMgrSubSession) : public RSubSessionBase
- {
-public:
-
- RSecMgrSubSession();
-
- /**
- * Opens client-side sub-session. The script session is modelled as a
- * client side sub-session with a peer server side sub-session.
- *
- * @param aSession RSessionBase handle to client side session
- * @param aScriptInfo CScript the underlying script object
- * @param aPolicyID TPolicyID policy identifier of the runtime security policy associated with the
- * script
- *
- * @return KErrNone if creation of sub-session is successful; In case of failure,
- * one of system-wide error codes
- */
- TInt Open(const RSessionBase& aSession, CScript& aScriptInfo,
- TPolicyID aPolicyID, const TDesC& aHashValue = KNullDesC());
-
- /**
- * Opens client-side sub-session for an un-registered trusted script. The script session is modelled as a
- * client side sub-session with a peer server side sub-session.
- *
- * @param aSession RSessionBase handle to client side session
- * @param aScriptInfo CScript the underlying script object
- * @param aPolicyID TPolicyID policy identifier of the runtime security policy associated with the
- * script
- * @param aTrustInfo CTrustInfo trust data structure
- *
- * @return KErrNone if creation of sub-session is successful; In case of failure,
- * one of system-wide error codes
- */
- TInt Open(const RSessionBase& aServer, CScript& aScriptInfo,
- TPolicyID aPolicyID,const CTrustInfo& aTrustInfo);
-
- /**
- * Closes the script session, inturn closing the sub-session on
- * either side of client and server
- *
- */
- void Close();
-
- /**
- * Updates the blanket permission data of the script
- *
- * @param aScriptID TExecutableID Identifier of the scipt
- * @param aPermGrant TPermGrant Blanket allowed data
- * @param aPermDenied TPermGrant Blanket denied data
- *
- * @return KErrNone if update of blanket permission successul; Otherwise one of
- * system wide error codes
- *
- */
- TInt UpdatePermGrant(TExecutableID aScriptID, TPermGrant aPermGrant,
- TPermGrant aPermDenied) const;
-
- /**
- * Updates the blanket permission data of the script
- *
- * @param aScriptID TExecutableID Identifier of the scipt
- * @param aAllowedProviders RProviderArray Blanket allowed providers
- * @param aDeniedProviders RProviderArray Blanket denied providers
- *
- * @return KErrNone if update of blanket permission successul; Otherwise one of
- * system wide error codes
- *
- */
- TInt UpdatePermGrant(TExecutableID aScriptID, RProviderArray aAllowedProviders, RProviderArray aDeniedProviders) const;
-
-
-private:
-
- //CEikonEnv* iEnv;
-
- RFs iFs;
- };
-
-#endif //_R_RSECMGRSESSION_H_
-
--- a/rtsecuritymanager/rtsecuritymanagerclient/loc/rtsecmanager.loc Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,398 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Localisation file for RuntimeSecurityManager Client
-*
-*/
-
-
-
-
-
-
-
-
-// LOCALISATION STRINGS
-
-//d: Runtime security manager prompt header
-//l: heading_pane_t1
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_header "Security Warning"
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_commdd "Application will need access to communications device. Allow?"
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_powermgmt "Application needs to use Power Management functions. Allow?"
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_mmediadd "Application needs access to camera, video player or audio features. Allow?"
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_read_devicedata "Application needs to read device data. Allow?"
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_write_devicedata "Application needs access to modify device data. Allow?"
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_drm "Application needs to access DRM protected content. Allow?"
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_trustedui "Application needs to create a secure session. Allow?"
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_protserv "Application needs to access protected server. Allow?"
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_diskadmin "Application needs to access, modify or format device memory. Allow?"
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_nwcontrol "Application needs to access and modify network connection. Allow?"
-
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_allfiles "Application needs to access and write to File System. Allow?"
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_swevent "Application needs to capture key presses and joystick movement. Allow?"
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_nwservices "Application needs to use network and send or receive data. Allow?"
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_localservices "Application needs access to local connectivity. Allow?"
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_read_userdata "Application needs to read user data. Allow?"
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_write_userdata "Application needs to write user data.Allow?"
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_location "Application needs to access location information. Allow?"
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_surrdd "Application needs to access a connected device. Allow?"
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_userenv "Application needs to access user environment. Allow?"
-
-//d: Runtime security manager prompt dialog label
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_oneshot_yes "Once"
-
-//d: Runtime security manager prompt dialog label
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_oneshot_no "No"
-
-//d: Runtime security manager prompt dialog label
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_session_yes "For this session"
-
-
-//d: Runtime security manager prompt dialog label
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_perm_yes "Always"
-
-
-//d: Runtime security manager prompt dialog label
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_allow_oneshot "Yes"
-
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_userdata "Application needs to access user related data. Allow?"
-
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_deviceresources "Application needs to access device resources. Allow?"
-
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_network "Application needs to access network. Allow?"
-
-
-//d: Runtime security manager prompt text
-//l: popup_snote_single_text_window/opt1
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_cost_network "Use of the application may involve data transfer charges. For further information contact your service provider."
-
-
-//d: Runtime security manager prompt dialog label
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_item_more_info "More Info"
-
-
-//d: Runtime security manager prompt dialog label
-//l: popup_info_list_pane_t1
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_link_more_info "More Info"
-
-
-//d: Runtime security manager More Info prompt header
-//l: heading_pane_t1
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_more_info_header_userdata "User Data Group"
-
-
-//d: Runtime security manager More Info prompt header
-//l: heading_pane_t1
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_more_info_header_deviceresources "Device Resource Group"
-
-
-//d: Runtime security manager More Info prompt header
-//l: heading_pane_t1
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_more_info_header_network "Network Group"
-
-
-//d: Runtime security manager prompt text
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_more_info_commdd "Communication Resources"
-
-
-//d: Runtime security manager prompt text
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_more_info_mmediadd "Multimedia Recording"
-
-
-//d: Runtime security manager prompt text
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_more_info_read_devicedata "Reading Device Data"
-
-
-//d: Runtime security manager prompt text
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_more_info_write_devicedata "Writing Device Data"
-
-
-//d: Runtime security manager prompt text
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_more_info_nwcontrol "Network Control"
-
-
-//d: Runtime security manager prompt text
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_more_info_swevent "Software Events"
-
-
-//d: Runtime security manager prompt text
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_more_info_nwservices "Network Services"
-
-
-//d: Runtime security manager prompt text
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_more_info_localservices "Local Connectivity"
-
-
-//d: Runtime security manager prompt text
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_more_info_read_userdata "Reading User Data"
-
-
-//d: Runtime security manager prompt text
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_more_info_write_userdata "Writing User Data"
-
-
-//d: Runtime security manager prompt text
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_more_info_location "Location/Landmark"
-
-
-//d: Runtime security manager prompt text
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_more_info_surrdd "Surrounding Devices"
-
-
-//d: Runtime security manager prompt text
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_more_info_userenv "Accessories"
-
-
-//d: Runtime security manager prompt text
-//l: loc_type_pane
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_info_about_group "Application needs following permissions from the group"
-
-//d: Runtime security manager prompt text
-//l: popup_info_list_pane_t1
-//w:
-//r:5.0
-//
-#define qtn_rtsecmgr_prompt_query_application "Application"
-
-
-
-// End of File
--- a/rtsecuritymanager/rtsecuritymanagerclient/src/rtsecmanager.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,328 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines CRTSecManager and CRTSecMgrClientProxy classes
- *
-*/
-
-
-
-
-
-
-#include <coemain.h>
-#include <rtsecmanager.h>
-#include <rtsecmgrscriptsession.h>
-#include "rtsecmgrclient.h"
-#include "rtsecmgrtracer.h"
-
-/**
- * Proxy delegate class for runtime security manager client-side
- * session handle.
- *
- * @lib rtsecmgrclient.lib
- */
-class CRTSecMgrClientProxy : public CBase
- {
-public:
- CRTSecMgrClientProxy()
- {
- }
-
- void ConstructL()
- {
- User::LeaveIfError (iSecSession.Connect ());
- }
-
- static CRTSecMgrClientProxy* NewL()
- {
- CRTSecMgrClientProxy* self = CRTSecMgrClientProxy::NewLC ();
- CleanupStack::Pop (self);
- return self;
- }
-
- static CRTSecMgrClientProxy* NewLC()
- {
- CRTSecMgrClientProxy* self = new (ELeave) CRTSecMgrClientProxy();
- CleanupStack::PushL (self);
- self->ConstructL ();
- return self;
- }
-
- virtual ~CRTSecMgrClientProxy()
- {
- iSecSession.Close ();
- }
-
- RSecMgrSession& Session()
- {
- return iSecSession;
- }
- RSecMgrSession* operator ->()
- {
- return &iSecSession;
- }
-private:
- RSecMgrSession iSecSession;
- };
-
-// ---------------------------------------------------------------------------
-// Defintiion of default private constructor
-// ---------------------------------------------------------------------------
-//
-CRTSecManager::CRTSecManager()
- {
- }
-
-// ---------------------------------------------------------------------------
-// Definition of second phase constructor
-//
-// Instantiates client proxy object, in turn creating a client-side
-// session
-// ---------------------------------------------------------------------------
-//
-void CRTSecManager::ConstructL()
- {
- iClientProxy = CRTSecMgrClientProxy::NewL ();
-
-#ifdef _DEBUG
- if(CCoeEnv::Static())
- {
- CCoeEnv::Static()->DisableExitChecks(ETrue);
- }
-#endif
- }
-
-// ---------------------------------------------------------------------------
-// Definition of second phase constructor
-//
-// Constructs a CRTSecManager instance
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CRTSecManager* CRTSecManager::NewL()
- {
- RTSecMgrCreateTraceFile() ;
- CRTSecManager* self = CRTSecManager::NewLC();
- CleanupStack::Pop(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Definition of second phase constructor
-//
-// Constructs a CRTSecManager instance and leaves the created instance
-// on the cleanupstack
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CRTSecManager* CRTSecManager::NewLC()
- {
- CRTSecManager* self = new (ELeave) CRTSecManager();
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-//
-// Closes client-side session in turn closing the peer server
-// side session
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CRTSecManager::~CRTSecManager()
- {
- delete iClientProxy;
- }
-
-// ---------------------------------------------------------------------------
-// Definition of SetPolicy
-//
-// This method delegates the actual handling to the client-side session
-// handle class
-// ---------------------------------------------------------------------------
-EXPORT_C TPolicyID CRTSecManager::SetPolicy(const RFile& aSecPolicy)
- {
- RTSecMgrTraceFunction("CRTSecManager::SetPolicy(const RFile& aSecPolicy)") ;
- return (*iClientProxy)->SetPolicy(aSecPolicy);
- }
-
-// ---------------------------------------------------------------------------
-// Definition of SetPolicy
-//
-// This method delegates the actual handling to the client-side session
-// handle class
-// ---------------------------------------------------------------------------
-EXPORT_C TPolicyID CRTSecManager::SetPolicy(const TDesC8& aPolicyBuffer)
- {
- RTSecMgrTraceFunction("CRTSecManager::SetPolicy(const TDesC8& aPolicyBuffer)") ;
- return (*iClientProxy)->SetPolicy(aPolicyBuffer);
- }
-
-// ---------------------------------------------------------------------------
-// Definition of UnSetPolicy
-//
-// This method delegates the actual handling to the client-side session
-// handle class
-// ---------------------------------------------------------------------------
-EXPORT_C TInt CRTSecManager::UnSetPolicy(TPolicyID aPolicyID)
- {
- RTSecMgrTraceFunction("CRTSecManager::UnSetPolicy(TPolicyID aPolicyID)") ;
- return (*iClientProxy)->UnSetPolicy(aPolicyID);
- }
-
-// ---------------------------------------------------------------------------
-// Definition of UpdatePolicy
-//
-// This method delegates the actual handling to the client-side session
-// handle class
-// ---------------------------------------------------------------------------
-EXPORT_C TPolicyID CRTSecManager::UpdatePolicy(TPolicyID aPolicyID,const RFile& aSecPolicy)
- {
- RTSecMgrTraceFunction("CRTSecManager::UpdatePolicy(TPolicyID aPolicyID,const RFile& aSecPolicy)") ;
- return (*iClientProxy)->UpdatePolicy(aPolicyID,aSecPolicy);
- }
-
-// ---------------------------------------------------------------------------
-// Definition of UpdatePolicy
-//
-// This method delegates the actual handling to the client-side session
-// handle class
-// ---------------------------------------------------------------------------
-EXPORT_C TPolicyID CRTSecManager::UpdatePolicy(TPolicyID aPolicyID,const TDesC8& aPolicyBuffer)
- {
- RTSecMgrTraceFunction("CRTSecManager::UpdatePolicy(TPolicyID aPolicyID,const TDesC8& aPolicyBuffer)") ;
- return (*iClientProxy)->UpdatePolicy(aPolicyID,aPolicyBuffer);
- }
-
-// ---------------------------------------------------------------------------
-// Definition of RegisterScript
-//
-// This method delegates the actual handling to the client-side session
-// handle class
-// ---------------------------------------------------------------------------
-EXPORT_C TExecutableID CRTSecManager::RegisterScript(TPolicyID aPolicyID, const CTrustInfo& aTrustInfo)
- {
- RTSecMgrTraceFunction("CRTSecManager::RegisterScript(TPolicyID aPolicyID, const CTrustInfo& aTrustInfo)") ;
- return (*iClientProxy)->RegisterScript(aPolicyID,aTrustInfo);
- }
-
-// ---------------------------------------------------------------------------
-// Definition of RegisterScript with script having hash value
-//
-// This method delegates the actual handling to the client-side session
-// handle class
-// ---------------------------------------------------------------------------
-EXPORT_C TExecutableID CRTSecManager::RegisterScript(TPolicyID aPolicyID, const TDesC& aHashMarker, const CTrustInfo& aTrustInfo)
- {
- RTSecMgrTraceFunction("CRTSecManager::RegisterScript(TPolicyID aPolicyID, const TDesC& aHashMarker, const CTrustInfo& aTrustInfo)") ;
- return (*iClientProxy)->RegisterScript(aPolicyID,aHashMarker,aTrustInfo);
- }
-
-// ---------------------------------------------------------------------------
-// Definition of UnRegisterScript
-//
-// This method delegates the actual handling to the client-side session
-// handle class
-// ---------------------------------------------------------------------------
-EXPORT_C TInt CRTSecManager::UnRegisterScript(TExecutableID aExeID, TPolicyID aPolicyID)
- {
- RTSecMgrTraceFunction("CRTSecManager::UnRegisterScript(TExecutableID aExeID, TPolicyID aPolicyID)") ;
- return (*iClientProxy)->UnRegisterScript(aExeID,aPolicyID);
- }
-
-// ---------------------------------------------------------------------------
-// Definition of GetScriptSession
-//
-// This method starts a client-side sub-session handle, modelling script
-// session. This in turn creates a server-side peer sub-session handle
-// ---------------------------------------------------------------------------
-/*EXPORT_C CRTSecMgrScriptSession* CRTSecManager::GetScriptSession(TPolicyID aPolicyID,
- TExecutableID aExecID,
- MSecMgrPromptHandler* aPromptHdlr,const TDesC& aHashValue)
- {
- if(aExecID<=KAnonymousScript)
- return NULL;
-
- CRTSecMgrScriptSession* scriptSession = CRTSecMgrScriptSession::NewLC(aPromptHdlr);
-
- if(KErrNone==scriptSession->Open(iClientProxy->Session(),aPolicyID,aExecID))
- {
- CleanupStack::Pop(scriptSession);
- return scriptSession;
- }
-
- if(scriptSession)
- CleanupStack::PopAndDestroy(scriptSession);
-
- return NULL;
- }*/
-
-
-// ---------------------------------------------------------------------------
-// Definition of GetScriptSession
-//
-// This method starts a client-side sub-session handle, modelling script
-// session. This in turn creates a server-side peer sub-session handle
-// ---------------------------------------------------------------------------
-EXPORT_C CRTSecMgrScriptSession* CRTSecManager::GetScriptSessionL(TPolicyID aPolicyID,
- const CTrustInfo& aTrustInfo,
- MSecMgrPromptHandler* aPromptHdlr)
- {
- RTSecMgrTraceFunction("CRTSecManager::GetScriptSession(TPolicyID aPolicyID,\
- const CTrustInfo& aTrustInfo,\
- MSecMgrPromptHandler* aPromptHdlr)") ;
- CRTSecMgrScriptSession* scriptSession = CRTSecMgrScriptSession::NewLC(aPromptHdlr);
-
- if(KErrNone==scriptSession->Open(iClientProxy->Session(),aPolicyID,KAnonymousScript,aTrustInfo))
- {
- CleanupStack::Pop(scriptSession);
- return scriptSession;
- }
-
- if(scriptSession)
- CleanupStack::PopAndDestroy(scriptSession);
-
- return NULL;
- }
-
-// ---------------------------------------------------------------------------
-// Definition of GetScriptSession
-//
-// This method starts a client-side sub-session handle, modelling script
-// session. This in turn creates a server-side peer sub-session handle
-// ---------------------------------------------------------------------------
-EXPORT_C CRTSecMgrScriptSession* CRTSecManager::GetScriptSessionL(TPolicyID aPolicyID,
- TExecutableID aExecID,
- MSecMgrPromptHandler* aPromptHdlr,
- const TDesC& aHashValue)
- {
- RTSecMgrTraceFunction("CRTSecManager::GetScriptSession(TPolicyID aPolicyID,\
- TExecutableID aExecID,MSecMgrPromptHandler* aPromptHdlr,\
- const TDesC& aHashValue)") ;
- if(aExecID<=KAnonymousScript)
- return NULL;
-
- CRTSecMgrScriptSession* scriptSession = CRTSecMgrScriptSession::NewLC(aPromptHdlr);
-
- if(KErrNone==scriptSession->Open(iClientProxy->Session(),aPolicyID,aExecID,aHashValue))
- {
- CleanupStack::Pop(scriptSession);
- return scriptSession;
- }
-
- if(scriptSession)
- CleanupStack::PopAndDestroy(scriptSession);
-
- return NULL;
- }
-
--- a/rtsecuritymanager/rtsecuritymanagerclient/src/rtsecmgrclient.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,661 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines security manager client side session and sub-session classes
- *
-*/
-
-
-
-
-
-
-
-#include <coemain.h>
-#include <bautils.h>
-#include <s32file.h>
-#include <eikenv.h>
-#include <rtsecmgrscript.h>
-#include "rtsecmgrmsg.h"
-#include "rtsecmgrdef.h"
-#include "rtsecmgrclient.h"
-#include "rtsecmgrtracer.h"
-
-#ifdef _DEBUG
-_LIT(KServerStartFailed, "Security manager server starting failed");
-#endif
-
-// ---------------------------------------------------------------------------
-// Defintiion of default private constructor
-// ---------------------------------------------------------------------------
-//
-RSecMgrSession::RSecMgrSession()
- {
- }
-
-// ---------------------------------------------------------------------------
-// Connects to the runtime security manager server
-//
-// This function attemtps to kick start security manager server if
-// it is not running already. The number of attempts is currently 2.
-// The number of message slot is defaulted to 4.
-// ---------------------------------------------------------------------------
-//
-/*TInt RSecMgrSession::Connect()
- {
- RTSecMgrTraceFunction("RSecMgrSession::Connect()") ;
- TInt retry(KSecSrvClientTryCount); // Try this twice
- TInt err(KErrNone);
- while (retry>KErrNone)
- {
- // Try to create a Server session
- err = CreateSession ( KSecServerProcessName, Version (),
- KDefaultMessageSlots);
-
- if ( err != KErrNotFound && err != KErrServerTerminated)
- {
- // KErrNone or unrecoverable error
- if ( err != KErrNone)
- {
-#ifdef _DEBUG
- RDebug::Print(KServerStartFailed);
-#endif
- }
- retry = 0;
- }
- else
- {
- // Return code was KErrNotFound or KErrServerTerminated.
- // Try to start a new security manager server instance
- err = StartSecManagerServer ();
- if ( err != KErrNone && err != KErrAlreadyExists)
- {
- // Unrecoverable error
-#ifdef _DEBUG
- RDebug::Print(KServerStartFailed);
-#endif
- retry = 0;
- }
- }
-
- retry--;
- }
- return (err);
- }*/
-
-TInt RSecMgrSession::Connect()
- {
- RTSecMgrTraceFunction("RSecMgrSession::Connect()") ;
- TInt err(KErrNone);
- // Try to create a Server session
- err = CreateSession ( KSecServerProcessName, Version (),
- KDefaultMessageSlots);
-
- if ( err != KErrNotFound && err != KErrServerTerminated)
- {
- // KErrNone or unrecoverable error
- if ( err != KErrNone)
- {
-#ifdef _DEBUG
- RDebug::Print(KServerStartFailed);
-#endif
- }
-
- }
- else
- {
- // Return code was KErrNotFound or KErrServerTerminated.
- // Try to start a new security manager server instance
- TInt retry(KSecSrvClientTryCount);
- while(retry > 0)
- {
- err = StartSecManagerServer ();
- if ( err != KErrNone && err != KErrAlreadyExists)
- {
- // Unrecoverable error
- #ifdef _DEBUG
- RDebug::Print(KServerStartFailed);
- #endif
- retry = 0;
- }
- else
- {
- err = CreateSession ( KSecServerProcessName, Version (),
- KDefaultMessageSlots);
- if(err != KErrNotFound && err != KErrServerTerminated)
- {
- if ( err != KErrNone)
- {
- #ifdef _DEBUG
- RDebug::Print(KServerStartFailed);
- #endif
- }
- retry = 0;
- }
- }
- retry--;
- }
- }
- return (err);
- }
-
-// ---------------------------------------------------------------------------
-// Starts runtime security manager server
-//
-// ---------------------------------------------------------------------------
-//
-TInt RSecMgrSession::StartSecManagerServer() const
- {
- RTSecMgrTraceFunction("RSecMgrSession::StartSecManagerServer()") ;
- RProcess server;
- const TUidType serverUid( KNullUid, KSecMgrServerUid2, KNullUid);
- TInt err = server.Create ( ServerLocation (),
- KNullDesC,
- serverUid,
- EOwnerProcess);
-
- // Return error code if we the process couldn't be created
- if ( KErrNone == err)
- {
- // Rendezvous is used to detect server start
- TRequestStatus status;
- server.Rendezvous ( status);
- if ( status != KRequestPending)
- {
- // Log Abort Error
-#ifdef _DEBUG
- RDebug::Print(KServerStartFailed);
-#endif
- server.Kill ( 0); // Abort startup
- }
- else
- {
- server.Resume (); // Logon OK - start the server
- }
- User::WaitForRequest (status); // Wait for start or death
-
- if ( server.ExitType ()== EExitPanic)
- {
-#ifdef _DEBUG
- RDebug::Print(KServerStartFailed);
-#endif
- err = KErrGeneral;
- }
- else
- {
- err = status.Int ();
- }
-
- // We can close the handle now
- server.Close ();
- }
- return err;
- }
-
-// ---------------------------------------------------------------------------
-// Returns runtime security manager server location
-//
-// ---------------------------------------------------------------------------
-//
-TFullName RSecMgrSession::ServerLocation() const
- {
- TFullName fullPathAndName;
- fullPathAndName.Append ( KSecMgrServerExeName);
- return fullPathAndName;
- }
-
-// ---------------------------------------------------------------------------
-// Returns the earliest version number of the security manager server
-//
-// ---------------------------------------------------------------------------
-//
-TVersion RSecMgrSession::Version(void) const
- {
- return (TVersion(KRTSecMgrServMajorVersionNumber,KRTSecMgrServMinorVersionNumber,KRTSecMgrServBuildVersionNumber));
- }
-
-// ---------------------------------------------------------------------------
-// A request to close the session.
-//
-// It makes a call to the server, which deletes the object container and object index
-// for this session, before calling Close() on the base class.
-// ---------------------------------------------------------------------------
-//
-void RSecMgrSession::Close()
- {
- if(iHandle)
- {
- SendReceive (ESecServCloseSession);
- RSessionBase::Close();
- }
- }
-
-//
-// Registers the runtime security policy with security manager. This method
-// packs the message parameters required for registering the policy.
-//
-// The various parameters required for SetPolicy operation are :
-//
-// Operation Code : ESetPolicy
-// IPC Argument[0] : Policy Identifier (as inOut parameter)
-// IPC Argument[1] : SecurityPolicy FileHandle
-// IPC Argument[2] : SecurityPolicy FileSession object
-// IPC Argument[3] : none
-//
-TInt RSecMgrSession::SetPolicy(const RFile& aSecPolicy)
- {
- TPckgBuf<TInt> pckgPId;
- TIpcArgs args(&pckgPId);
-
- TInt ret = aSecPolicy.TransferToServer (args, EMsgArgOne,
- EMsgArgTwo);
-
- if ( KErrNone==ret)
- {
- ret = SendReceive (ESetPolicy, args);
-
- if ( KErrNone==ret)
- return pckgPId (); // Extract the policyID returned from the server.
- }
-
- return ret;
- }
-
-TPolicyID RSecMgrSession::SetPolicy(const TDesC8& aPolicyBuffer)
- {
- TInt ret(ErrInvalidParameters);
- if(0==aPolicyBuffer.CompareC(KNullDesC8))
- {
- return ret;
- }
-
- TFileName tempDirPath;
- TFileName tempPath;
-
- {
- RFs fileSession;
- if ( KErrNone==fileSession.Connect ())
- {
- fileSession.PrivatePath (tempDirPath);
- BaflUtils::EnsurePathExistsL (fileSession, tempDirPath);
-
- RFile secPolicyFile;
- secPolicyFile.Temp (fileSession, tempDirPath, tempPath, EFileWrite);
- secPolicyFile.Write(aPolicyBuffer);
- secPolicyFile.Close();
- }
- fileSession.Close();
- }
-
- RFs fileSession;
- if ( KErrNone==fileSession.Connect ())
- {
- CleanupClosePushL (fileSession);
- if ( KErrNone==fileSession.ShareProtected ())
- {
- RFile secPolicyFile;
-
- if(KErrNone == secPolicyFile.Open(fileSession,tempPath,EFileRead))
- {
- ret = SetPolicy (secPolicyFile);
-
- secPolicyFile.Close();
-
- }
-
- fileSession.Delete (tempPath);
- }
-
- CleanupStack::PopAndDestroy (&fileSession);//fileSession
- }
-
- fileSession.Close();
-
- return ret;
- }
-
-//
-// UnRegisters a registered security policy. Runtimes should call this function
-// to de-register the already registered security policy.
-//
-// The various parameters required for UnSetPolicy operation are :
-//
-// Operation Code : EUnsetPolicy
-// IPC Argument[0] : Policy Identifier to un-register
-// IPC Argument[1] : Successcode (as inOut parameter)
-// IPC Argument[2] : none
-// IPC Argument[3] : none
-//
-TInt RSecMgrSession::UnSetPolicy(TPolicyID aPolicyID)
- {
- if ( aPolicyID<=KErrNone)
- return ErrInvalidPolicyID;
-
- TPckgBuf<TInt> sucess(KErrNone);
- TIpcArgs args(aPolicyID, &sucess);
-
- TInt ret = SendReceive (EUnsetPolicy, args);
-
- if ( KErrNone==ret)
- return sucess (); // Extract the value returned from the server.
-
- return ret;
- }
-
-//
-// Updates an already registered security policy. Runtimes should call this function
-// to update their policy.
-//
-// The various parameters required for UpdatePolicy operation are :
-//
-// Operation Code : EUpdatePolicy
-// IPC Argument[0] : Policy Identifier
-// IPC Argument[1] : SecurityPolicy FileHandle
-// IPC Argument[2] : SecurityPolicy FileSession object
-// IPC Argument[3] : none
-//
-TPolicyID RSecMgrSession::UpdatePolicy(TPolicyID aPolicyID,
- const RFile& aSecPolicy)
- {
- if ( aPolicyID<=KErrNone)
- {
- return ErrInvalidPolicyID;
- }
-
- TPckgBuf<TInt> pckgPID(aPolicyID);
- TIpcArgs args(&pckgPID);
-
- TInt ret = aSecPolicy.TransferToServer (args, EMsgArgOne,
- EMsgArgTwo);
-
- if ( KErrNone==ret)
- {
- ret = SendReceive (EUpdatePolicy, args);
-
- if ( KErrNone==ret)
- ret = pckgPID ();
- }
-
- return ret;
- }
-
-TPolicyID RSecMgrSession::UpdatePolicy(TPolicyID aPolicyID,
- const TDesC8& aPolicyBuffer)
- {
- TInt ret(ErrInvalidParameters);
- if(0==aPolicyBuffer.CompareC(KNullDesC8))
- {
- return ret;
- }
-
- TFileName tempDirPath;
- TFileName tempPath;
-
- {
- RFs fileSession;
- if ( KErrNone==fileSession.Connect ())
- {
- fileSession.PrivatePath (tempDirPath);
- BaflUtils::EnsurePathExistsL (fileSession, tempDirPath);
-
- RFile secPolicyFile;
- secPolicyFile.Temp (fileSession, tempDirPath, tempPath, EFileWrite);
- secPolicyFile.Write(aPolicyBuffer);
- secPolicyFile.Close();
- }
- fileSession.Close();
- }
-
- RFs fileSession;
- if ( KErrNone==fileSession.Connect ())
- {
- CleanupClosePushL (fileSession);
- if ( KErrNone==fileSession.ShareProtected ())
- {
- RFile secPolicyFile;
-
- if(KErrNone == secPolicyFile.Open(fileSession,tempPath,EFileRead))
- {
-
- ret = UpdatePolicy (aPolicyID, secPolicyFile);
-
- secPolicyFile.Close();
-
- }
-
- fileSession.Delete (tempPath);
- }
-
- CleanupStack::PopAndDestroy (&fileSession);//fileSession
- }
-
- fileSession.Close();
-
- return ret;
- }
-
-//
-// Registers a script/executable. Runtimes should specify the trust information
-// of the script to be registered.
-//
-// Operation Code : ERegisterScript
-// IPC Argument[0] : Policy Identifier
-// IPC Argument[1] : Script Identifier (as inOut Parameter)
-// IPC Argument[2] : none
-// IPC Argument[3] : none
-//
-TExecutableID RSecMgrSession::RegisterScript(TPolicyID aPolicyID, const CTrustInfo& /*aTrustInfo*/)
- {
- if ( aPolicyID<KErrNone)
- return ErrInvalidPolicyID;
-
- TPckgBuf<TInt> scriptID(KAnonymousScript);
- TIpcArgs args(aPolicyID, &scriptID);
-
- TInt result = SendReceive (ERegisterScript, args);
-
- if ( KErrNone==result)
- result=scriptID ();
-
- return result;
- }
-
-//
-// Registers a script/executable. Runtimes should specify the trust information
-// of the script to be registered.
-//
-// Operation Code : ERegisterScript
-// IPC Argument[0] : Policy Identifier
-// IPC Argument[1] : Script Identifier (as inOut Parameter)
-// IPC Argument[2] : Hash value of script
-// IPC Argument[3] : none
-//
-TExecutableID RSecMgrSession::RegisterScript(TPolicyID aPolicyID,
- const TDesC& aHashMarker, const CTrustInfo& /*aTrustInfo*/)
- {
- __UHEAP_MARK;
-
- if(!(aHashMarker.Compare(KNullDesC)))
- return ErrInvalidParameters;
- CRTSecMgrRegisterScriptMsg* scriptMsg = CRTSecMgrRegisterScriptMsg::NewL (
- aPolicyID, aHashMarker);
-
- HBufC8* dataDes(NULL);
- TRAPD(ret, dataDes = scriptMsg->PackMsgL());
- if ( dataDes)
- {
- TExecutableID scriptID(KAnonymousScript);
- TPckgBuf<TInt> scriptIDBuf(scriptID);
- TIpcArgs args(dataDes, &scriptIDBuf);
-
- ret = SendReceive (ERegisterScriptWithHash, args);
- delete dataDes;
-
- if(KErrNone==ret)
- ret = scriptIDBuf();
- }
-
- delete scriptMsg;
-
- __UHEAP_MARKEND;
-
- return ret;
- }
-
-//
-// De-Registers a script/executable. Runtimes should pass the previously registered
-// script identifier corresponding to the script to be de-registered.
-//
-// Operation Code : EUnRegisterScript
-// IPC Argument[0] : Script Identifier
-// IPC Argument[1] : Policy Identifier
-// IPC Argument[2] : Success code (as inOut parameter)
-// IPC Argument[3] : none
-//
-TInt RSecMgrSession::UnRegisterScript(TExecutableID aExeID, TPolicyID aPolicyID)
- {
- if (aExeID<=KErrNone)
- return ErrInvalidScriptID;
- if (aPolicyID<=KErrNone)
- return ErrInvalidPolicyID;
-
- TPckgBuf<TInt> errCode(KErrNone);
- TIpcArgs args(aExeID, aPolicyID, &errCode);
-
- TInt result = SendReceive (EUnRegisterScript, args);
-
- if ( KErrNone==result)
- return errCode ();
-
- return result;
- }
-
-RSecMgrSubSession::RSecMgrSubSession()
- {
-
- }
-//
-// Opens client-side sub-session for a registered script. The script session is modelled as a
-// client side sub-session with a peer server side sub-session.
-//
-TInt RSecMgrSubSession::Open(const RSessionBase& aSession,
- CScript& aScriptInfo, TPolicyID aPolicyID, const TDesC& aHashValue)
- {
- TIpcArgs args(aScriptInfo.ScriptID (), aPolicyID);
-
- TInt errCode(KErrNone);
- errCode = iFs.Connect();
- if(errCode == KErrNone)
- {
- if ( KAnonymousScript==aScriptInfo.ScriptID ())
- errCode = CreateSubSession (aSession, EGetTrustedUnRegScriptSession,
- args);
- else
- errCode = CreateSubSession (aSession, EGetScriptSession, args);
-
- if ( errCode==KErrNone)
- {
- // Retrieve the RFs and RFile handles from the server
- TPckgBuf<TInt> fh; // sub-session (RFile) handle
- TIpcArgs args(&fh);
-
- RFile file;
- CleanupClosePushL(file);
-
- if ( KErrNone==errCode)
- {
- iFs.ShareProtected ();
-
- TFileName tempDirPath;
- TFileName tempPath;
-
- iFs.PrivatePath (tempDirPath);
- BaflUtils::EnsurePathExistsL (iFs, tempDirPath);
-
- errCode = file.Temp (iFs, tempDirPath, tempPath, EFileWrite);
-
- if ( KErrNone==errCode)
- {
- file.TransferToServer (args, EMsgArgOne, EMsgArgTwo);
- errCode = SendReceive (EGetScriptFile, args);
-
- if ( KErrNone==errCode)
- {
- RFileReadStream rfs(file);
- CleanupClosePushL(rfs);
- aScriptInfo.InternalizeL (rfs);
- TBufC<KMaxPath> hashValue(aScriptInfo.Hash());
- if(0 != hashValue.Compare(KNullDesC))
- {
- if(!aScriptInfo.HashMatch(aHashValue))
- {
- //hash check failed
- errCode = KErrNotFound;
- }
- }
-
- CleanupStack::PopAndDestroy(&rfs);
- }
- }
- iFs.Delete (tempPath);
- }
-
- CleanupStack::PopAndDestroy(&file);
- }
- }
- return errCode;
- }
-
-//
-// Opens client-side sub-session for an un-registered trusted script. The script session is modelled as a
-// client side sub-session with a peer server side sub-session.
-//
-TInt RSecMgrSubSession::Open(const RSessionBase& aSession,
- CScript& aScriptInfo, TPolicyID aPolicyID, const CTrustInfo& /*aTrustInfo*/)
- {
- return Open (aSession, aScriptInfo, aPolicyID);
- }
-
-//
-// Updates the blanket permission data of the script
-//
-TInt RSecMgrSubSession::UpdatePermGrant(TExecutableID aScriptID,
- TPermGrant aPermGrant, TPermGrant aPermDenied) const
- {
- TIpcArgs args(aScriptID, (TInt)aPermGrant, (TInt)aPermDenied);
- return SendReceive (EUpdatePermanentGrant, args);
- }
-
-//
-//Updates the blanket permission data of the script
-//
-TInt RSecMgrSubSession::UpdatePermGrant(TExecutableID aScriptID,
- RProviderArray aAllowedProviders, RProviderArray aDeniedProviders) const
- {
- CRTPermGrantMessage* msg = CRTPermGrantMessage::NewL(aAllowedProviders , aDeniedProviders , aScriptID);
- HBufC8* buffer = msg->PackMessageL();
- TIpcArgs args(buffer);
- TInt ret = SendReceive (EUpdatePermanentGrantProvider, args);
- delete buffer;
- delete msg;
- return ret;
- }
-//
-// Close the subsession.
-//
-void RSecMgrSubSession::Close()
- {
- iFs.Close();
- RSubSessionBase::CloseSubSession (ECloseScriptSession);
- }
-
--- a/rtsecuritymanager/rtsecuritymanagerclient/src/rtsecmgrscriptsession.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1487 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines runtime security manager script session class
- *
-*/
-
-
-
-
-
-
-#include <aknlistquerydialog.h>
-#include <AknQueryDialog.h>
-#include <aknmessagequerycontrol.h>
-#include <aknmessagequerydialog.h>
-#include <badesca.h>
-#include <bautils.h>
-#include <coemain.h>
-#include <data_caging_path_literals.hrh>
-#include <eikenv.h>
-#include <eikfrlb.h>
-#include <eikfrlbd.h>
-#include <pathinfo.h>
-#include <StringLoader.h>
-
-#include <rtsecmanager.h>
-#include <rtsecmgrscriptsession.h>
-#include <rtsecmgrscript.h>
-#include "rtsecmgrclient.h"
-#include "rtsecmgrdef.h"
-
-#define FIRST_RESOURCE_ID(x) ((x)+2);
-
-//security manager resource file literal
-_LIT(KSecMgrResourceFile, "RTSecManager.RSC");
-
-//constant for descriptor array granularity
-const TInt KDescArrayInit = 6;
-const TInt KMaxBuf=255;
-
-
-//typedef of selection index array
-typedef RArray<TInt> RSelIdxArray;
-
-//static resource IDs for capability text display in default prompt
-static const TInt CAPABILITY_RESOURCEID[KCapabilitySize] =
- {
- 0, //ECapabilityTCB (0)
- R_RTSECMGR_COMMDD, //ECapabilityCommDD (1)
- R_RTSECMGR_POWERMGMT, //ECapabilityPowerMgmt (2)
- R_RTSECMGR_MMEDIADD, //ECapabilityMultimediaDD (3)
- R_RTSECMGR_READDEVICEDATA, //ECapabilityReadDeviceData (4)
- R_RTSECMGR_WRITEDEVICEDATA, //ECapabilityWriteDeviceData (5)
- R_RTSECMGR_DRM, //ECapabilityDRM (6)
- R_RTSECMGR_TRUSTEDUI, //ECapabilityTrustedUI (7)
- R_RTSECMGR_PROTSERV, //ECapabilityProtServ (8)
- R_RTSECMGR_DISKADMIN, //ECapabilityDiskAdmin (9)
- R_RTSECMGR_NWCONTROL, //ECapabilityNetworkControl (10)
- R_RTSECMGR_ALLFILES, //ECapabilityAllFiles (11)
- R_RTSECMGR_SWEVENT, //ECapabilitySwEvent (12)
- R_RTSECMGR_NWSERVICES, //ECapabilityNetworkServices (13)
- R_RTSECMGR_LOCALSERVICES, //ECapabilityLocalServices (14)
- R_RTSECMGR_READUSERDATA, //ECapabilityReadUserData (15)
- R_RTSECMGR_WRITEUSERDATA, //ECapabilityWriteUserData (16)
- R_RTSECMGR_LOCATION, //ECapabilityLocation (17)
- R_RTSECMGR_SURRDD, //ECapabilitySurroundingsDD (18)
- R_RTSECMGR_USERENV //ECapabilityUserEnvironment (19)
- };
-
-static const TInt MOREINFO_CAP_RESOURCEID[KCapabilitySize] =
- {
- 0, //ECapabilityTCB (0)
- R_RTSECMGR_MORE_INFO_COMMDD, //ECapabilityCommDD (1)
- R_RTSECMGR_POWERMGMT, //ECapabilityPowerMgmt (2)
- R_RTSECMGR_MORE_INFO_MMEDIADD, //ECapabilityMultimediaDD (3)
- R_RTSECMGR_MORE_INFO_READDEVICEDATA, //ECapabilityReadDeviceData (4)
- R_RTSECMGR_MORE_INFO_WRITEDEVICEDATA, //ECapabilityWriteDeviceData (5)
- 0, //ECapabilityDRM (6)
- 0, //ECapabilityTrustedUI (7)
- 0, //ECapabilityProtServ (8)
- 0, //ECapabilityDiskAdmin (9)
- R_RTSECMGR_MORE_INFO_NWCONTROL, //ECapabilityNetworkControl (10)
- 0, //ECapabilityAllFiles (11)
- R_RTSECMGR_MORE_INFO_SWEVENT, //ECapabilitySwEvent (12)
- R_RTSECMGR_MORE_INFO_NWSERVICES, //ECapabilityNetworkServices (13)
- R_RTSECMGR_MORE_INFO_LOCALSERVICES, //ECapabilityLocalServices (14)
- R_RTSECMGR_MORE_INFO_READ_USERDATA, //ECapabilityReadUserData
- R_RTSECMGR_MORE_INFO_WRITE_USERDATA,//ECapabilityWriteUserData
- R_RTSECMGR_MORE_INFO_LOCATION,//ECapabilityLocation
- R_RTSECMGR_MORE_INFO_SURRDD, //ECapabilitySurroundingsDD
- R_RTSECMGR_MORE_INFO_USERENV //ECapabilityUserEnvironment
- };
-
-struct TCallbackParam
-{
- CRTSecMgrScriptSession* iRTSecMgrScriptSession;
- CPromptData *iPromptData;
-};
-
-/**
- * Proxy delegate class for runtime security manager client-side
- * sub-session handle.
- *
- * @lib rtsecmgrclient.lib
- */
-class CRTSecMgrSubSessionProxy : public CBase
- {
-public:
-
- static CRTSecMgrSubSessionProxy* NewL()
- {
- CRTSecMgrSubSessionProxy* self = CRTSecMgrSubSessionProxy::NewLC ();
- CleanupStack::Pop (self);
- return self;
- }
-
- static CRTSecMgrSubSessionProxy* NewLC()
- {
- CRTSecMgrSubSessionProxy* self = new (ELeave) CRTSecMgrSubSessionProxy();
- CleanupStack::PushL (self);
- self->ConstructL ();
- return self;
- }
-
- virtual ~CRTSecMgrSubSessionProxy()
- {
- iSubSession.Close ();
- }
-
- inline RSecMgrSubSession& SubSession()
- {
- return iSubSession;
- }
- RSecMgrSubSession* operator ->()
- {
- return &iSubSession;
- }
-private:
- inline CRTSecMgrSubSessionProxy()
- {
- }
- void ConstructL()
- {
- }
-
- RSecMgrSubSession iSubSession;
- };
-
-// ---------------------------------------------------------------------------
-// Defintiion of default private constructor
-// ---------------------------------------------------------------------------
-//
-CRTSecMgrScriptSession::CRTSecMgrScriptSession(MSecMgrPromptHandler* aPromptHdlr) :
- iPromptHdlr(aPromptHdlr), iUIPromptOption(RTPROMPTUI_DEFAULT), isCustomPrompt(EFalse)
- {
- iSessionData = NULL;
- }
-
-// ---------------------------------------------------------------------------
-// Defintiion of second-phase constructor
-// ---------------------------------------------------------------------------
-//
-CRTSecMgrScriptSession* CRTSecMgrScriptSession::NewL(
- MSecMgrPromptHandler* aPromptHdlr)
- {
- CRTSecMgrScriptSession* self = CRTSecMgrScriptSession::NewLC (aPromptHdlr);
- CleanupStack::Pop (self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Defintiion of second-phase constructor
-// ---------------------------------------------------------------------------
-//
-CRTSecMgrScriptSession* CRTSecMgrScriptSession::NewLC(
- MSecMgrPromptHandler* aPromptHdlr)
- {
- CRTSecMgrScriptSession* self = new (ELeave) CRTSecMgrScriptSession(aPromptHdlr);
- CleanupStack::PushL (self);
- self->ConstructL ();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Defintiion of second-phase constructor
-// This method instantiates client side sub-session proxy instance.
-// In addition, this method loads the security manager resource
-// ---------------------------------------------------------------------------
-//
-void CRTSecMgrScriptSession::ConstructL()
- {
- iCoeEnv = CCoeEnv::Static ();
- if ( !iCoeEnv && !iPromptHdlr)
- User::Leave (KErrNotSupported);
-
- iSubSessionProxy = CRTSecMgrSubSessionProxy::NewL ();
-
- if ( !iPromptHdlr)
- {
- iPromptHdlr = this; //default prompt handler
- isCustomPrompt = ETrue ;
- }
- _permanentInfo = new(ELeave) TPermanentInfo;
- _sessionData.sessionInfo = new(ELeave) TSessionInfo;
- _sessionData.sessionInfo->AllowedCaps = KDefaultNullBit;
- _sessionData.sessionInfo->DeniedCaps = KDefaultNullBit;
- _sessionData.sessionInfo->AllowedProviders.Reset();
- _sessionData.sessionInfo->DeniedProviders.Reset();
- _permanentInfo->iAllowedBits = KDefaultNullBit;
- _permanentInfo->iDeniedBits = KDefaultNullBit;
- _permanentInfo->iAllowedProviders.Reset();
- _permanentInfo->iDeniedProviders.Reset();
- iResourceOffsetArray.Reset();
- }
-
-//---------------------------------------------------------------------------------
-//Method to add the resource files to CONE environment.
-//---------------------------------------------------------------------------------
-void CRTSecMgrScriptSession::AddResourceFiles()
- {
- if(iCoeEnv)
- {
- CDesCArray* diskList = new (ELeave) CDesCArrayFlat(KDescArrayInit);
- CleanupStack::PushL (diskList);
-
- BaflUtils::GetDiskListL (iCoeEnv->FsSession (), *diskList);
- for (TInt idx(0); idx<diskList->Count ();++idx)
- {
- TInt intDrive;
- TChar ch = ((*diskList)[idx])[0];
- RFs::CharToDrive (ch, intDrive);
- TDriveUnit curDrive(intDrive);
-
- TFileName resFile(curDrive.Name ());
- resFile.Append (KDC_APP_RESOURCE_DIR);
- resFile.Append (KSecMgrResourceFile);
- BaflUtils::NearestLanguageFile (iCoeEnv->FsSession (), resFile);
- if ( BaflUtils::FileExists (iCoeEnv->FsSession (), resFile))
- {
- TRAPD (err, iResourceOffsetArray.Append(iCoeEnv->AddResourceFileL (resFile)));
- User::LeaveIfError (err);
- break;
- }
- }
- CleanupStack::PopAndDestroy (diskList);
- }
- }
-
-//---------------------------------------------------------------------------------------
-//Method to add provider resource files into the CONE environment
-//Returns the first resource identifier which has the prompt string
-//---------------------------------------------------------------------------------------
-TInt CRTSecMgrScriptSession::AddProviderResourceFile(TFileName aResourceFileName)
- {
- RResourceFile resFile;
- TInt resID(KErrNone);
- if(iCoeEnv)
- {
- CDesCArray* diskList = new (ELeave) CDesCArrayFlat(KDescArrayInit);
- CleanupStack::PushL (diskList);
-
- BaflUtils::GetDiskListL (iCoeEnv->FsSession (), *diskList);
- for (TInt idx(0); idx<diskList->Count ();++idx)
- {
- TInt intDrive;
- TChar ch = ((*diskList)[idx])[0];
- RFs::CharToDrive (ch, intDrive);
- TDriveUnit curDrive(intDrive);
-
- TFileName resFileName(curDrive.Name ());
- resFileName.Append (KDC_APP_RESOURCE_DIR);
- resFileName.Append (aResourceFileName);
- BaflUtils::NearestLanguageFile (iCoeEnv->FsSession (), resFileName);
- if ( BaflUtils::FileExists (iCoeEnv->FsSession (), resFileName))
- {
- TRAPD(err,resFile.OpenL(iCoeEnv->FsSession(),resFileName));
- if(err == KErrNone)
- {
- resFile.ConfirmSignatureL(0);
- resID = FIRST_RESOURCE_ID(resFile.Offset());
- resFile.Close();
- iResourceOffsetArray.Append(iCoeEnv->AddResourceFileL (resFileName));
- break;
- }
- }
- }
- CleanupStack::PopAndDestroy(diskList);
- }
- return resID;
- }
-
-//--------------------------------------------------------------------------------------------
-//Close the resource files previously added
-//--------------------------------------------------------------------------------------------
-void CRTSecMgrScriptSession::CloseResourceFiles()
- {
- if (iCoeEnv)
- {
- for(TInt i(0); i < iResourceOffsetArray.Count(); i++)
- iCoeEnv->DeleteResourceFile (iResourceOffsetArray[i]);
- iResourceOffsetArray.Reset();
- }
- }
-// ---------------------------------------------------------------------------
-// Destructor
-// Closes script sub-session handle
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CRTSecMgrScriptSession::~CRTSecMgrScriptSession()
- {
- _permanentInfo->iAllowedProviders.Close();
- _permanentInfo->iDeniedProviders.Close();
- _sessionData.sessionInfo->AllowedProviders.Close();
- _sessionData.sessionInfo->DeniedProviders.Close();
- delete _permanentInfo;
- delete _sessionData.sessionInfo;
- if(iSessionData)
- {
- delete iSessionData;
- iSessionData = NULL;
- }
- Close ();
- }
-
-// ---------------------------------------------------------------------------
-// Opens script session, in turn opening client-side sub-session handle
-// ---------------------------------------------------------------------------
-//
-TInt CRTSecMgrScriptSession::Open(const RSessionBase& aParentSession,
- TPolicyID aPolicyID, TExecutableID aExecID)
- {
- if (iScript)
- {
- delete iScript;
- iScript = NULL;
- }
-
- iScript = CScript::NewL (aPolicyID, aExecID);
-
- TInt ret((*iSubSessionProxy)->Open (aParentSession, *iScript, aPolicyID));
- if ( KErrNone==ret)
- {
- _permanentInfo->iAllowedBits = iScript->PermGranted ();
- _permanentInfo->iDeniedBits = iScript->PermDenied ();
- iScript->PermGranted(_permanentInfo->iAllowedProviders);
- iScript->PermDenied(_permanentInfo->iDeniedProviders);
- }
-
- return ret;
- }
-
-// ---------------------------------------------------------------------------
-// Opens script session, in turn opening client-side sub-session handle
-// ---------------------------------------------------------------------------
-//
-TInt CRTSecMgrScriptSession::Open(const RSessionBase& aParentSession,
- TPolicyID aPolicyID, TExecutableID aExecID, const TDesC& aHashValue)
- {
- if (iScript)
- {
- delete iScript;
- iScript = NULL;
- }
-
- iScript = CScript::NewL (aPolicyID, aExecID);
- TInt ret((*iSubSessionProxy)->Open (aParentSession, *iScript, aPolicyID, aHashValue));
- if ( KErrNone==ret)
- {
- _permanentInfo->iAllowedBits = iScript->PermGranted ();
- _permanentInfo->iDeniedBits = iScript->PermDenied ();
- iScript->PermGranted(_permanentInfo->iAllowedProviders);
- iScript->PermDenied(_permanentInfo->iDeniedProviders);
- }
-
- return ret;
- }
-
-// ---------------------------------------------------------------------------
-// Opens script session, in turn opening client-side sub-session handle
-// ---------------------------------------------------------------------------
-//
-TInt CRTSecMgrScriptSession::Open(const RSessionBase& aParentSession,
- TPolicyID aPolicyID, TExecutableID aExecID, const CTrustInfo& aTrustInfo)
- {
- if (iScript)
- {
- delete iScript;
- iScript = NULL;
- }
-
- iScript = CScript::NewL (aPolicyID, aExecID);
- TInt ret((*iSubSessionProxy)->Open (aParentSession, *iScript, aPolicyID, aTrustInfo));
-
- if ( KErrNone==ret)
- {
- _permanentInfo->iAllowedBits = iScript->PermGranted ();
- _permanentInfo->iDeniedBits = iScript->PermDenied ();
- iScript->PermGranted(_permanentInfo->iAllowedProviders);
- iScript->PermDenied(_permanentInfo->iDeniedProviders);
- }
-
- return ret;
- }
-
-// ---------------------------------------------------------------------------
-// Performs access permission check, returns unmatched capabilities if any
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CRTSecMgrScriptSession::IsAllowed(const RCapabilityArray& aCapabilitiesToCheck,RCapabilityArray& aUnMatchedCapabilities)
- {
- RPromptDataList promptDataList;
- TCapabilityBitSet unMatchedCapBits(KDefaultNullBit);
- TInt ret(IsAllowed(aCapabilitiesToCheck,promptDataList,unMatchedCapBits));
-
- promptDataList.ResetAndDestroy();
-
- if(KDefaultNullBit!=unMatchedCapBits)
- BuildCapsL(unMatchedCapBits,aUnMatchedCapabilities);
- return ret;
- }
-
-// ---------------------------------------------------------------------------
-// Performs access permission check
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CRTSecMgrScriptSession::IsAllowed(const RCapabilityArray& aCapabilitiesToCheck)
- {
- RPromptDataList promptDataList;
- TCapabilityBitSet unMatchedCapBits(KDefaultNullBit);
- TInt ret(IsAllowed(aCapabilitiesToCheck,promptDataList,unMatchedCapBits));
- promptDataList.ResetAndDestroy();
- return ret;
- }
-
-// ---------------------------------------------------------------------------
-// Private implementation to perform access perform access check.
-// This function is the real task master
-// ---------------------------------------------------------------------------
-//
-TInt CRTSecMgrScriptSession::IsAllowed(
- const RCapabilityArray& aCapabilitiesToCheck,
- RPromptDataList& aPromptDataList, TCapabilityBitSet& aUnMatchedCaps)
- {
- if ( aCapabilitiesToCheck.Count ()<=0)
- {
- return EAccessOk; //if no capabilities are required, safely return
- }
- if ( aCapabilitiesToCheck.Find(ECapabilityTCB) != KErrNotFound)
- return EAccessNok;
- aPromptDataList.Reset ();
-
- TCapabilityBitSet capToCheck(KDefaultNullBit);
- TCapabilityBitSet finalCaps(KDefaultNullBit);
- for (TInt i(0); i!=aCapabilitiesToCheck.Count (); ++i)
- AddCapability (capToCheck, aCapabilitiesToCheck[i]);
-
- capToCheck &= ~(iScript->PermissionSet().UnconditionalCaps());
-
- /* Check if a;ready denied. No point in going forward */
- if(capToCheck & _sessionData.sessionInfo->DeniedCaps || capToCheck & _permanentInfo->iDeniedBits)
- return EAccessNok;
-
- TCapabilityBitSet allowedCaps(KDefaultNullBit);
- allowedCaps |= _sessionData.sessionInfo->AllowedCaps; //for session allowed
- allowedCaps &= ~_permanentInfo->iDeniedBits;
- allowedCaps |= _permanentInfo->iAllowedBits; //for permanently allowed
-
- //In case if all the capabilities required by the service provider
- //are allowed without prompting
- TCapabilityBitSet original_capToCheck = capToCheck;
- capToCheck &= allowedCaps;
- if(original_capToCheck == capToCheck)
- return EAccessOk;
-
- capToCheck ^= original_capToCheck ;
- TBool isPermGrantModified(EFalse);
-
- RPermissions perms = iScript->PermissionSet().Permissions ();
-
- for (TInt i(0); (i!=perms.Count ())&& capToCheck ;++i)
- {
- CPermission* perm = CPermission::NewLC(*perms[i]);
-
- TCapabilityBitSet tempCapToCheck(KDefaultNullBit);
-
- RCapabilityArray capabilities;
- perm->Capabilitilites (capabilities);
-
- for (TInt capsIdx(0); capsIdx!=capabilities.Count();++capsIdx)
- {
- TCapability cap(capabilities[capsIdx]);
- tempCapToCheck |= LOWBIT << cap;
- }
- capToCheck &= tempCapToCheck;
- if ( capToCheck )
- {
- if ( capToCheck & _permanentInfo->iDeniedBits) //check if permanently disabled
- {
- allowedCaps &= ~tempCapToCheck; //just in case...
- _sessionData.sessionInfo->DeniedCaps &= ~tempCapToCheck; //just in case...
- }
- else
- if ( capToCheck & _sessionData.sessionInfo->DeniedCaps) //not necessary to do this check...
- {
- allowedCaps &= ~tempCapToCheck; //just in case...
- }
- else
- if ((capToCheck & allowedCaps) != capToCheck) //check if it's already allowed
- {
- //capToCheck &= allowedCaps;
- TCapabilityBitSet temp = capToCheck;
- temp &= allowedCaps;
- temp ^= capToCheck;
- capToCheck = temp;
- if ( (perm->Condition() & RTUserPrompt_OneShot) ||(perm->Condition() & RTUserPrompt_Session) ||((perm->Condition() & RTUserPrompt_Permanent) &&
- (iScript->ScriptID()!=KAnonymousScript)))
- {
- if ( !(_sessionData.sessionInfo->AllowedCaps & capToCheck))
- {
- //check if it's denied for this session
- if ( !(_sessionData.sessionInfo->DeniedCaps & capToCheck))
- {
- CPromptData* promptData = CPromptData::NewL();//should write NewL Function
- promptData->SetPermissions(*perm);
- promptData->SetUserSelection(perm->Default ()) ;
- aPromptDataList.Append (promptData);
- }
-
- }
- else
- {
- allowedCaps |= tempCapToCheck; //enable in allowed
- }
- }
- }
- }
- capToCheck ^= original_capToCheck;
- capabilities.Close ();
- CleanupStack::PopAndDestroy(perm);
- }//for loop
-
- if ( aPromptDataList.Count ()>0)
- {
- //TInt ret = EPromptOk;
- TInt ret = iPromptHdlr->Prompt (aPromptDataList , iScript->ScriptID());
-
- //Iterate over promptDataList and check the user selection
- RCapabilityArray capArray;
- for (TInt i(0); i!=aPromptDataList.Count ();++i)
- {
- CPermission *perm = (aPromptDataList[i])->iPermission;
- perm->Capabilitilites(capArray);
- TCapabilityBitSet tempCapToCheck(KDefaultEnableBit);
- TCapabilityBitSet userSelectedCaps = 0;
- for(TInt idx(0); idx != capArray.Count(); idx++)
- userSelectedCaps |= tempCapToCheck <<capArray[idx];
-
- capArray.Close();
- HandleGrantChosen (aPromptDataList[i], userSelectedCaps, allowedCaps, isPermGrantModified);
- finalCaps |= allowedCaps ;
- }
-
- if ( EPromptOk!=ret)
- {
- return EAccessNok;
- }
-
- if ( (iScript->ScriptID()!=KAnonymousScript)&&(isPermGrantModified))
- UpdatePermGrant ();//commit perm grant change
-
- finalCaps |= _permanentInfo->iAllowedBits ;
-
- if((finalCaps & NetworkServices_CAP) && isCustomPrompt)
- PromptCostL() ;
-
- finalCaps |= _sessionData.sessionInfo->AllowedCaps ;
-
-
- if ( KErrNone == ((finalCaps & original_capToCheck) ^ original_capToCheck))
- return EAccessOk;
- else
- {
- aUnMatchedCaps = (finalCaps & original_capToCheck) ^ original_capToCheck;
- return EAccessNok;
- }
- }
- else
- {
- return EAccessNok;
- }
-
- }
-
-// ---------------------------------------------------------------------------
-// Default prompt handler implementation
-// ---------------------------------------------------------------------------
-//
-TInt CRTSecMgrScriptSession::Prompt(RPromptDataList& aPromptDataList,TExecutableID /*aExecID*/)
- {
- AddResourceFiles();
- TInt ret(EPromptOk);
- TInt promptCount = aPromptDataList.Count ();
-
- for (TInt i(0); i<promptCount; ++i)
- {
- ret = Prompt (aPromptDataList[i]);
- if ( EPromptOk!=ret)
- {
- for(TInt inLoopCnt(promptCount-1); inLoopCnt>=i; --inLoopCnt)
- {
- TUserPromptOption selected = aPromptDataList[inLoopCnt]->iUserSelection;
- if(!(selected == RTUserPrompt_Denied || selected == RTUserPrompt_SessionDenied || selected == RTUserPrompt_PermDenied))
- {
- delete aPromptDataList[inLoopCnt];
- aPromptDataList.Remove(inLoopCnt);
- }
- }
- break;
- }
-
-
- }
- CloseResourceFiles();
- return ret;
- }
-
-// ---------------------------------------------------------------------------
-// Private default prompt handler implementation
-// ---------------------------------------------------------------------------
-//
-TInt CRTSecMgrScriptSession::Prompt(CPromptData* aPromptData)
- {
- if ( RTPROMPTUI_DEFAULT!=iUIPromptOption)
- return PromptAdvanced (aPromptData);
-
- TInt ret(EPromptOk);
- TInt stackResCnt(0);
-
- CDesCArray* settingPageText = new(ELeave) CDesCArrayFlat(KDescArrayInit);
- CleanupStack::PushL(settingPageText);
-
- HBufC* oneShotOptionText= NULL;
- HBufC* oneShotDenyText= NULL;
- HBufC* sessionOptionText= NULL;
- HBufC* sessionDenyOption= NULL;
- HBufC* permGrantOptionText= NULL;
- HBufC* permDenyOption= NULL;
-
- TInt selIndex(PROMPT_SELIDX_ZERO);
- RSelIdxArray selIdxArray;
- CleanupClosePushL (selIdxArray);
-
- if ( (RTUserPrompt_Permanent & (aPromptData->iPermission->Default ())) || (RTUserPrompt_Permanent & (aPromptData->iPermission->Condition ())))
- {
- permGrantOptionText = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_PROMPT_PERM_YES);
- settingPageText->AppendL (permGrantOptionText->Des ());
- ++stackResCnt;
-
- selIdxArray.Append (R_RTSECMGR_PROMPT_PERM_YES);
-
- if ( RTUserPrompt_Permanent&aPromptData->iPermission->Default ())
- selIndex = selIdxArray.Count ()-1;
-
- /* permDenyOption = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_PROMPT_PERM_NO);
- ++stackResCnt;
- */
- }
-
- if ( (RTUserPrompt_Session & (aPromptData->iPermission->Default ())) || (RTUserPrompt_Session & (aPromptData->iPermission->Condition ())))
- {
- sessionOptionText = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_PROMPT_SESSION_YES);
- settingPageText->AppendL (sessionOptionText->Des());
- ++stackResCnt;
-
- selIdxArray.Append (R_RTSECMGR_PROMPT_SESSION_YES);
-
- TUserPromptOption def = aPromptData->iPermission->Default ();
- if ( RTUserPrompt_Session&def)
- selIndex = selIdxArray.Count()-1;
-
- /* if ( !permDenyOption)
- {
- sessionDenyOption = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_PROMPT_SESSION_NO);
- ++stackResCnt;
- }*/
- }
-
- if ( (RTUserPrompt_OneShot & aPromptData->iPermission->Default ()) || (RTUserPrompt_OneShot & aPromptData->iPermission->Condition ()))
- {
- oneShotOptionText = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_PROMPT_ONESHOT_YES);
- settingPageText->AppendL (oneShotOptionText->Des ());
- ++stackResCnt;
-
- selIdxArray.Append (R_RTSECMGR_PROMPT_ONESHOT_YES);
-
- TUserPromptOption def = aPromptData->iPermission->Default ();
- if ( RTUserPrompt_OneShot&def)
- selIndex = selIdxArray.Count()-1;
- /* if ( !permDenyOption && !sessionDenyOption)
- {
- oneShotDenyText = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_PROMPT_ONESHOT_NO);
- ++stackResCnt;
- }*/
- }
-
-
- if ( (RTUserPrompt_OneShot & (aPromptData->iPermission->Default ())) || (RTUserPrompt_OneShot & (aPromptData->iPermission->Condition ())))
- {
- oneShotDenyText = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_PROMPT_ONESHOT_NO);
- ++stackResCnt;
-
- }
-
- if ( (RTUserPrompt_Session & (aPromptData->iPermission->Default ())) || (RTUserPrompt_Session & (aPromptData->iPermission->Condition ())))
- {
- if ( !oneShotDenyText)
- {
- sessionDenyOption = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_PROMPT_SESSION_NO);
- ++stackResCnt;
- }
- }
-
- if ( (RTUserPrompt_Permanent & aPromptData->iPermission->Default ()) || (RTUserPrompt_Permanent & aPromptData->iPermission->Condition ()))
- {
- if ( !oneShotDenyText && !sessionDenyOption)
- {
- permDenyOption = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_PROMPT_PERM_NO);
- ++stackResCnt;
- }
- }
-
- if ( oneShotDenyText)
- {
- settingPageText->AppendL (oneShotDenyText->Des ());
- selIdxArray.Append (R_RTSECMGR_PROMPT_ONESHOT_NO);
- }
-
- if ( sessionDenyOption)
- {
- settingPageText->AppendL (sessionDenyOption->Des ());
- selIdxArray.Append (R_RTSECMGR_PROMPT_SESSION_NO);
- }
-
- if ( permDenyOption)
- {
- settingPageText->AppendL (permDenyOption->Des ());
- selIdxArray.Append (R_RTSECMGR_PROMPT_PERM_NO);
- }
-
- HBufC* body(NULL);
- HBufC *moreInfo(NULL);
-
- if(((aPromptData->iPermission->PermName()).Compare(KNullDesC)) != KErrNone)
- {
- if(((aPromptData->iPermission->PermName()).Compare(_L("UserDataGroup"))) == KErrNone )
- {
- body = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_USERDATA_GROUP);
- ++stackResCnt;
- }
- else if(((aPromptData->iPermission->PermName()).Compare(_L("DeviceResourcesGroup"))) == KErrNone )
- {
- body = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_DEVICERESOURCES_GROUP);
- ++stackResCnt;
- }
- else if(((aPromptData->iPermission->PermName()).Compare(_L("NetworkGroup"))) == KErrNone )
- {
- body = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_NETWORK_GROUP);
- ++stackResCnt;
- }
- }
- else if ( (aPromptData->iPermission->Capability()<KCapabilitySize) && (aPromptData->iPermission->Capability()>ECapabilityTCB))
- {
- TInt textResID(CAPABILITY_RESOURCEID[aPromptData->iPermission->Capability()]);
- if(KErrNone!=textResID)
- {
- body = iCoeEnv->AllocReadResourceLC (textResID);
- ++stackResCnt;
- }
- }
-
- if(((aPromptData->iPermission->PermName()).Compare(KNullDesC)) != KErrNone)
- {
- moreInfo = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_ITEM_MORE_INFO);
- ++stackResCnt;
- if( moreInfo )
- {
- settingPageText->AppendL (moreInfo->Des ());
- selIdxArray.Append (R_RTSECMGR_ITEM_MORE_INFO);
- }
- }
-
- CAknListQueryDialog* queryDialog = new (ELeave) CAknListQueryDialog(&selIndex);
- CleanupStack::PushL (queryDialog);
- ++stackResCnt;
-
- queryDialog->PrepareLC (R_LIST_QUERY_MSGBOX);
-
- queryDialog->SetItemTextArray (settingPageText);
- queryDialog->SetOwnershipType(ELbmDoesNotOwnItemArray);
-
- CAknMessageQueryControl* msgBox = queryDialog->MessageBox ();
- if ( msgBox && body )
- msgBox->SetMessageTextL (body);
-
- CAknPopupHeadingPane* heading = queryDialog->QueryHeading ();
- HBufC* headerText(NULL);
- if ( heading)
- {
- heading->SetLayout (CAknPopupHeadingPane::EMessageQueryHeadingPane);
- headerText = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_PROMPT_QUERY_HEADER);
- heading->SetTextL (headerText->Des ());
- ++stackResCnt;
- }
-
- if(moreInfo)
- {
- TListItemProperties moreInfoProperties;
- moreInfoProperties.SetUnderlined(ETrue);
- queryDialog->ListControl()->Listbox()->ItemDrawer()->SetPropertiesL(settingPageText->Count()-1,moreInfoProperties);
- }
-
- CleanupStack::Pop (stackResCnt);
-
- queryDialog->ListBox()->SetCurrentItemIndex(selIndex);
-
- TInt queryOk = queryDialog->RunLD ();
- if ( queryOk == EAknSoftkeyOk)
- {
- if ( (selIndex>=0) && (selIndex<selIdxArray.Count()))
- {
- if ( R_RTSECMGR_PROMPT_ONESHOT_YES==selIdxArray[selIndex])
- aPromptData->iUserSelection = RTUserPrompt_OneShot;
-
- else if ( R_RTSECMGR_PROMPT_ONESHOT_NO==selIdxArray[selIndex])
- {
- aPromptData->iUserSelection = RTUserPrompt_Denied;
- ret = EPromptCancel;
- }
-
- else if ( R_RTSECMGR_PROMPT_SESSION_YES==selIdxArray[selIndex])
- aPromptData->iUserSelection = RTUserPrompt_Session;
-
- else if ( R_RTSECMGR_PROMPT_SESSION_NO==selIdxArray[selIndex])
- {
- aPromptData->iUserSelection = RTUserPrompt_SessionDenied;
- ret = EPromptCancel;
- }
-
- else if ( R_RTSECMGR_PROMPT_PERM_YES==selIdxArray[selIndex])
- aPromptData->iUserSelection = RTUserPrompt_Permanent;
-
- else if ( R_RTSECMGR_PROMPT_PERM_NO==selIdxArray[selIndex])
- {
- aPromptData->iUserSelection = RTUserPrompt_PermDenied;
- ret = EPromptCancel;
- }
-
- else if ( R_RTSECMGR_ITEM_MORE_INFO == selIdxArray[selIndex])
- {
- ret = MoreInfoL(*aPromptData);
- }
- }
- }
- else
- {
- ret = EPromptCancel;
- }
-
- if ( headerText)
- delete headerText;
-
- if ( body)
- delete body;
-
- if ( oneShotOptionText)
- delete oneShotOptionText;
-
- if ( sessionOptionText)
- delete sessionOptionText;
-
- if ( permGrantOptionText)
- delete permGrantOptionText;
-
- if ( oneShotDenyText)
- delete oneShotDenyText;
-
- if ( sessionDenyOption)
- delete sessionDenyOption;
-
- if ( permDenyOption)
- delete permDenyOption;
-
- if (moreInfo)
- delete moreInfo;
-
- CleanupStack::PopAndDestroy ();//settingPageText
- CleanupStack::PopAndDestroy ();//selIdxArray
- return ret;
- }
-
-
-
-// ---------------------------------------------------------------------------
-// Private default prompt handler implementation for advanced prompt UI
-// ---------------------------------------------------------------------------
-//
-TInt CRTSecMgrScriptSession::PromptAdvanced(CPromptData* aPromptData)
- {
- TInt ret(EPromptOk);
- TInt selIndex(PROMPT_SELIDX_ZERO); //R_RTSECMGR_PROMPT_ONESHOT_YES
- TInt stackResCnt(0);
-
- HBufC* msgText(NULL);
- HBufC* moreInfo(NULL);
- TBuf<256> LinkText;
-
- if(((aPromptData->iPermission->PermName()).Compare(KNullDesC)) != KErrNone)
- {
- if(((aPromptData->iPermission->PermName()).Compare(_L("UserDataGroup"))) == KErrNone )
- {
- msgText = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_USERDATA_GROUP);
- LinkText.Append(msgText->Des());
- ++stackResCnt;
- }
- else if(((aPromptData->iPermission->PermName()).Compare(_L("DeviceResourcesGroup"))) == KErrNone )
- {
- msgText = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_DEVICERESOURCES_GROUP);
- LinkText.Append(msgText->Des());
- ++stackResCnt;
- }
- else if(((aPromptData->iPermission->PermName()).Compare(_L("NetworkGroup"))) == KErrNone )
- {
- msgText = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_NETWORK_GROUP);
- LinkText.Append(msgText->Des());
- ++stackResCnt;
- }
- }
- else if ((aPromptData->iPermission->Capability()<KCapabilitySize) && (aPromptData->iPermission->Capability()>ECapabilityTCB))
- {
- TInt textResID(CAPABILITY_RESOURCEID[aPromptData->iPermission->Capability()]);
- if(KErrNone!=textResID)
- {
- msgText = iCoeEnv->AllocReadResourceLC (textResID);
- ++stackResCnt;
- LinkText.Append(msgText->Des());
- }
- }
-
- if(((aPromptData->iPermission->PermName()).Compare(KNullDesC)) != KErrNone)
- {
- moreInfo = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_LINK_MORE_INFO);
- ++stackResCnt;
-
- LinkText.Append(_L("\n\n"));
- LinkText.Append(_L("<AknMessageQuery Link>"));
- LinkText.Append(moreInfo->Des());
- LinkText.Append(_L("</AknMessageQuery Link>"));
- }
-
- CAknMessageQueryDialog* queryDialog = new(ELeave) CAknMessageQueryDialog();
- CleanupStack::PushL (queryDialog);
- ++stackResCnt;
-
- queryDialog->PrepareLC (R_ADVPROMPT_MESSAGE_QUERY);
-
- queryDialog->SetMessageTextL(LinkText);
- HBufC* headerText(NULL);
- CAknPopupHeadingPane* heading = queryDialog->QueryHeading ();
- if ( heading)
- {
- heading->SetLayout (CAknPopupHeadingPane::EMessageQueryHeadingPane);
- headerText = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_PROMPT_QUERY_HEADER);
- heading->SetTextL (headerText->Des ());
- ++stackResCnt;
- }
-
- if(moreInfo)
- {
- TCallBack callback;
- TCallbackParam callbackParam;
-
- callbackParam.iPromptData = aPromptData;
- callbackParam.iRTSecMgrScriptSession = this;
- callback.iFunction = LinkCallback;
- callback.iPtr = &callbackParam;
-
- queryDialog->SetLink(callback);
- }
-
- CleanupStack::Pop (stackResCnt);
- TInt queryOk = queryDialog->RunLD ();
- if ( queryOk == EAknSoftkeyYes)
- {
- if ( selIndex==0)
- {
- if ( aPromptData->iPermission->Default ()& RTUserPrompt_OneShot)
- {
- aPromptData->SetUserSelection(RTUserPrompt_OneShot);
- }
- else
- if ( aPromptData->iPermission->Default ()& RTUserPrompt_Session)
- {
- aPromptData->SetUserSelection(RTUserPrompt_Session);
- }
- else
- if ( aPromptData->iPermission->Default ()& RTUserPrompt_Permanent)
- {
- aPromptData->SetUserSelection(RTUserPrompt_Permanent);
- }
- }
- else
- {
- aPromptData->SetUserSelection(RTUserPrompt_Denied);
- }
- }
- else
- {
- ret = EPromptCancel;
- }
-
- if ( headerText)
- delete headerText;
-
- if ( msgText)
- delete msgText;
-
- if ( moreInfo)
- delete moreInfo;
-
- return ret;
- }
-// ---------------------------------------------------------------------------
-// Pops up a new query dialog when the user clicks on more info.
-// ---------------------------------------------------------------------------
-//
-TInt CRTSecMgrScriptSession::MoreInfoL(CPromptData& aPromptData)
- {
- TInt ret(EPromptOk);
- TInt stackResCnt = 0;
- HBufC *msgText = NULL;
- HBufC *body = NULL;
- TBuf<KMaxBuf> message;
- RCapabilityArray Caps;
-
- msgText = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_MORE_INFO_QUERY);
- ++stackResCnt;
- message.Append(msgText->Des());
-
- aPromptData.Permission()->Capabilitilites(Caps);
- for(TInt i = 0; i != Caps.Count(); ++i)
- {
- TInt textResID(MOREINFO_CAP_RESOURCEID[Caps[i]]);
- body = iCoeEnv->AllocReadResourceLC (textResID);
- message.Append(_L("\n"));
- message.Append(body->Des());
- if(body)
- CleanupStack :: PopAndDestroy(body);
- }
- Caps.Close();
-
- CAknMessageQueryDialog* queryDialog = new(ELeave) CAknMessageQueryDialog();
- CleanupStack::PushL (queryDialog);
- ++stackResCnt;
-
- queryDialog->PrepareLC (R_MOREINFO_MESSAGE_QUERY);
-
- queryDialog->SetMessageTextL(message);
-
- HBufC* headerText(NULL);
- CAknPopupHeadingPane* heading = queryDialog->QueryHeading ();
- if ( heading)
- {
- heading->SetLayout (CAknPopupHeadingPane::EMessageQueryHeadingPane);
-
- if(((aPromptData.iPermission->PermName()).Compare(_L("UserDataGroup"))) == KErrNone )
- {
- headerText = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_MORE_INFO_HEADER_USERDATA);
- }
- else if(((aPromptData.iPermission->PermName()).Compare(_L("DeviceResourcesGroup"))) == KErrNone )
- {
- headerText = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_MORE_INFO_HEADER_DEVICERESOURCES);
- }
- else if(((aPromptData.iPermission->PermName()).Compare(_L("NetworkGroup"))) == KErrNone )
- {
- headerText = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_MORE_INFO_HEADER_NETWORK);
- }
-
- // headerText = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_PROMPT_QUERY_HEADER);
- heading->SetTextL (headerText->Des ());
- ++stackResCnt;
- }
-
- CleanupStack::Pop(stackResCnt);
-
- TInt queryOk = queryDialog->RunLD ();
-
- if(headerText)
- delete headerText;
-
- if(msgText)
- delete msgText;
-
- if(iUIPromptOption!=RTPROMPTUI_ADVANCED)
- ret = Prompt(&aPromptData);
-
- return ret;
- }
-
-
-// ---------------------------------------------------------------------------
-// Pops up a new query dialog when the user clicks on more info.
-// ---------------------------------------------------------------------------
-//
-void CRTSecMgrScriptSession::PromptCostL()
- {
- AddResourceFiles();
- TInt stackResCnt = 0;
- HBufC *msgText = NULL;
- TBuf<KMaxBuf> message;
- RCapabilityArray Caps;
-
-
- msgText = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_COST_INFO);
- ++stackResCnt;
- message.Append(msgText->Des());
-
- CAknMessageQueryDialog* queryDialog = new(ELeave) CAknMessageQueryDialog();
- CleanupStack::PushL (queryDialog);
- ++stackResCnt;
-
- queryDialog->PrepareLC (R_MOREINFO_MESSAGE_QUERY);
-
- queryDialog->SetMessageTextL(message);
-
- HBufC* headerText(NULL);
- CAknPopupHeadingPane* heading = queryDialog->QueryHeading ();
- if ( heading)
- {
- heading->SetLayout (CAknPopupHeadingPane::EMessageQueryHeadingPane);
- headerText = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_PROMPT_QUERY_HEADER);
- heading->SetTextL (headerText->Des ());
- ++stackResCnt;
- }
-
- CleanupStack::Pop(stackResCnt);
-
- TInt queryOk = queryDialog->RunLD ();
-
- if(headerText)
- delete headerText;
-
- if(msgText)
- delete msgText;
- CloseResourceFiles();
- }
-// ---------------------------------------------------------------------------
-// Handles the prompt option chosen by the user through default prompt UI
-// ---------------------------------------------------------------------------
-//
-void CRTSecMgrScriptSession::HandleGrantChosen(CPromptData* aPromptData,
- TCapabilityBitSet aCapBitSet, TCapabilityBitSet& aAllowedCaps,
- TBool& aIsPermGrantModified)
- {
- TUserPromptOption optionChosen = aPromptData->iUserSelection;
-
- if ( RTUserPrompt_OneShot==optionChosen)
- {
- _sessionData.sessionInfo->AllowedCaps &= ~aCapBitSet;
- aAllowedCaps = aCapBitSet;
- }
- else
- if ( RTUserPrompt_Denied==optionChosen) //one-shot denied
- {
- aAllowedCaps &= ~aCapBitSet;
- _sessionData.sessionInfo->AllowedCaps &= ~aCapBitSet; //disable in session pattern too...
- }
- else
- if ( RTUserPrompt_Session==optionChosen)
- {
- _sessionData.sessionInfo->AllowedCaps |= aCapBitSet;//Enable in _sessionData.Allowed & allowed
- aAllowedCaps = aCapBitSet;
- }
- else
- if ( RTUserPrompt_SessionDenied==optionChosen) //session denied
- {
- aAllowedCaps &= ~aCapBitSet;
- _sessionData.sessionInfo->AllowedCaps &= ~aCapBitSet; //disable in session pattern too...
- _sessionData.sessionInfo->DeniedCaps |= aCapBitSet; //enable denied in session bit
- }
- else
- if ( RTUserPrompt_Permanent==optionChosen)
- {
- aIsPermGrantModified = ETrue; //to commit the change to persistent store
- _sessionData.sessionInfo->AllowedCaps |= aCapBitSet;
- aAllowedCaps = aCapBitSet;
- _permanentInfo->iAllowedBits |= aCapBitSet;
- _permanentInfo->iDeniedBits &= ~aCapBitSet; //just in case....
- }
- else
- if ( RTUserPrompt_PermDenied==optionChosen) //permanent denied
- {
- aIsPermGrantModified = ETrue;
- aAllowedCaps &= ~aCapBitSet;
- _sessionData.sessionInfo->AllowedCaps &= ~aCapBitSet; //disable in session pattern too...
- _sessionData.sessionInfo->DeniedCaps |= aCapBitSet; //enable denied in session bit
- _permanentInfo->iAllowedBits &= ~aCapBitSet; //disable in perm bits
- _permanentInfo->iDeniedBits |= aCapBitSet; //enable in perm denied bit pattern
- //Commit the change to persistent store...
- }
- }
-
-// ---------------------------------------------------------------------------
-// Updates blanket permission data
-// ---------------------------------------------------------------------------
-//
-void CRTSecMgrScriptSession::UpdatePermGrant()
- {
- if(iUIPromptOption == RTPROMPTUI_PROVIDER)
- (*iSubSessionProxy)->UpdatePermGrant (iScript->ScriptID (),_permanentInfo->iAllowedProviders, _permanentInfo->iDeniedProviders);
- else
- (*iSubSessionProxy)->UpdatePermGrant (iScript->ScriptID (), _permanentInfo->iAllowedBits,_permanentInfo->iDeniedBits);
- }
-
-//
-// Conversion utility to convert a single 32-bit value to the list of
-// capabilities (RArray<TCapability>)
-//
-void CRTSecMgrScriptSession::BuildCapsL(TCapabilityBitSet aCapBitSet,
- RCapabilityArray& aInOutTCapList)
- {
- TInt idx(KErrNotFound);
-
- while (++idx!=KCapabilitySize)
- {
- TCapabilityBitSet temp(KDefaultEnableBit);
- temp = temp << idx;
- if ( aCapBitSet & temp)
- aInOutTCapList.AppendL ((TCapability)(idx+1));
- }
- }
-
-//
-// Conversion utility to generate a single 32-bit value from a list of
-// capabilities (RArray<TCapability>)
-//
-void CRTSecMgrScriptSession::AddCapability(TCapabilityBitSet& aInOutCapBitSet,
- TCapability aCapToSet)
- {
- if ( aCapToSet>=0)
- aInOutCapBitSet = aInOutCapBitSet | (LOWBIT << aCapToSet);
- }
-
-/*
- * Closes the script sub-session
- *
- */
-void CRTSecMgrScriptSession::Close()
- {
- if (iCoeEnv)
- for(TInt i(0); i < iResourceOffsetArray.Count(); i++)
- iCoeEnv->DeleteResourceFile (iResourceOffsetArray[i]);
-
- if ( iScript)
- {
- delete iScript;
- iScript = NULL;
- }
-
- if ( iSubSessionProxy)
- {
- delete iSubSessionProxy;
- iSubSessionProxy = NULL;
- }
- }
-
-//---------------------------------------------------------------------------
-// Callback function called from moreinfo link in advanced prompt
-//---------------------------------------------------------------------------
-TInt CRTSecMgrScriptSession::LinkCallback(TAny * aCallbackParam)
- {
- TCallbackParam *cb = (TCallbackParam*)aCallbackParam;
- (cb->iRTSecMgrScriptSession)->MoreInfoL(*(cb->iPromptData));
- return KErrNone;
- }
-
-//---------------------------------------------------------------------------------------------------
-//Overloaded IsAllowed method for provider based prompting
-//---------------------------------------------------------------------------------------------------
-EXPORT_C TInt CRTSecMgrScriptSession::IsAllowed(const RCapabilityArray& aCapabilitiesToCheck,
- TProviderUid aProviderUid,
- TFileName aResourceFileName)
-{
- if ( aCapabilitiesToCheck.Count () <= 0)
- {
- return EAccessOk; //if no capabilities are required, safely return
- }
- if ( aCapabilitiesToCheck.Find(ECapabilityTCB) != KErrNotFound)
- return EAccessNok;
-
- if((aProviderUid.iUid <= KErrNone) || ((aResourceFileName.Compare(KNullDesC))==KErrNone))
- return ErrInvalidParameters;
-
- TInt stackResCnt(0);
- TCapabilityBitSet capToCheck(KDefaultNullBit);
- for (TInt i(0); i!=aCapabilitiesToCheck.Count (); ++i)
- AddCapability (capToCheck, aCapabilitiesToCheck[i]);
-
- capToCheck &= ~(iScript->PermissionSet().UnconditionalCaps());
- if (!capToCheck)
- return EAccessOk;
- if((_sessionData.sessionInfo->DeniedProviders.Find(aProviderUid) != KErrNotFound) || (_permanentInfo->iDeniedProviders.Find(aProviderUid) != KErrNotFound))
- return EAccessNok;
-
- if((_sessionData.sessionInfo->AllowedProviders.Find(aProviderUid) != KErrNotFound)|| (_permanentInfo->iAllowedProviders.Find(aProviderUid) != KErrNotFound))
- return EAccessOk;
-
- TBool isPermGrantModified(EFalse);
- RPermissions perms = iScript->PermissionSet().Permissions();
- TCapabilityBitSet tempCapToCheck(KDefaultNullBit);
-
- //All the capabilities allowed for the domain
- for (TInt permIdx(0); permIdx!=perms.Count();++permIdx)
- {
- tempCapToCheck |= perms[permIdx]->PermissionData();
- }
-
- //If the capabilities is allowed with prompting
- if((tempCapToCheck & capToCheck) == capToCheck)
- {
- /*TODO: Changes based on the decision on what needs
- to be done of the default capability is different
- for capabilities required by the provider. Presently taking least duration*/
- TUserPromptOption defaultOption(RTUserPrompt_OneShot);
- for(TInt i=0; i < perms.Count(); i++)
- {
- if((perms[i]->Default() == RTUserPrompt_OneShot) && (perms[i]->PermissionData() & capToCheck))
- {
- defaultOption = RTUserPrompt_OneShot;
- break;
- }
- else if((perms[i]->Default() == RTUserPrompt_Session) && (perms[i]->PermissionData() & capToCheck))
- {
- defaultOption = RTUserPrompt_Session;
- }
- else if((perms[i]->Default() == RTUserPrompt_Permanent) && (perms[i]->PermissionData() & capToCheck) && (defaultOption != RTUserPrompt_Session))
- {
- defaultOption = RTUserPrompt_Permanent;
- }
- }
- //= perms[0]->Default();
- //TUserPromptOption defaultOption(RTUserPrompt_Session);
- AddResourceFiles();
- TInt resID(KErrNone);
- resID = AddProviderResourceFile(aResourceFileName);
-
- if(resID <= KErrNone)
- return KErrNotFound;
-
- HBufC* messageBody = NULL;
-
- //Get the application name. If not set use the default name
- if(iSessionData != NULL )
- {
- TPtr appNamePtr = iSessionData->Des();
- messageBody = StringLoader::LoadL( resID, appNamePtr, iCoeEnv );
- CleanupStack::PushL(messageBody);
- ++stackResCnt;
- }
- else
- {
- HBufC* defaultName = iCoeEnv->AllocReadResourceLC(R_DEFAULT_APPLICATION_NAME);
- TPtr defaultNamePtr = defaultName->Des();
- messageBody = StringLoader::LoadL( resID, defaultNamePtr, iCoeEnv );
- CleanupStack::PopAndDestroy(defaultName);
- CleanupStack::PushL(messageBody);
- ++stackResCnt;
- }
-
- CAknMessageQueryDialog* queryDialog = new(ELeave) CAknMessageQueryDialog();
- CleanupStack::PushL (queryDialog);
- ++stackResCnt;
-
- queryDialog->PrepareLC (R_ADVPROMPT_MESSAGE_QUERY);
-
- queryDialog->SetMessageTextL(messageBody->Des());
-
- HBufC* headerText(NULL);
- CAknPopupHeadingPane* heading = queryDialog->QueryHeading ();
- if ( heading)
- {
- heading->SetLayout (CAknPopupHeadingPane::EMessageQueryHeadingPane);
- headerText = iCoeEnv->AllocReadResourceLC (R_RTSECMGR_PROMPT_QUERY_HEADER);
- heading->SetTextL (headerText->Des ());
- ++stackResCnt;
- }
-
- TInt ret(EAccessNok);
- TBool costPromptRequired(EFalse);
- CleanupStack::Pop (stackResCnt);
- TInt queryOk = queryDialog->RunLD ();
- if ( queryOk == EAknSoftkeyYes)
- {
-
- if ( defaultOption & RTUserPrompt_OneShot)
- {
- ret = EAccessOk;
- }
- else if ( defaultOption& RTUserPrompt_Session)
- {
- _sessionData.sessionInfo->AllowedProviders.Append(aProviderUid); //session allow
- ret = EAccessOk;
- }
- else if ( defaultOption& RTUserPrompt_Permanent)
- {
- _sessionData.sessionInfo->AllowedProviders.Append(aProviderUid); //session allow
- _permanentInfo->iAllowedProviders.Append(aProviderUid); //permanent allow
- isPermGrantModified = ETrue; //Flag for server update
- ret = EAccessOk;
- }
- else
- {
- ret = EAccessNok;
- }
- }
- else
- {
- if ( defaultOption & RTUserPrompt_OneShot)
- {
- ret = EAccessNok;
- }
- else if ( defaultOption& RTUserPrompt_Session)
- {
- _sessionData.sessionInfo->DeniedProviders.Append(aProviderUid); //session deny
- ret = EAccessNok;
- }
- else if ( defaultOption& RTUserPrompt_Permanent)
- {
- _sessionData.sessionInfo->DeniedProviders.Append(aProviderUid); //session deny
- _permanentInfo->iDeniedProviders.Append(aProviderUid); //permanent deny
- isPermGrantModified = ETrue; //Flag for server update
- ret = EAccessNok;
- }
- }
- CloseResourceFiles();
-
- /* If its a pre-registered script and perm grant is modified update server */
- if(isPermGrantModified && (iScript->ScriptID() != KAnonymousScript))
- UpdatePermGrant();
-
- if(messageBody)
- delete messageBody;
-
- if(headerText)
- delete headerText;
-
- return ret;
- }
- return EAccessNok;
- }
-
-//---------------------------------------------------------------------------------------------
-//Method to set the application name.
-//Called by the runtimes to set the name of the widget/flash content
-//---------------------------------------------------------------------------------------------
-EXPORT_C void CRTSecMgrScriptSession::SetApplicationNameL(const TDesC& aName)
- {
- if(iSessionData)
- {
- delete iSessionData;
- iSessionData = NULL;
- }
- /* Limit on the length of the application name */
- /*if(aName.Length() > KMaxAppName)
- User::Leave(KErrOverflow);*/
- iSessionData = aName.AllocL();
- }
--- a/rtsecuritymanager/rtsecuritymanagerclient/src/rtsecmgrtrustinfo.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines CTrustInfo class
- *
-*/
-
-
-
-
-
-
-#include <rtsecmgrtrustinfo.h>
-
-// ---------------------------------------------------------------------------
-// Defintiion of default private constructor
-// ---------------------------------------------------------------------------
-//
-CTrustInfo::CTrustInfo()
-{
-}
-
-// ---------------------------------------------------------------------------
-// Definition of second phase constructor
-//
-// Constructs a CTrustInfo instance
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTrustInfo* CTrustInfo::NewL()
-{
- CTrustInfo* self = CTrustInfo::NewLC();
- CleanupStack::Pop(self);
- return self;
-}
-
-// ---------------------------------------------------------------------------
-// Definition of second phase constructor
-//
-// Constructs a CTrustInfo instance and leaves the created instance
-// on the cleanupstack
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTrustInfo* CTrustInfo::NewLC()
-{
- CTrustInfo* self = new (ELeave) CTrustInfo();
- CleanupStack::PushL(self);
- return self;
-}
-
-// ---------------------------------------------------------------------------
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTrustInfo::~CTrustInfo()
-{
-}
-
--- a/rtsecuritymanager/rtsecuritymanagerserver/group/RTSecMgrServer.mmp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-
-#include <platform_paths.hrh>
-
-TARGET rtsecmgrserver.exe
-TARGETTYPE exe
-
-TARGETPATH sys/bin
-// Since this is an exe with no alternate implementations,
-// just use same UID for both UID2 and UID3
-UID 0x1020507E 0x2000F847
-VENDORID VID_DEFAULT
-
-CAPABILITY CAP_SERVER
-
-VERSION 10.3
-paged
-
-SOURCEPATH ../src
-SOURCE rtsecmgrserver.cpp
-SOURCE rtsecmgrserverstartUp.cpp
-SOURCE rtsecmgrserversession.cpp
-SOURCE rtsecmgrpolicyparser.cpp
-SOURCE rtsecmgrclientapi.cpp
-SOURCE rtsecmgrprotectiondomain.cpp
-SOURCE rtsecmgrpolicy.cpp
-SOURCE rtsecmgrpolicymanager.cpp
-SOURCE rtsecmgrscriptmanager.cpp
-SOURCE rtsecmgrstore.cpp
-
-USERINCLUDE ../inc/
-USERINCLUDE ../../inc/
-
-// This is a SYSTEMINCLUDE macro containing the middleware
-// layer specific include directories
-APP_LAYER_SYSTEMINCLUDE
-
-//MACRO RTSECMGR_TRACE
-
-LIBRARY euser.lib
-LIBRARY efsrv.lib
-LIBRARY xmlparser.lib
-LIBRARY CharConv.lib
-LIBRARY xmldom.lib
-LIBRARY inetprotutil.lib
-LIBRARY estor.lib
-LIBRARY Flogger.lib
-LIBRARY rtsecmgrutil.lib
-LIBRARY edbms.lib
-LIBRARY bafl.lib
-//LIBRARY centralrepository.lib
-LIBRARY PlatformEnv.lib
-
-
-
-
-
--- a/rtsecuritymanager/rtsecuritymanagerserver/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-#include <platform_paths.hrh>
-PRJ_EXPORTS
-//../data/backup_registration.xml /epoc32/data/z/private/2000F847/backup_registration.xml
-
-PRJ_MMPFILES
-RTSecMgrServer.mmp
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrdata.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines security manager server side data strucutures
- *
-*/
-
-
-
-
-
-
-#ifndef _RTSECMGRDATA_H
-#define _RTSECMGRDATA_H
-
-#include "rtsecmgrprotectiondomain.h"
-#include "rtsecmgrpolicy.h"
-#include <rtsecmgrtrustinfo.h>
-
-typedef RPointerArray<CProtectionDomain> RProtectionDomains;
-typedef RPointerArray<CTrustInfo> RTrustArray;
-typedef RPointerArray<CPolicy> RPolicies;
-
-#endif //_RTSECMGRDATA_H
-
-// End of file
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrpolicy.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,219 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines security policy data structure
- *
-*/
-
-
-
-
-
-
-#ifndef C_RTSECMGRPOLICY_H
-#define C_RTSECMGRPOLICY_H
-
-#include <e32capability.h>
-#include <rtsecmgrutility.h>
-#include <rtsecmgrscript.h>
-#include "rtsecmgrdef.h"
-#include "rtsecmgrprotectiondomain.h"
-
-class CProtectionDomain;
-
-typedef RPointerArray<CProtectionDomain> RProtectionDomains;
-typedef RPointerArray<CPermission> RAliasGroup;
-
-/*
- * Represents a security and trust policy mapping. This class maps
- * the policyID and its associated security and trust policies.
- *
- * A CPolicy instance has list of protection domains specified
- * in the security access policy and list of trust information. The
- * security access policy and trust policy are associated with a policy
- * identifier
- *
- * @see CProtectionDomain
- * @see CPermission
- *
- * @exe rtsecmgrserver.exe
- */
-NONSHARABLE_CLASS(CPolicy) : public CBase
- {
-public:
-
- /**
- * Two-phased constructor
- *
- * Constructs a CPolicy instance from an input serialization
- * source
- *
- * @param aPolicyID TPolicyID policy identifier
- * @param aSource RStoreReadStream& input source
- *
- * @return CPolicy * pointer to an instance of CPolicy
- */
- static CPolicy* NewL(TPolicyID aPolicyID, RStoreReadStream& aSource);
-
- /**
- * Two-phased constructor
- *
- * Constructs a CPolicy instance from an input serialization
- * source and leaves the created instance on the cleanupstack
- *
- * @param aPolicyID TPolicyID policy identifier
- * @param aSource RStoreReadStream& input source
- *
- * @return CPolicy * pointer to an instance of CPolicy
- */
- static CPolicy* NewLC(TPolicyID aPolicyID, RStoreReadStream& aSource);
-
- /**
- * Two-phased constructor
- *
- * Constructs a CPolicy instance and initializes the policy identifier
- * and the security access policy domain data
- *
- * @param aPolicyID TPolicyID policy identifier
- * @param aProtectionDomains RProtectionDomains& input security protection domains
- * @param aAliasGroup RAliasGroup& input capability grouping
- *
- * @return CPolicy * pointer to an instance of CPolicy
- */
- static CPolicy* NewL(TPolicyID aPolicyID, const RProtectionDomains& aProtectionDomains, RAliasGroup& aAliasGroup);
-
- /**
- * Two-phased constructor
- *
- * Constructs a CPolicy instance and initializes the policy identifier
- * and the security access policy domain data. This method leaves the
- * created instance on the cleanupstack.
- *
- * @param aPolicyID TPolicyID policy identifier
- * @param aProtectionDomains RProtectionDomains& input security protection domains
- * @param aAliasGroup RAliasGroup& input capability grouping
- *
- * @return CPolicy * pointer to an instance of CPolicy
- */
- static CPolicy* NewLC(TPolicyID aPolicyID, const RProtectionDomains& aProtectionDomains, RAliasGroup& aAliasGroup);
-
- /**
- * Internalizes CPolicy data members from the input readable source
- *
- * @param aSource RStoreReadStream& Input readable source
- *
- */
- void InternalizeL(RStoreReadStream& aSource);
-
- /**
- * Gets a protection domain instance when a valid domain
- * name is passed.
- *
- * @param aDomainName const TDesC& name of the protection domain
- *
- * @return CProtectionDomain* valid protection domain instance; NULL if
- * domain name is invalid or does not exist
- *
- */
- CProtectionDomain* ProtectionDomain(const TDesC& aDomainName) const;
-
- /**
- * Gets policy identifier of the security and trust policy
- * data
- *
- * @return TPolicyID policy identifier
- *
- */
- inline TPolicyID PolicyID() const;
-
- /**
- * Gets the list of protection domains associated with
- * the policy identifier
- *
- * @return const RProtectionDomains& protection domain list
- *
- */
- inline const RProtectionDomains& ProtectionDomain() const;
-
- /**
- * virtual destructor
- *
- */
- inline ~CPolicy();
-
- /**
- * Gets a alias group instance when a valid alias group
- * name is passed.
- *
- * @param aAliasName const TDesC& name of the alias group
- *
- * @return CPermission* valid alias group instance; NULL if
- * alias group name is invalid or does not exist
- *
- */
- CPermission* AliasGroup(const TDesC& aAliasName) const;
-
- /**
- * Gets the list of alias groups associated with
- * the policy identifier
- *
- * @return const RAliasGroup& alias group list
- *
- */
- inline const RAliasGroup& AliasGroup() const;
-
-private:
- /*
- * private default constructor
- */
- CPolicy();
-
- /*
- * Overloaded constructor to initialise policy identifier
- *
- */
- CPolicy(TPolicyID aPolicyID);
-
- /*
- * Two-phase constructor
- *
- * Initializes policy identifier, security protection domains and alias groupings
- *
- */
- void ConstructL(const RProtectionDomains& aAccessPolicy, RAliasGroup& aAliasGroup);
-
-private:
- /*
- * Policy identifier
- */
- TPolicyID iPolicyID;
-
- /*
- * Array of protection domains
- *
- * Own.
- */
- RProtectionDomains iAccessPolicy;
-
- /*
- * Array of alias groupings
- *
- * Own.
- */
- RAliasGroup iAliasGroup;
- };
-
-#include "rtsecmgrpolicy.inl"
-
-#endif //C_RTSECMGRPOLICY_H
-
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrpolicy.inl Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines security policy data structure inline functions
- *
-*/
-
-
-
-
-
-
-/**
- * Gets policy identifier of the security and trust policy
- * data
- *
- * @return TPolicyID policy identifier
- *
- */
-inline TPolicyID CPolicy::PolicyID() const
- {
- return iPolicyID;
- }
-
-/**
- * Gets the list of protection domains associated with
- * the policy identifier
- *
- * @return const RProtectionDomains& protection domain list
- *
- */
-inline const RProtectionDomains& CPolicy::ProtectionDomain() const
- {
- return iAccessPolicy;
- }
-
-/**
- * virtual destructor
- *
- */
-inline CPolicy::~CPolicy()
- {
- iAccessPolicy.ResetAndDestroy ();
- iAliasGroup.ResetAndDestroy();
- }
-
-/**
- * Gets the list of alias group associated with
- * the policy identifier
- *
- * @return const RAliasGroup& alias group list
- *
- */
-inline const RAliasGroup& CPolicy::AliasGroup() const
- {
- return iAliasGroup;
- }
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrpolicymanager.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Definition of policy manager class
- *
-*/
-
-
-
-
-
-
-#ifndef C_RTSECMGRPOLICYMANAGER_H
-#define C_RTSECMGRPOLICYMANAGER_H
-
-#include <e32capability.h>
-#include <rtsecmgrutility.h>
-#include <rtsecmgrscript.h>
-#include "rtsecmgrdef.h"
-#include "rtsecmgrpolicy.h"
-#include "rtsecmgrdata.h"
-#include "rtsecmgrstore.h"
-
-/*
- * Manages set of security and trust policies.
- *
- * CPolicyManager provides management functionalities to
- * - register a policy
- * - un-register a policy
- * - restore policies from the persistent storage
- *
- * CPolicyManager interacts with CSecMgrStore which abstracts the
- * underlying persistent storage from policy users
- *
- * @see CSecMgrStore
- * @see CPolicy
- *
- * @exe rtsecmgrserver.exe
- */
-NONSHARABLE_CLASS(CPolicyManager) : public CBase
- {
-public:
-
- /**
- * Two-phased constructor
- *
- * Constructs a CPolicyManager instance
- *
- * @param aSecMgrDB CSecMgrStore* pointer to security manager storage type
- *
- * @return CPolicyManager* pointer to an instance of CPolicyManager
- */
- static CPolicyManager* NewL(CSecMgrStore* aSecMgrDB);
-
- /**
- * Two-phased constructor
- *
- * Constructs a CPolicyManager instance and leaves the created
- * instance on the cleanupstack
- *
- * @param aSecMgrDB CSecMgrStore* pointer to security manager storage type
- *
- * @return CPolicyManager* pointer to an instance of CPolicyManager
- */
- static CPolicyManager* NewLC(CSecMgrStore* aSecMgrDB);
-
- /**
- * Destructor
- *
- * Cleanups the internal cache for policy data
- */
- inline ~CPolicyManager();
-
- /**
- * Registers a new policy data.
- *
- * This method in turn updates the security manager
- * persistent store with new policy data
- *
- * @param aPolicy const CPolicy& Reference to policy data
- *
- */
- void RegisterPolicyL(const CPolicy& aPolicy);
-
- /**
- * Un-registers an existing policy data
- *
- * This method in turn removes the policy data from the
- * security manager persistent store
- *
- * @param aPolicyID TPolicyID Policy identifier
- *
- * @return KErrNone if unregistration is successful; Otherwise one of
- * system wide error codes
- */
- TInt UnRegisterPolicy(TPolicyID aPolicyID);
-
- /**
- * Restores policy data from security manager persistent store.
- *
- * The internal cache of policy data maintained by this class
- * gets updated
- *
- */
- inline void RestorePoliciesL();
-
- /**
- * Gets the policy data associated with the policy
- * identifier
- *
- * @param aPolicyID TPolicyID policy identifier
- *
- * @return CPolicy * pointer to an instance of CPolicy associated
- * with policy identifier; Returns NULL if policy identifier is not valid
- */
- CPolicy* Policy(TPolicyID aPolicyID) const;
-
- /**
- * Checks if a policy data is stored with a policy identifier
- *
- * @param aPolicyID TPolicyID policy identifier
- *
- * @return TBool ETrue if policy associated with policy identifier
- * exists; Otherwise EFalse
- *
- */
- TBool HasPolicy(TPolicyID aPolicyID) const;
-
- /**
- * Gets the number of registered policy data
- *
- * @return TInt number of registered policy data
- */
- inline TInt Count() const;
-private:
-
- /**
- * Overloaded constructor
- *
- */
- inline CPolicyManager(CSecMgrStore* aSecMgrDB);
-private:
-
- //Array of policy data
- RPolicies iPolicies;
-
- //Reference to security manager persistent storage
- CSecMgrStore* iSecMgrDB;
- };
-
-#include "rtsecmgrpolicymanager.inl"
-
-#endif //C_RTSECMGRPOLICYMANAGER_H
-
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrpolicymanager.inl Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Definition of policy manager inline functions
- *
-*/
-
-
-
-
-
-
-
-inline CPolicyManager::CPolicyManager(CSecMgrStore* aSecMgrDB) :
- iSecMgrDB(aSecMgrDB)
- {
- }
-
-inline CPolicyManager::~CPolicyManager()
- {
- iPolicies.ResetAndDestroy ();
- }
-
-inline void CPolicyManager::RestorePoliciesL()
- {
- if ( iSecMgrDB)
- iSecMgrDB->RestorePoliciesL (iPolicies);
- }
-
-inline TInt CPolicyManager::Count() const
- {
- return iPolicies.Count ();
- }
\ No newline at end of file
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrpolicyparser.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Utility XML parser to parse trust and access policy files
- *
-*/
-
-
-
-
-
-
-#ifndef C_RTSECMGRPOLICYPARSER_H
-#define C_RTSECMGRPOLICYPARSER_H
-
-#include <e32base.h>
-#include <gmxmlparser.h>
-#include <gmxmlnode.h>
-#include <escapeutils.h>
-#include "rtsecmgrdata.h"
-#include "rtsecmgrcommondef.h"
-
-/*
- * Enumerations for policy parsing status codes
- *
- */
-enum TParserErrCode
-{
- EErrNone = 0, //zero for success , equivalent to KErrNone of symbian
- EErrInvalidDocNode = KErrXMLBase,
- EErrInvalidRootNode = EErrInvalidDocNode - 1,
- EErrNoPolicyInfo = EErrInvalidRootNode - 1,
- EErrInvalidDomainName = EErrNoPolicyInfo - 1,
- EErrRepeatedDomainTag = EErrInvalidDomainName - 1,
- EErrJunkContent = EErrRepeatedDomainTag - 1,
- EErrNoDefaultCondition = EErrJunkContent - 1,
- EErrInvalidFormat = EErrNoDefaultCondition - 1,
- EErrInvalidCapability = EErrInvalidFormat - 1,
- EErrInvalidPermission = EErrInvalidCapability - 1,
- EErrRepeatedCaps = EErrInvalidPermission - 1,
- EErrRepeatedAliasTag = EErrRepeatedCaps - 1,
- EErrInvalidAliasName = EErrRepeatedAliasTag - 1,
- EErrMisplacedAlias = EErrInvalidAliasName
-};
-
-/*
- * Abstracts policy parsing logic.
- *
- * Security access policy and trust policy are represented in
- * XML format. CPolicyParser uses native XML parser to parse
- * the policy files.
- *
- *
- * @see MMDXMLParserObserver
- * @see CMDXMLParser
- * @see CMDXMLElement
- * @see CProtectionDomain
- * @see CTrustInfo
- * @see TUserPromptOption
- *
- * @exe rtsecmgrserver.exe
- */
-NONSHARABLE_CLASS(CPolicyParser) : public CBase, public MMDXMLParserObserver
-{
-public:
-
- /**
- * Two-phased constructor
- *
- * Constructs a CPolicyParser instance
- *
- * @return CPolicyParser* pointer to an instance of CPolicyParser
- */
- static CPolicyParser* NewL();
-
- /**
- * Two-phased constructor
- *
- * Constructs a CPolicyParser instance and leaves the created instance
- * on the cleanupstack
- *
- * @return CPolicyParser* pointer to an instance of CPolicyParser
- */
- static CPolicyParser* NewLC();
-
-
- /**
- * Destructor
- *
- */
- ~CPolicyParser();
-
- /**
- * Parses the security access policy file and populates
- * the input protection domain array
- *
- * @param aSecPolicy RFile& Handle to security policy file
- * @param aPolicyInfo RProtectionDomains& input array of protection domains
- *
- * @return EErrSuccess if there is no parsing error; Otherwise one of
- * error codes defined in TParserErrCode
- *
- * @see TParserErrCode
- */
- TInt GetPolicyInfo(RFile& aSecPolicy, RProtectionDomains& aPolicyInfo, RAliasGroup& aAliasGroup);
-
- /**
- * Callback offered by MMDXMLParserObserver to notify the calling client that the XML
- * parsing is completed and DOM data structure is available for
- * navigation
- *
- * @see MMDXMLParserObserver
- *
- * This identifies whether the policy file is in the proper format
- * if not in proper format, parsing errors as defined in TParserErrCode are thrown
- * @see TParserErrCode
- */
- void ParseFileCompleteL();
-private:
-
- //private default constructor
- inline CPolicyParser();
-
- /**
- * Gets the list of capability nodes provided the parent domain
- * node
- *
- */
- TInt GetCapsNode(CMDXMLElement* aParentDomainNode,
- RPointerArray<CMDXMLElement>& aCapNodes,
- const TDesC& aNodeName);
-
- /**
- * Overloaded version to get the list of capability nodes provided the parent domain
- * node
- *
- */
- CMDXMLElement* GetCapsNode(CMDXMLElement* aParentDomainNode, const TDesC& aNodeName);
-
-
- /**
- * Populates the permission set data structure with capability
- * information provided the parent capability node
- *
- * @return EErrSuccess if there is no parsing error; Otherwise one of these error codes
- * @return EErrRepeatedCaps if there are capabilities specified more than once in same domain
- * @return EErrInvalidCapability if the capability string is invalid
- *
- * @see TParserErrCode
- *
- */
- TInt GetCapabilities(CMDXMLElement* aParentNode,
- CPermissionSet& aCapInfo,
- TUserPromptOption aUpOpt=RTUserPrompt_UnDefined,
- TBool aUGCaps=EFalse,
- TUserPromptOption aDefUpOpt=RTUserPrompt_UnDefined);
-
- /**
- * Gets the user prompt option provided the parent user node
- *
- * @return EErrSuccess if there is no parsing error; Otherwise one of these error codes
- * @return EErrInvalidPermission if prompt sessions specified are invalid
- */
- TInt GetConditions(CMDXMLElement* aParentNode, TUserPromptOption& aUserPromptOpt);
-
- /**
- * Gets the default user prompt option provided the parent user node
- *
- */
- TUserPromptOption GetDefaultCondition(CMDXMLElement* aParentNode);
-
- /**
- * Utility to convert the stringified user prompt option text to
- * TCapability enumeration
- *
- * @see TCapability
- *
- */
- TCapability GetCapability(const TDesC& aUserPromptOpt);
-
- /**
- * Utility to convert the stringified user prompt option to
- * TUserPromptOption structure
- *
- */
- TUserPromptOption GetUserPromptOption(const TDesC& aUserPromptOpt);
-
- /**
- * Finds out if a domain node is present with the passed domain name
- *
- */
- TBool isDomainPresent(const TDesC& aDomainName);
-
- /**
- * Utility method to check if a capability is already part of
- * unconditional permissions
- *
- */
- TBool IsPresent(const CPermissionSet& aCapInfo, TCapability aCap);
-
- /**
- * Utility method to check if a capability is already part of user
- * grantable permissions
- *
- */
- TBool IsUserGrantPresent(const CPermissionSet& aCapInfo, TCapability aCap);
-
-
- /**
- * Populates the permission set data structure with capability
- * information provided the parent capability node
- *
- * @return EErrSuccess if there is no parsing error; Otherwise one of these error codes
- * @return EErrRepeatedCaps if there are capabilities specified more than once in same domain
- * @return EErrInvalidCapability if the capability string is invalid
- *
- * @see TParserErrCode
- *
- * This is similar to GetCapabilities method except that this retrives the capability information for the Group
- */
- TInt GetCapabilitiesForGroup(CMDXMLElement* aParentNode,
- CPermissionSet& aCapInfo,
- CPermission& aAliasInfo,
- TUserPromptOption aUpOpt=RTUserPrompt_UnDefined,
- TBool aUGCaps=EFalse,
- TUserPromptOption aDefUpOpt=RTUserPrompt_UnDefined);
-
- /**
- * Finds out if the passed capability is present in alias group
- *
- */
- TBool IsCapsAliasPresent(const CPermission& aAliasInfo, TCapability aCap);
-
- /**
- * Finds out if a domain node is present with the passed domain name
- *
- */
- TBool isAliasPresent(const TDesC& aAliasName);
-
-
-private:
-
- //reference to undelying native symbian XML parser
- CMDXMLParser* iDomParser;
-
- //Completion status of parsing request made to XML parser.
- TRequestStatus* iStatus;
- CActiveSchedulerWait iWaitScheduler;
-
- //list of domains declared in the security access policy
- RProtectionDomains iPolicyInfo;
-
- //list of trust information specified in the trust policy file
- RTrustArray iTrustInfo;
-
- //variable to initiate parsing for trust policy file
- TBool isTrustInfo;
-
- //status code to store last parsing error
- TInt iLastError;
-
-
- //Array of TPermissions - used for Capability Grouping
- RAliasGroup iAliasGroup;
-
-};
-
-#endif //C_RTSECMGRPOLICYPARSER_H
-
-// End of file
-
-
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrprotectiondomain.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Definition of security protection domain
- *
-*/
-
-
-
-
-
-
-#ifndef C_RTSECMGRPROTECTIONDOMAIN_H
-#define C_RTSECMGRPROTECTIONDOMAIN_H
-
-#include <e32capability.h>
-#include <rtsecmgrutility.h>
-#include <rtsecmgrscript.h>
-#include "rtsecmgrdef.h"
-
-/*
- * Models a protection domain. A protection domain is part of a security policy.
- * A security policy could have more than one protection domain.
- *
- * Every protection domain has a name, list of unconditionally allowed permissions
- * and set of user grantable permissions.
- *
- * @see CPermissionSet
- *
- * @exe rtsecmgrserver.exe
- *
- */
-NONSHARABLE_CLASS(CProtectionDomain) : public CBase
- {
-public:
-
- /**
- * Two-phased constructor
- *
- * Constructs a CProtectionDomain instance
- *
- * @return CProtectionDomain* pointer to an instance of CProtectionDomain
- */
- static CProtectionDomain* NewL();
-
- /**
- * Two-phased constructor
- *
- * Constructs a CProtectionDomain instance and leaves the created instance
- * on the cleanupstack
- *
- * @return CProtectionDomain* pointer to an instance of CProtectionDomain
- */
- static CProtectionDomain* NewLC();
-
- /**
- * Two-phased constructor
- *
- * Constructs a CProtectionDomain instance from the input
- * read source
- *
- * @param aSource RStoreReadStream& Input readable source
- *
- * @return CProtectionDomain* pointer to an instance of CProtectionDomain
- */
- static CProtectionDomain* NewL(RStoreReadStream& aSource);
-
- /**
- * Two-phased constructor
- *
- * Constructs a CProtectionDomain instance from the input
- * read source and leaves the created instance on the cleanup
- * stack
- *
- * @param aSource RStoreReadStream& Input readable source
- *
- * @return CProtectionDomain* pointer to an instance of CProtectionDomain
- */
- static CProtectionDomain* NewLC(RStoreReadStream& aSource);
-
- /**
- * Destructor
- *
- * Performs clean-up of domain name descriptor and
- * permission set
- *
- */
- ~CProtectionDomain();
-
- /**
- * Gets underlying permission set instance
- *
- * @return const CPermissionSet& permission set instance
- *
- */
- inline const CPermissionSet& PermSet() const;
-
- /**
- * Gets domain name
- *
- * @return const TDesC& domain name
- *
- */
- inline const TDesC& DomainName() const;
-
- /**
- * Sets domain name
- *
- * @param aDomainName const TDesC& input domain name string
- */
- inline void SetDomainName(const TDesC& aDomainName);
-
- /**
- * Sets permission set
- *
- * @param aPermissionSet CPermissionSet* input permission set
- */
- inline void SetCapInfo(CPermissionSet* aPermissionSet);
-
- /**
- * Externalises CProtectionDomain data to writable output stream
- *
- * @param aSink RStoreWriteStream& writable output stream
- */
- void ExternalizeL(RStoreWriteStream& aSink) const;
-
- /**
- * Internalises CProtectionDomain data from readble input stream
- *
- * @param aSource RStoreReadStream& readble input stream
- */
- void InternalizeL(RStoreReadStream& aSource);
-
-private:
- /**
- * Default private constructor
- *
- */
- inline CProtectionDomain();
-
- /**
- * Two phased constructor
- *
- */
- inline void ConstructL();
-
-private:
- /*
- * Domain name
- *
- * Own.
- */
- HBufC* iDomain;
-
- /*
- * Permissionset instance
- *
- * Own.
- */
- CPermissionSet* iPermSet;
- };
-
-#include "rtsecmgrprotectiondomain.inl"
-
-#endif //C_RTSECMGRPROTECTIONDOMAIN_H
-
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrprotectiondomain.inl Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Definition of security protection domain inline functions
- *
-*/
-
-
-
-
-
-
-
-/**
- * Default private constructor
- *
- */
-inline CProtectionDomain::CProtectionDomain() :
- iDomain(NULL)
- {
- }
-
-/**
- * Two phased constructor
- *
- */
-inline void CProtectionDomain::ConstructL()
- {
- iPermSet = CPermissionSet::NewL ();
- }
-
-/**
- * Gets underlying permission set instance
- *
- * @return const CPermissionSet& permission set instance
- *
- */
-inline const CPermissionSet& CProtectionDomain::PermSet() const
- {
- return *iPermSet;
- }
-
-/**
- * Gets domain name
- *
- * @return const TDesC& domain name
- *
- */
-inline const TDesC& CProtectionDomain::DomainName() const
- {
- if ( iDomain)
- return *iDomain;
- else
- return KNullDesC ();
- }
-
-/**
- * Sets domain name
- *
- * @param aDomainName const TDesC& input domain name string
- */
-inline void CProtectionDomain::SetDomainName(const TDesC& aDomain)
- {
- if ( iDomain)
- {
- delete iDomain;
- iDomain = NULL;
- }
-
- iDomain = aDomain.AllocL ();
- }
-
-/**
- * Sets permission set
- *
- * @param aPermissionSet CPermissionSet* input permission set
- */
-inline void CProtectionDomain::SetCapInfo(CPermissionSet* aPermissionSet)
- {
- if ( iPermSet)
- {
- delete iPermSet;
- }
-
- iPermSet = aPermissionSet;
- }
\ No newline at end of file
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrscriptmanager.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,215 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Definition of script manager class
- *
-*/
-
-
-
-
-
-
-#ifndef C_RTSECMGRSCRIPTMANAGER_H
-#define C_RTSECMGRSCRIPTMANAGER_H
-
-#include <e32capability.h>
-#include <rtsecmgrutility.h>
-#include <rtsecmgrscript.h>
-#include "rtsecmgrdef.h"
-#include "rtsecmgrstore.h"
-
-//Forward declarations
-class CSecMgrStore;
-class CPolicyManager;
-
-typedef RPointerArray<CScript> RScripts;
-
-/*
- * Models the cache to maintain the list of registered script
- * data. Provides operations to register script, de-register
- * script, query script related information.
- *
- * This class abstracts the underlying persistent storage to
- * store script related data.
- *
- * @see CSecMgrStore
- * @see CPolicyManager
- * @see CScript
- *
- * @exe rtsecmgrserver.exe
- */
-class CScriptManager : public CBase
- {
-public:
- /**
- * Two-phased constructor
- *
- * Constructs a CScriptManager instance
- *
- * @param aSecMgrDB CSecMgrStore* reference to security manager store
- * @param aPolicyMgr CPolicyManager* reference to policymanager instance
- *
- * @return CScriptManager* pointer to an instance of CScriptManager
- */
- static CScriptManager* NewL(CSecMgrStore* aSecMgrDB,
- CPolicyManager* aPolicyMgr);
-
- /**
- * Two-phased constructor
- *
- * Constructs a CScriptManager instance and leaves the created instance
- * on the cleanupstack
- *
- * @param aSecMgrDB CSecMgrStore* reference to security manager store
- * @param aPolicyMgr CPolicyManager* reference to policymanager instance
- *
- * @return CScriptManager* pointer to an instance of CScriptManager
- */
- static CScriptManager* NewLC(CSecMgrStore* aSecMgrDB,
- CPolicyManager* aPolicyMgr);
-
- /**
- * Destructor
- *
- * Performs clean-up of transient script store cache
- *
- */
- virtual ~CScriptManager();
-
- /**
- * Registers a script based on a policy identified by
- * input policy identifier with security manager
- *
- * @param aPolicyID TPolicyID input policy identifier of the script
- *
- * @return TExecutableID script identifier of the registered script
- */
- TExecutableID
- RegisterScript(TPolicyID aPolicyID);
-
- /**
- * Registers a script with hashvalue based on a policy identified by
- * input policy identifier with security manager.
- *
- * @param aPolicyID TPolicyID input policy identifier of the script
- * @param aHashValue const TDesC& hashValue of the script
- *
- * @return TExecutableID script identifier of the registered script
- */
- TExecutableID
- RegisterScript(TPolicyID aPolicyID, const TDesC& aHashValue);
-
- /**
- * Un-Registers a script
- *
- * @param aExecID script identifier of the registered script
- * @param aPolicyID policy identifier passed while registering script
- *
- */
- void UnRegisterScriptL(TExecutableID aExecID, TPolicyID aPolicyID);
-
- /**
- * Gets underlying script data
- *
- * @param aScriptInfo CScript& output script data
- *
- * @return KErrNone if script data could be returned; Otherwise one of
- * system error codes
- *
- */
- TInt ScriptInfo(CScript& aScriptInfo);
-
- /**
- * Updates permanently granted or denied permission data
- * of the script
- *
- * @param aExecID TExecutableID script identifier
- * @param aPermGrant TPermGrant permanently allowed permission
- * @param aPermDenied TPermGrant permanently denied permission
- *
- */
- void UpdatePermGrantL(TExecutableID aExecID, TPermGrant aPermGrant,
- TPermGrant aPermDenied);
-
- /**
- * Updates permanently granted or denied permission data
- * of the script
- *
- * @param aExecID TExecutableID script identifier
- * @param aPermGrant TPermGrant permanently allowed permission
- * @param aPermDenied TPermGrant permanently denied permission
- *
- */
- void UpdatePermGrantL(TExecutableID aExecID, RProviderArray aAllowedProviders,
- RProviderArray aDeniedProviders);
-
- /**
- * Gets the script file name
- *
- * @param aExecID TExecutableID script identifier
- * @param TDes& Output file name
- *
- * @return KErrNone if operation is successful; Otherwise one of
- * system wide error codes
- *
- */
- TInt GetScriptFile(TExecutableID aExecID, TDes& aScriptFile);
-
-private:
-
- /**
- * Overloaded constructor to initialise internal
- * state of CScriptManager
- *
- */
- inline CScriptManager(CSecMgrStore* aSecMgrDB, CPolicyManager* aPolicyMgr) :
- iSecMgrDB(aSecMgrDB), iPolicyMgr(aPolicyMgr)
- {
- }
-
- /**
- * Two-phased constructor
- *
- */
- void ConstructL();
-
- /**
- * Generates a new script identifier
- *
- */
- inline TExecutableID GetID()
- {
- if ( --iID > 0)
- return iID;
-
- return (TExecutableID)KSecurityServerUid2Int;
- }
-
-private:
-
- //list of script data structure
- RScripts iScripts;
-
- //reference to security manager store
- CSecMgrStore* iSecMgrDB;
-
- //reference to policymanager instance
- CPolicyManager* iPolicyMgr;
-
- //Last generated script identifier
- TExecutableID iID;
- };
-
-#endif //C_RTSECMGRSCRIPTMANAGER_H
-
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrserver.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,398 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Core Runtime Security Manager Server Class
- *
-*/
-
-
-
-
-
-
-
-#ifndef C_CRTSECMGRSERVER_H
-#define C_CRTSECMGRSERVER_H
-
-#include <rtsecmgrcommondef.h>
-#include "rtsecmgrserverdef.h"
-#include "rtsecmgrpolicy.h"
-#include "rtsecmgrstore.h"
-#include "rtsecmgrpolicymanager.h"
-#include "rtsecmgrscriptmanager.h"
-
-class CPolicyManager;
-class CScriptManager;
-class CSecMgrStore;
-
-//needed for creating server thread.
-const TUint KDefaultHeapSize=0x10000;
-const TUint KShutDownDelay = 2000000; // Aprox 2 sec
-
-/*
- * Shutdown timer class
- *
- * @exe rtsecmgrserver.exe
- */
-class CShutDown : public CTimer
- {
-public:
- inline CShutDown();
- inline void ConstructL();
- inline void Start();
- inline virtual ~CShutDown();
-
-private:
- inline void RunL();
- };
-
-#include "rtsecmgrshutdown.inl"
-
-#include "rtsecmgrserverpolicy.inl"
-
-/*
- CRTSecMgrServer class
-
- Represents the server.
-
- The server starts with the first client connect call.
- Start includes setting up active scheduler, the server active object,
- and the object container index which produces object object containers for each session.
- */
-class CRTSecMgrServer : public CPolicyServer //CServer2 //CPolicyServer
- {
-public:
- /*
- * Creates a new session with the server;
- *
- * @param aVersion const TVersion& version information of security manager server
- * @param aMessage const RMessage2& server's current message
- *
- * @return CSession2* pointer to base instance of created server session
- */
- CSession2* NewSessionL(const TVersion& aVersion, const RMessage2& aMessage) const;
-
- /*
- * Two-phased constructor. Creates a new server object.
- *
- * @param aActiveObjectPriority TPriority priorty of the server process
- *
- * @return CRTSecMgrServer* pointer to new instance of CRTSecMgrServer
- */
- static CRTSecMgrServer* NewL(CActive::TPriority aActiveObjectPriority);
-
- /*
- * Two-phased constructor. Creates a new server object and leaves
- * the created instance on the cleanupstack.
- *
- * @param aActiveObjectPriority TPriority priorty of the server process
- *
- * @return CRTSecMgrServer* pointer to new instance of CRTSecMgrServer
- */
- static CRTSecMgrServer* NewLC(CActive::TPriority aActiveObjectPriority);
-
- /*
- * Utility method to panic the server
- *
- * @param aPanic TSecMgrServPanic Panic error code
- *
- */
- inline static void PanicServer(TSecMgrServPanic aPanic);
-
- /*
- * Returns an object container, and guaranteed
- * to produce object containers with unique ids
- * within the server
- *
- * This method is called by a new session to create
- * a container
- *
- *
- * @return CObjectCon* a new object container
- */
- CObjectCon* NewContainerL();
-
- /*
- * Adds a new server side session
- *
- */
- inline void AddSession();
-
- /*
- * Removes a server side session by decrementing
- * the session count.
- *
- * If the session count reaches zero, this method
- * initiates server shut down timer
- *
- */
- inline void RemoveSession();
-
- /*
- * Removes a container object from the container
- * index
- *
- * @param aContainer CObjectCon* pointer to containter object
- * to be removed
- */
- inline void RemoveFromContainerIx(CObjectCon* aContainer);
-
- /*
- * Generates a new script identifier
- *
- * @param aExecID TExecutableID& output generated script identifier
- *
- * @return KErrNone if generation of script identifier successful
- */
- inline TInt ReadCounter(TExecutableID& aExecID);
-
- /*
- * Registers a new policy. The actual task is performed by
- * server side session.
- *
- * @param aPolicyID TPolicyID policy identifier
- * @param aDomains const RProtectionDomains& domains to be added
- *
- * @return KErrNone if generation of script identifier successful
- */
- inline void AddPolicyL(TPolicyID aPolicyID, const RProtectionDomains& aDomains, RAliasGroup& aAliasGroup);
-
- /*
- * Checks whether policy with the passed policy identifier exists.
- * The actual task is performed by server side session.
- *
- * @param aPolicyID TPolicyID policy identifier
- *
- * @return EFalse if policy identifier does not exist; Otherwise ETrue
- */
- inline TBool IsValidPolicy(TPolicyID aPolicyID) const;
-
- /*
- * Removes an existing policy with the passed policy identifier.
- * The actual task is performed by server side session.
- *
- * @param aPolicyID TPolicyID policy identifier
- *
- * @return KErrNone if removal of policy is successful; Otherwise one
- * of system wide error codes
- */
- inline TInt RemovePolicy(TPolicyID aPolicyID);
-
- /*
- * Register a runtime script with security manager.
- * The actual task is performed by server side session.
- *
- * @param aPolicyID TPolicyID policy identifier
- * @param aHashValue const TDesC& hashvalue of script
- *
- * @return TExecutableID valid script identifier is registration
- * is successful; otherwise one of system wide error codes
- *
- */
- inline TExecutableID
- RegisterScript(TPolicyID aPolicyID, const TDesC& aHashValue);
-
- /*
- * Register a runtime script with security manager.
- * The actual task is performed by server side session.
- *
- * @param aPolicyID TPolicyID policy identifier
- *
- * @return TExecutableID valid script identifier is registration
- * is successful; otherwise one of system wide error codes
- *
- */
- inline TExecutableID
- RegisterScript(TPolicyID aPolicyID);
-
- /*
- * UnRegisters a runtime script from security manager.
- * The actual task is performed by server side session.
- *
- * @param aExecID TExecutableID script identifier
- * @param aPolicyID TPolicyID policy identifier
- *
- *
- */
- inline void UnRegisterScriptL(TExecutableID aExecID, TPolicyID aPolicyID);
-
- /*
- * Gets script data structure. The script identifier
- * is specified in the input script object
- *
- * @param aScript CScript& Input output script object
- *
- * @return KErrNone if script object is successsfully internalized
- *
- */
- inline TInt GetCapabilityInfo(CScript& aScript);
-
- /*
- * Gets script data structure. The script identifier
- * is specified in the input script object
- *
- * @param aPolicyID TPolicyID policy identifier
- * @param aExecID TExecutableID script identifier
- * @param aScript CScript& Input output script object
- *
- * @return KErrNone if script object is successsfully internalized
- *
- */
- TInt GetCapabilityInfo(TPolicyID aPolicyID, TExecutableID aExecID,
- CScript& aScript);
-
- /*
- * Utility method to get the name of the script file
- *
- * @param aPolicyID TPolicyID policy identifier
- * @param aScriptFile TFileName& input output name of script file
- *
- * @return KErrNone if script filename is successsfully fetched
- *
- */
- inline TInt GetScriptFile(TExecutableID aExecID, TDes& aScriptFile);
-
- /*
- * Utility method to update the permanently allowed or denied
- * permissions for the script object
- *
- * @param aExecID TExecutableID script identifier of script object whose
- * permanent permissions are modified
- * @param aPermGrant TPermGrant permanently allowed permissions
- * @param aPermDenied TPermGrant permanently denied permissions
- *
- */
- void UpdatePermGrantL(TExecutableID aExecID, TPermGrant aPermGrant,
- TPermGrant aPermDenied);
-
- /*
- * Utility method to update the permanently allowed or denied
- * permissions for the script object
- *
- * @param aExecID TExecutableID script identifier of script object whose
- * permanent permissions are modified
- * @param aPermGrant TPermGrant permanently allowed permissions
- * @param aPermDenied TPermGrant permanently denied permissions
- *
- */
- void UpdatePermGrantL(TExecutableID aExecID, RProviderArray aAllowedProviders,
- RProviderArray aDeniedProviders);
- /*
- * Utility method to create a backup for the policy file
- *
- * @param aPolicyID TPolicyID policy identifier for the file
- * getting backed up
- * @return KErrNone if backupfile is successsfully created
- *
- */
- inline TInt BackupFile(TPolicyID aPolicyID);
-
- /*
- * Utility method to remove the backup file created
- *
- * @param aPolicyID TPolicyID policy identifier for the file
- * whose backup is getting removed
- * @return KErrNone if backup file is successsfully removed
- *
- */
- inline TInt RemoveTempPolicy(TPolicyID aPolicyID);
-
- /*
- * Utility method to restore the backup file created if update fails
- *
- * @param aPolicyID TPolicyID policy identifier for the file
- * which is restored back
- * @return KErrNone if backup file is successsfully restored
- *
- */
- inline TInt RestoreTempPolicy(TPolicyID aPolicyID);
-
- /*
- * Utility method to get the policy file information
- *
- * @param aPolicyID TPolicyID policy identifier for the file
- * which is restored back
- * @return CPolicy* pointer to instance of Cpolicy stored in CPolicyManager
- *
- */
- inline CPolicy* ReturnPolicyInfo(TPolicyID aPolicyID);
-
- /*
- * Utility method to store the policy file information
- *
- * @param aPolicy CPolicy policy information from parser
- *
- */
- inline void StorePolicyL(const CPolicy& aPolicy);
-
-
-private:
- /*
- * Constructor
- */
- inline CRTSecMgrServer(CActive::TPriority aActiveObjectPriority);
-
- /*
- * Second phase constructor
- *
- */
- void ConstructL();
-
- /*
- * Server destructor
- *
- */
- ~CRTSecMgrServer();
-
-private:
-
- /*
- * shutdown timer object
- *
- */
- CShutDown iShutDown;
-
- /*
- * Session counter
- *
- */
- TInt iSessionCount;
-
- /*
- * Session container index
- *
- */
- CObjectConIx* iContainerIndex;
-
- /*
- * Reference to policy manager
- *
- */
- CPolicyManager* iPolicyMgr;
-
- /*
- * Reference to script manager
- *
- */
- CScriptManager* iScriptMgr;
-
- /*
- * Reference to security manager store
- *
- */
- CSecMgrStore* iSecMgrDb;
- };
-
-#include "rtsecmgrserver.inl"
-
-#endif //C_CRTSECMGRSERVER_H
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrserver.inl Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-/*
- * Constructor
- */
-inline CRTSecMgrServer::CRTSecMgrServer(CActive::TPriority aActiveObjectPriority) :
- //CServer2(aActiveObjectPriority)
- CPolicyServer( aActiveObjectPriority, KSecMgrSrvPolicy)
- {
- iSessionCount = 0;
- }
-
-/**
- A utility function to panic the server.
- */
-inline void CRTSecMgrServer::PanicServer(TSecMgrServPanic aPanic)
- {
- _LIT (KTxtSecMgrServer, "SecurityMgrServer");
- User::Panic (KTxtSecMgrServer, aPanic);
- }
-
-inline CObjectCon* CRTSecMgrServer::NewContainerL()
- {
- return iContainerIndex->CreateL ();
- }
-
-inline void CRTSecMgrServer::AddSession()
- {
- iShutDown.Cancel();
- ++iSessionCount;
- }
-
-inline void CRTSecMgrServer::RemoveSession()
- {
- if (--iSessionCount == 0)
- if(!iShutDown.IsActive())
- iShutDown.Start();
- }
-
-inline void CRTSecMgrServer::RemoveFromContainerIx(CObjectCon *aContainer)
- {
- iContainerIndex->Remove(aContainer);
- }
-
-inline TInt CRTSecMgrServer::GetScriptFile(TExecutableID aExecID,
- TDes& aScriptFile)
- {
- return iScriptMgr->GetScriptFile (aExecID, aScriptFile);
- }
-
-inline TInt CRTSecMgrServer::GetCapabilityInfo(CScript& aScriptInfo)
- {
- return iScriptMgr->ScriptInfo (aScriptInfo);
- }
-
-inline void CRTSecMgrServer::UpdatePermGrantL(TExecutableID aExecID,
- TPermGrant aPermGrant, TPermGrant aPermDenied)
- {
- iScriptMgr->UpdatePermGrantL (aExecID, aPermGrant, aPermDenied);
- }
-
-inline void CRTSecMgrServer::UpdatePermGrantL(TExecutableID aExecID,
- RProviderArray aAllowedProviders,RProviderArray aDeniedProviders)
- {
- iScriptMgr->UpdatePermGrantL (aExecID, aAllowedProviders, aDeniedProviders);
- }
-
-inline TInt CRTSecMgrServer::ReadCounter(TExecutableID& aExecID)
- {
- return iSecMgrDb->ReadCounter (aExecID);
- }
-
-inline void CRTSecMgrServer::AddPolicyL(TPolicyID aPolicyID,
- const RProtectionDomains& aPolicyInfo, RAliasGroup& aAliasInfo)
- {
- CPolicy* policy = CPolicy::NewLC (aPolicyID, aPolicyInfo, aAliasInfo/*,RTrustArray()*/);
- iPolicyMgr->RegisterPolicyL (*policy);
- CleanupStack::Pop (policy);
- }
-
-inline TInt CRTSecMgrServer::RemovePolicy(TPolicyID aPolicyID)
- {
- return iPolicyMgr->UnRegisterPolicy (aPolicyID);
- }
-
-inline TExecutableID CRTSecMgrServer::RegisterScript(TPolicyID aPolicyID/*,const CTrustInfo& aTrustInfo*/)
- {
- return iScriptMgr->RegisterScript (aPolicyID);
- }
-
-inline TExecutableID CRTSecMgrServer::RegisterScript(TPolicyID aPolicyID, const TDesC& aHashValue)
- {
- return iScriptMgr->RegisterScript (aPolicyID, aHashValue);
- }
-
-inline void CRTSecMgrServer::UnRegisterScriptL(TExecutableID aExecID,
- TPolicyID aPolicyID)
- {
- iScriptMgr->UnRegisterScriptL (aExecID, aPolicyID);
- }
-
-inline TBool CRTSecMgrServer::IsValidPolicy(TPolicyID aPolicyID) const
- {
- return iPolicyMgr->HasPolicy (aPolicyID);
- }
-
-inline TInt CRTSecMgrServer::BackupFile(TPolicyID aPolicyID)
- {
- return iSecMgrDb->BackupFile(aPolicyID);
- }
-
-inline TInt CRTSecMgrServer::RemoveTempPolicy(TPolicyID aPolicyID)
- {
- return iSecMgrDb->RemoveTempPolicy(aPolicyID);
- }
-
-inline TInt CRTSecMgrServer::RestoreTempPolicy(TPolicyID aPolicyID)
- {
- return iSecMgrDb->RestoreTempPolicy(aPolicyID);
- }
-
-inline CPolicy* CRTSecMgrServer::ReturnPolicyInfo(TPolicyID aPolicyID)
- {
- return iPolicyMgr->Policy(aPolicyID);
- }
-
-inline void CRTSecMgrServer::StorePolicyL(const CPolicy& aPolicy)
- {
- return iSecMgrDb->StorePolicyL(aPolicy);
- }
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrserverdef.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Common server specific definitions
- *
-*/
-
-
-
-
-
-
-#ifndef _RTSECMGRSERVERDEF_H
-#define _RTSECMGRSERVERDEF_H
-
-#include <e32base.h>
-
-#define KMaxName 256
-enum TFileType
- {
- EPolicy = 1,
- EScript
- };
-
-/** panic codes */
-enum TSecMgrServPanic
- {
- EBadRequest = 1,
- EBadDescriptor,
- EDescriptorNonNumeric,
- EMainSchedulerError,
- ESvrCreateServer,
- ESvrStartServer,
- ECreateTrapCleanup,
- EBadCounterRemove,
- EBadSubsessionHandle
- };
-
-const TUid KCRUIdSecMgr =
- {
- 0x2000F847
- };
-
-const TUint32 KSecMgrScriptID = 0x2000F847;
-
-//Pre-defined capability strings that may be defined
-//as part of metadata information
-_LIT(KCapabilityTCB, "TCB");
-_LIT(KCapabilityCommDD, "CommDD");
-_LIT(KCapabilityPowerMgmt, "PowerMgmt");
-_LIT(KCapabilityMultimediaDD, "MultimediaDD");
-_LIT(KCapabilityReadDeviceData, "ReadDeviceData");
-_LIT(KCapabilityWriteDeviceData, "WriteDeviceData");
-_LIT(KCapabilityDRM, "DRM");
-_LIT(KCapabilityTrustedUI, "TrustedUI");
-_LIT(KCapabilityProtServ, "ProtServ");
-_LIT(KCapabilityDiskAdmin, "DiskAdmin");
-_LIT(KCapabilityNetworkControl, "NetworkControl");
-_LIT(KCapabilityAllFiles, "AllFiles");
-_LIT(KCapabilitySwEvent, "SwEvent");
-_LIT(KCapabilityNetworkServices, "NetworkServices");
-_LIT(KCapabilityLocalServices, "LocalServices");
-_LIT(KCapabilityReadUserData, "ReadUserData");
-_LIT(KCapabilityWriteUserData, "WriteUserData");
-_LIT(KCapabilityLocation, "Location");
-_LIT(KCapabilitySurroundingsDD, "SurroundingsDD");
-_LIT(KCapabilityUserEnvironment, "UserEnvironment");
-
-//pre-defined UserPromptOption strings
-_LIT(KUserPromptOneShot, "oneshot");
-_LIT(KUserPromptSession, "session");
-_LIT(KUserPromptBlanket, "blanket");
-_LIT(KNo, "no");
-
-_LIT(KPolicyDir, "policy");
-_LIT(KScriptDir, "script");
-_LIT(KDirSeparator, "\\");
-_LIT(KDatExtn, ".dat");
-_LIT(KCDrive, "c:");
-_LIT(KConfigFile, "config.dat");
-
-#endif
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrserverpolicy.inl Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-/*
- * Security Manager Server's policy
- *
- */
-
-/*
- * Total number of ranges
- */
-const TUint KSecMgrSrvPolicyRangeCount = 1;
-
-// Definition of the ranges of IPC numbers
-const TInt KSecMgrSrvRanges[KSecMgrSrvPolicyRangeCount] =
- {
- 0
- //,
- //ESecMgrSrvReqEnd // 2nd range, non implemented function end of range check; ENotSupported
- };
-
-// Policy to implement for each of the above ranges
-const TUint8 KSecMgrSrvElementsIndex[KSecMgrSrvPolicyRangeCount] =
- {
- 0
- //, // Applies to 0th range
- //CPolicyServer::ENotSupported // Applies to 1st range
- };
-
-// Specific capability checks
-const CPolicyServer::TPolicyElement KSecMgrSrvElements[] =
- {
- { _INIT_SECURITY_POLICY_C1( ECapabilityReadUserData ), CPolicyServer::EFailClient }, // Policy "0"
- //{ _INIT_SECURITY_POLICY_C1( ECapabilityWriteDeviceData ), CPolicyServer::EFailClient }, // Policy "1"
- //{ _INIT_SECURITY_POLICY_S0( KSensrvTestFrameworkUid ), CPolicyServer::EPanicClient }, // Policy "2", i.e. access is allowed only for test framework
- };
-
-// Package all the above together into a policy
-const CPolicyServer::TPolicy KSecMgrSrvPolicy =
- {
- CPolicyServer::EAlwaysPass, // All connect attempts to Security Manager Server pass
- KSecMgrSrvPolicyRangeCount, // Number of ranges
- KSecMgrSrvRanges, // Ranges array
- KSecMgrSrvElementsIndex, // Elements <-> ranges index
- KSecMgrSrvElements, // Array of elements
- };
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrsession.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,247 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Security Manager Server Session Class
- *
-*/
-
-
-
-
-
-
-#ifndef C_CRTSECMGRSESSION_H
-#define C_CRTSECMGRSESSION_H
-
-#include "rtsecmgrcommondef.h"
-#include "rtsecmgrdata.h"
-
-class CSecMgrStore;
-class CRepository;
-class CRTSecMgrSubSession;
-
-/*
- * Server side session class
- *
- * @exe rtsecmgrserver.exe
- *
- */
-class CRTSecMgrSession : public CSession2
- {
-public:
-
- /*
- * Destructor
- *
- */
- inline ~CRTSecMgrSession();
-
- /**
- * Two-phased constructor
- *
- * Constructs a CRTSecMgrSession instance
- *
- * @return CRTSecMgrSession* pointer to an instance of CRTSecMgrSession
- */
- inline static CRTSecMgrSession* NewL();
-
- /*
- * Called by client/server framework after
- * session has been successfully created
- *
- */
- virtual void CreateL();
-
- /*
- * Treats incoming service requests
- * and disatches accordingly
- *
- * @param aMessage const RMessage2& Incoming message
- */
- inline void ServiceL(const RMessage2& aMessage);
-
- /*
- * Dispatches message to sub-session if the message
- * is to be handled by server sub-session. Server
- * session related messages are treated locally
- *
- * @param aMessage const RMessage2& Incoming message
- */
- void DispatchMessageL(const RMessage2& aMessage);
-
- /*
- * Creates new subsession
- *
- * @param aMessage const RMessage2& Incoming message
- */
- void NewSubSessionL(const RMessage2& aMessage);
-
- /*
- * Closes the subsession
- *
- */
- void CloseSession();
-
- /*
- * Delete the subsession object through its handle.
- *
- * @param aHandle TInt Subsession handle
- */
- inline void DeleteSubSession(TInt aHandle);
-
- /*
- * Gets The SubSession from Hnadle
- *
- * @param aMessage const RMessage2& Incoming message
- * @param aHandle TInt Subsession handle
- *
- * @return CRTSecMgrSubSession* pointer to subsession object
- */
- CRTSecMgrSubSession* SubSessionFromHandle(const RMessage2& aMessage,
- TInt aHandle);
-
- /*
- * Utility method to panic client
- *
- * @param aMessage const RMessage2& Incoming message
- * @param aPanic TInt Panic error code
- *
- */
- inline void PanicClient(const RMessage2& aMessage, TInt aPanic) const;
-
- /*
- * Message handler method to set policy
- *
- * @param aMessage const RMessage2& Incoming message
- * @param aIsUpdate TBool Toggle to identify whether the incoming
- * message is for setting policy or updating policy
- *
- */
- void SetPolicy(const RMessage2& aMessage, TBool aIsUpdate=EFalse);
-
- /*
- * Message handler method to update policy
- *
- * @param aMessage const RMessage2& Incoming message
- *
- */
- void UpdatePolicy(const RMessage2& aMessage);
-
- /*
- * Message handler method to unset policy
- *
- * @param aMessage const RMessage2& Incoming message
- *
- */
- void UnsetPolicy(const RMessage2& aMessage);
-
- /*
- * Message handler method to register script
- *
- * @param aMessage const RMessage2& Incoming message
- * @param aHashValue Toggle to indicate if script has hash value
- *
- */
- void RegisterScript(const RMessage2& aMessage, TBool aHashValue=EFalse);
-
- /*
- * Message handler method to un-register script
- *
- * @param aMessage const RMessage2& Incoming message
- *
- */
- void UnregisterScript(const RMessage2& aMessage);
-
- /*
- * Message handler method to create script sub-session
- *
- * @param aMessage const RMessage2& Incoming message
- *
- */
- void GetScriptSessionL(const RMessage2& aMessage);
-
- /*
- * Message handler method to create script sub-session
- * for trusted unregistered scripts
- *
- * @param aMessage const RMessage2& Incoming message
- *
- */
- void GetTrustedUnRegScriptSessionL(const RMessage2& aMessage);
-
- /*
- * Utility method to find out if a script sub-session is open
- * with the script having the assocaited policy identifier
- * specified in the input argument
- *
- * @param aPolicyID TPolicyID policy identifier to be checked
- *
- * @return TBool EFalse if no parallel script sub-sessions are open; ETrue
- * otherwise ETrue
- *
- */
- TBool IsScriptOpenWithPolicy(TPolicyID aPolicyID);
-
- /*
- * Utility method to find out if a script sub-session is open
- * with the script having the script identifier
- * specified in the input argument
- *
- * @param aScriptID TExecutableID script identifier to be checked
- *
- * @return TBool EFalse if no parallel script sub-sessions are open; ETrue
- * otherwise ETrue
- *
- */
- TBool IsScriptSessionOpen(TExecutableID aScriptID,CRTSecMgrSubSession* aCurrentSession=NULL);
-
-private:
-
- /*
- * Default private constructor
- *
- *
- */
- inline CRTSecMgrSession();
-
-private:
- /*
- * Object container for this session.
- *
- */
- CObjectCon *iContainer;
-
- /*
- * Object index which stores objects
- *
- */
- CObjectIx* iSubSessionObjectIndex;
-
- /*
- * subsession counter
- *
- */
- TInt iSubSessionCount;
- /*
- * Security manager server instance
- *
- * Stored as member variable for convenient
- * access
- */
- CRTSecMgrServer* iSecMgrServer;
- };
-
-#include "rtsecmgrsession.inl"
-
-#endif //C_CRTSECMGRSESSION_H_
-
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrsession.inl Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-inline CRTSecMgrSession::CRTSecMgrSession()
- {
- iSecMgrServer = dynamic_cast<CRTSecMgrServer*> (const_cast<CServer2*> (Server()));
- }
-inline CRTSecMgrSession::~CRTSecMgrSession()
- {
- }
-
-inline CRTSecMgrSession* CRTSecMgrSession::NewL()
- {
- return new (ELeave) CRTSecMgrSession();
- }
-
-/**
- * First line servicing of a client request.
-
- * This function dispatches requests to the appropriate handler.
- * Some messages are handled by the session itself, and are
- * implemented as CRTSecMgrSession member functions, while
- * other messages are handled by the subsession, and are
- * implemented as CRTSecMgrSubSession member functions.
- */
-inline void CRTSecMgrSession::ServiceL(const RMessage2& aMessage)
- {
- TRAPD(err,DispatchMessageL(aMessage));
- aMessage.Complete (err);
- }
-
-/**
- * Delete a subsession object through its handle.
- *
- */
-inline void CRTSecMgrSession::DeleteSubSession(TInt aHandle)
- {
- // This will delete the SubSession object; the object is
- // reference counted, and removing the handle causes the object to be closed
- // [closing reduces the access count - the object is deleted if the access
- // count reaches zero etc].
- iSubSessionObjectIndex->Remove (aHandle);
- // decrement resource count
- iSubSessionCount--;
- }
-
-inline void CRTSecMgrSession::PanicClient(const RMessage2& aMessage, TInt aPanic) const
- {
- _LIT(KTxtServer,"SecurityMgr server");
- aMessage.Panic (KTxtServer, aPanic);
- }
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrshutdown.inl Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-inline CShutDown::CShutDown() :
- CTimer(-1)
- {
- CActiveScheduler::Add (this);
- }
-inline void CShutDown::ConstructL()
- {
- CTimer::ConstructL ();
- }
-inline void CShutDown::Start()
- {
- After (KShutDownDelay);
- }
-
-inline CShutDown::~CShutDown()
- {
- }
-
-inline void CShutDown::RunL()
- {
- CActiveScheduler::Stop ();
- CActiveScheduler::Install (NULL);
- }
\ No newline at end of file
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrstore.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,292 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Definition of security manager persistent store class
- *
-*/
-
-
-
-
-
-
-#ifndef C_RTSECMGRSTORE_H
-#define C_RTSECMGRSTORE_H
-
-#include <e32std.h>
-#include <badesca.h>
-#include <d32dbms.h>
-#include <f32file.h>
-#include <s32file.h>
-#include "rtsecmgrcommondef.h"
-#include "rtsecmgrserverdef.h"
-#include "rtsecmgrdata.h"
-
-/*
- * Abstracts the underlying security manager persistent storage
- * type.
- *
- * Provides methods to store and retrieve security policy data
- * and script related data.
- *
- * @see CProtectionDomain
- * @see CScript
- *
- * @exe rtsecmgrserver.exe
- */
-NONSHARABLE_CLASS(CSecMgrStore) : public CBase
- {
-public:
-
- /**
- * Two-phased constructor
- *
- * Constructs a CSecMgrStore instance
- *
- * @return CSecMgrStore* pointer to an instance of CSecMgrStore
- */
- static CSecMgrStore* NewL();
-
- /**
- * Two-phased constructor
- *
- * Constructs a CSecMgrStore instance and leaves the created
- * instance on the cleanupstack
- *
- * @return CSecMgrStore* pointer to an instance of CSecMgrStore
- */
- static CSecMgrStore* NewLC();
-
- /**
- * Destructor
- *
- * Closes file session connection
- *
- */
- inline ~CSecMgrStore();
-
- /**
- * Updates policy data to the stream.
- *
- * This method creates a new policy file with the name equivalent to
- * policy identifier under security manager servers private directory.
- *
- * The policy data are serialized to the newly created policy file.
- *
- * If policy file already exists, the content will be overwritten.
- *
- * @param aPolicyID TPolicyID policy identifier
- * @param aPolicies const RProtectionDomains& list of domains to serialize
- *
- */
- void StorePolicyL(const CPolicy& aPolicy);
-
- /**
- * Removes policy file from the persistent storage.
- *
- * This method looks for an existing policy file with the name equivalent to
- * policy identifier under security manager servers private directory. If policy
- * file is found, the file will be deleted from file system.
- *
- * @param aPolicyID TPolicyID policy identifier of the policy to be removed
- *
- * @return KErrNone if policy file removal corresponding to policy identifier passed is successful;
- * Otherwise, one of system wide error codes
- *
- */
- TInt RemovePolicy(TPolicyID aPolicyID);
-
- /**
- * Restores policy data from the stream.
- *
- * This method internalizes the policy data from the persistent
- * storage.
- *
- * @param aPolicies RPolicies& Input policy data to be internalized
- *
- */
- void RestorePoliciesL(RPolicies& aPolicies);
-
- /**
- * Registers a script with security manager persistent store.
- *
- * This method creates a new script file externalizing the script
- * data to the persistent stream.
- *
- * @param aExecID TExecutableID script identifier
- * @param aPolicyID TPolicyID policy identifier of the script
- * @param aScript const CScript& script data to be serialized
- *
- */
- void RegisterScriptL(TExecutableID aExecID, const CScript& aScript);
-
- /**
- * UnRegisters a script with security manager persistent store.
- *
- * This method removes an existing script file from the persistent stream.
- *
- * @param aExecID TExecutableID script identifier to be removed
- *
- */
- void UnRegisterScriptL(TExecutableID aExecID);
-
- /**
- * Internalizes the script data structure with script
- * information read from the persistent store
- *
- * @param aExecID TExecutableID script identifier
- * @param aScriptInfo CScript& script data to be internalized
- *
- */
- TInt ReadScriptInfo(TExecutableID aExecID, CScript& aScriptInfo);
-
- /**
- * Utility method to get the script file name given the script identifier.
- *
- * @param aExecID TExecutableID script identifier
- * @param aScriptFile TDes& output file name to be returned
- *
- * @return KErrNone if script file name is found; Otherwise one of
- * system wide error codes
- *
- */
- TInt GetScriptFile(TExecutableID aExecID,TDes& aScriptFile);
-
- /**
- * Externalizes the script data structure with script
- * information read to the persistent store
- *
- * @param aExecID TExecutableID script identifier
- * @param aScriptInfo CScript& script data to be externalized
- *
- */
- void WriteScriptInfoL(TExecutableID aExecID, CScript& aScriptInfo);
-
- /**
- * Reads the script identifier from security manager configuration
- * repository
- *
- * @param aExecID TExecutableID& output script identifier
- *
- * @return KErrNone if reading of identifier is successful; Otherwise
- * one of system wide error codes
- */
- TInt ReadCounter(TExecutableID& aExecID);
-
- /**
- * Writes the script identifier to security manager configuration
- * repository
- *
- * @param aExecID TExecutableID script identifier to be externalized
- *
- * @return KErrNone if writing of identifier is successful; Otherwise
- * one of system wide error codes
- */
- TInt WriteCounter(TExecutableID aExecID);
-
- /*
- * Utility method to create a backup for the policy file
- *
- * @param aPolicyID TPolicyID policy identifier for the file
- * getting backed up
- * @return KErrNone if backupfile is successsfully created
- *
- */
-
- TInt BackupFile(TPolicyID aPolicyID);
-
- /*
- * Utility method to remove the backup file created
- *
- * @param aPolicyID TPolicyID policy identifier for the file
- * whose backup is getting removed
- * @return KErrNone if backup file is successsfully removed
- *
- */
- TInt RemoveTempPolicy(TPolicyID aPolicyID);
-
- /*
- * Utility method to restore the backup file created if update fails
- *
- * @param aPolicyID TPolicyID policy identifier for the file
- * which is restored back
- * @return KErrNone if backup file is successsfully restored
- *
- */
- TInt RestoreTempPolicy(TPolicyID aPolicyID);
-
-private:
-
- /*
- * Default private constructor
- */
- inline CSecMgrStore();
-
- /*
- * Two-phased constructor
- *
- */
- inline void ConstructL();
-
- /*
- * Utility method to get security manager's private path
- *
- */
- TInt GetPrivatePath(TDes& aPrivatePath);
-
- /*
- * Utility method to get security manager's configuration file
- *
- */
- TInt GetConfigFile(TDes& aPrivatePath);
-
- /*
- * Utility method to get security manager's policy file
- * name
- *
- */
- TInt GetPolicyPath(TDes& aFile);
-
- /*
- * Utility method to get security manager's script file
- * storage path
- *
- */
- TInt GetScriptPath(TDes& aFile);
-
- /*
- * Utility method to get security manager's script file
- * name given a script identifier
- *
- */
- TInt GetScriptFile(TDes& aFile,TExecutableID aExecID);
-
-
-
- /*
- * Utility method to get security manager's policy file
- * name given the policy identifier
- *
- */
- TInt GetPolicyFile(TDes& aFile,TPolicyID aPolicyID);
-
-
-private:
-
- //underlying file session
- RFs iFsSession;
- };
-
-#include "rtsecmgrstore.inl"
-
-#endif
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrstore.inl Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-/*
- * Default private constructor
- */
-inline CSecMgrStore::CSecMgrStore()
- {
- }
-
-/*
- * Two-phased constructor
- *
- */
-inline void CSecMgrStore::ConstructL()
- {
- User::LeaveIfError (iFsSession.Connect ());
- }
-
-/**
- * Destructor
- *
- * Closes file session connection
- *
- */
-inline CSecMgrStore::~CSecMgrStore()
- {
- iFsSession.Close ();
- }
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrsubsession.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Security Manager Server Script Sub-Session Class
- *
-*/
-
-
-
-
-
-
-#ifndef C_CRTSECMGRSUBSESSION_H
-#define C_CRTSECMGRSUBSESSION_H
-
-#include "rtsecmgrcommondef.h"
-#include "rtsecmgrdata.h"
-#include "rtsecmgrserver.h"
-
-class CRTSecMgrSession;
-
-/*
- * Server side script sub-session class
- *
- * @exe rtsecmgrserver.exe
- *
- */
-class CRTSecMgrSubSession : public CObject
- {
-public:
-
- /**
- * Two-phased constructor
- *
- * Constructs a CRTSecMgrSubSession instance
- *
- * @return CRTSecMgrSubSession* pointer to an instance of CRTSecMgrSession
- */
- inline static CRTSecMgrSubSession* NewL(CRTSecMgrSession* aSession,
- CScript* aScript,CRTSecMgrServer* aSecMgrServer);
-
- /**
- * Destructor
- *
- */
- inline ~CRTSecMgrSubSession();
-
- /**
- * Handles get script file service
- *
- * @param aMessage const RMessage2& Input message
- *
- */
- void GetScriptFile(const RMessage2& aMessage);
-
- /**
- * Handles update permanent permission service
- *
- * @param aMessage const RMessage2& Input message
- *
- */
- void UpdatePermGrantL(const RMessage2& aMessage);
-
- /**
- * Handles update permanent permission service
- *
- * @param aMessage const RMessage2& Input message
- *
- */
- void UpdatePermGrantProviderL(const RMessage2& aMessage);
-
- /**
- * Gets script identifier of the underlying script object
- *
- * @return TExecutableID script identifier of script object
- *
- */
- inline TExecutableID ScriptID() const;
-
- /**
- * Gets the underlying script object
- *
- * @return const CScript& the script object
- *
- */
- inline const CScript& Script() const;
-private:
-
- /**
- * Constructor
- *
- */
- inline CRTSecMgrSubSession(CRTSecMgrSession* aSession, CScript* aScript,CRTSecMgrServer* aSecMgrServer);
-
-private:
-
- /*
- *
- * Reference to parent session object
- */
- CRTSecMgrSession* iSession; // The session that owns this CRTSecMgrSession object.
-
- /*
- * script identifier
- *
- */
- TExecutableID iScriptID;
-
- /*
- *
- * pointer to script object
- */
- CScript* iScript;
- /*
- * Security manager server instance
- *
- * Stored as member variable for convenient
- * access
- */
- CRTSecMgrServer* iSecMgrServer;
- };
-
-#include "rtsecmgrsubsession.inl"
-
-#endif //C_CRTSECMGRSUBSESSION_H
-
--- a/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrsubsession.inl Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-inline CRTSecMgrSubSession::CRTSecMgrSubSession(CRTSecMgrSession* aSession,
- CScript* aScriptInfo, CRTSecMgrServer* aSecMgrServer) :
- iSession(aSession), iScript(aScriptInfo),iSecMgrServer(aSecMgrServer)
- {
- }
-
-inline CRTSecMgrSubSession* CRTSecMgrSubSession::NewL(CRTSecMgrSession* aSession,
- CScript* aScript,CRTSecMgrServer* aSecMgrServer)
- {
- return new (ELeave) CRTSecMgrSubSession(aSession,aScript,aSecMgrServer);
- }
-
-inline CRTSecMgrSubSession::~CRTSecMgrSubSession()
- {
- delete iScript;
- }
-
-inline TExecutableID CRTSecMgrSubSession::ScriptID() const
- {
- if ( iScript)
- {
- return iScript->ScriptID ();
- }
-
- return KAnonymousScript;
- }
-
-inline const CScript& CRTSecMgrSubSession::Script() const
- {
- return *iScript;
- }
\ No newline at end of file
--- a/rtsecuritymanager/rtsecuritymanagerserver/src/rtsecmgrclientapi.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,430 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation file for security manager server, session and
- * sub-session classes
- *
-*/
-
-
-
-
-
-
-#include <f32file.h>
-#include <e32debug.h>
-#include <rtsecmgrcommondef.h>
-#include "rtsecmgrserver.h"
-#include "rtsecmgrsession.h"
-#include "rtsecmgrsubsession.h"
-#include "rtsecmgrpolicyparser.h"
-#include "rtsecmgrstore.h"
-#include "rtsecmgrprotectiondomain.h"
-#include "rtsecmgrpolicymanager.h"
-#include "rtsecmgrscriptmanager.h"
-#include "rtsecmgrmsg.h"
-
-_LIT(KUntrusted, "UnTrusted");
-
-TInt CRTSecMgrServer::GetCapabilityInfo(TPolicyID aPolicyID,
- TExecutableID aExecID, CScript& aScript)
- {
- if ( KAnonymousScript==aExecID)
- {
- CPolicy* policy = iPolicyMgr->Policy (aPolicyID);
- if ( policy)
- {
- CProtectionDomain* domain = policy->ProtectionDomain (KUntrusted);
-
- if ( domain)
- {
- const CPermissionSet& permissionSet = domain->PermSet ();
- aScript.SetPermissionSet (permissionSet);
- return KErrNone;
- }
- }
- }
-
- return KErrNotFound;
- }
-
-void CRTSecMgrSession::SetPolicy(const RMessage2& aMessage, TBool aIsUpdate)
- {
- if(!aMessage.HasCapability(ECapabilityWriteDeviceData , ""))
- {
- TPckgBuf<TInt> pkg(ErrAccessDenied);
- aMessage.Write(EMsgArgZero , pkg);
- return;
- }
- RFile secPolicyFile;
- TPolicyID pID(ErrInvalidPolicyID);
-
- if ( KErrNone==secPolicyFile.AdoptFromClient (aMessage, EMsgArgOne,
- EMsgArgTwo))
- {
- CPolicyParser* policyParser = CPolicyParser::NewLC ();
- TInt ret(KErrNone);
-
- RProtectionDomains policyInfo;
- RAliasGroup aliasInfo;
- ret=policyParser->GetPolicyInfo (secPolicyFile, policyInfo, aliasInfo);
-
- if (KErrNone==ret)
- {
- if(aIsUpdate)
- {
- TPckgBuf<TInt> pIDPckg;
- aMessage.Read(0, pIDPckg);
- pID = pIDPckg();
- }
- else
- {
- if ( KErrNone==iSecMgrServer->ReadCounter (pID))
- {
- while (iSecMgrServer->IsValidPolicy(pID))
- {
- --pID ;
- }
- }
- else
- {
- pID = ErrServerReadConfig;
- }
- }
- TRAPD (err, iSecMgrServer->AddPolicyL (pID, policyInfo, aliasInfo));
-
- if ( KErrNone!=err)
- {
- pID = ErrSetPolicyFailed;
- }
-
- }
- else
- {
- pID = ErrInvalidPolicyFormat;
- policyInfo.ResetAndDestroy ();
- }
- CleanupStack::PopAndDestroy (policyParser);
- }
- else
- {
- pID = ErrFileSessionNotShared;
- }
-
- secPolicyFile.Close();
-
- TPckgBuf<TInt> pkg(pID);
- aMessage.Write (EMsgArgZero, pkg);
- }
-
-void CRTSecMgrSession::UpdatePolicy(const RMessage2& aMessage)
- {
- if(!aMessage.HasCapability(ECapabilityWriteDeviceData , ""))
- {
- TPckgBuf<TInt> pkg(ErrAccessDenied);
- aMessage.Write(EMsgArgZero , pkg);
- return;
- }
- TPckgBuf<TInt> pIDPckg;
- aMessage.Read (0, pIDPckg);
-
- TPolicyID pID(pIDPckg ());
-
- //Check if this ID already exists
- if ( !iSecMgrServer->IsValidPolicy(pID))
- {
- TPckgBuf<TInt> pkg(ErrUpdatePolicyFailed);
- aMessage.Write (EMsgArgZero, pkg);
- RFile secPolicyFile;
- //just to close the secPolicyFile. Else the temmporary file cannot be deleted
- secPolicyFile.AdoptFromClient (aMessage, EMsgArgOne,EMsgArgTwo);
- secPolicyFile.Close();
- return;
- }
- else
- {
- if ( IsScriptOpenWithPolicy (pID))
- {
- TPckgBuf<TInt> pkg(ErrUpdatePolicyFailed);
- aMessage.Write (EMsgArgZero, pkg);
- return;
- }
- }
-
- //back up the file before update (file with this policy Id)
- TInt backupResult = iSecMgrServer->BackupFile(pID);
-
- if(KErrNone == backupResult)
- {
- SetPolicy (aMessage, ETrue);
-
- aMessage.Read(0, pIDPckg);
- TInt resultSetPolicy = pIDPckg();
-
- if(resultSetPolicy < KErrNone)
- {
- //means that the policy updation is NOT successful due to invalid policy file
- //Hence retain the previous file by restoring the temp file
- TInt restoreResult = iSecMgrServer->RestoreTempPolicy(pID);
-
- if(KErrNone != restoreResult)
- {
- // file backup not created due to errors
- TPckgBuf<TInt> pkg(ErrRestoreTempFailed);
- aMessage.Write (EMsgArgZero, pkg);
- return;
- }
- }
-
- //Backup file is no longer useful.
- //Hence removing this temporary file using the method below
- TInt rmTempResult = iSecMgrServer->RemoveTempPolicy(pID);
- if(KErrNone != rmTempResult)
- {
- //temporary file not removed
-
- }
- }
- else
- {
- // file backup not created due to errors
- TPckgBuf<TInt> pkg(ErrBackupNotCreated);
- aMessage.Write (EMsgArgZero, pkg);
- return;
-
- }
-
- }
-
-void CRTSecMgrSession::UnsetPolicy(const RMessage2& aMessage)
- {
- if(!aMessage.HasCapability(ECapabilityWriteDeviceData , ""))
- {
- TPckgBuf<TInt> pkg(ErrAccessDenied);
- aMessage.Write(EMsgArgZero , pkg);
- return;
- }
- TPolicyID pID = aMessage.Int0 ();
-
- TInt result = ErrUnSetPolicyFailed;
-
- if ( !IsScriptOpenWithPolicy(pID))
- {
- result = iSecMgrServer->RemovePolicy (pID);
- }
- if( KErrNone>result )
- result = ErrUnSetPolicyFailed;
-
- TPckgBuf<TInt> retVal(result);
- aMessage.Write (EMsgArgOne, retVal);
- }
-
-void CRTSecMgrSession::RegisterScript(const RMessage2& aMessage, TBool aIsHashed)
- {
- if( !aMessage.HasCapability(ECapabilityWriteDeviceData , ""))
- {
- TPckgBuf<TInt> pkg(ErrAccessDenied);
- aMessage.Write(EMsgArgZero , pkg);
- return;
- }
- if ( aIsHashed)
- {
- HBufC8* desData = HBufC8::NewLC (KMaxMsgLength);
- TPtr8 readPtr(desData->Des ());
- aMessage.ReadL (0, readPtr);
- CRTSecMgrRegisterScriptMsg
- * scriptMsg = CRTSecMgrRegisterScriptMsg::NewLC (*desData);
-
- TExecutableID scriptID = iSecMgrServer->RegisterScript (scriptMsg->PolicyID(),scriptMsg->HashValue());
-
- TPckgBuf<TInt> exeIDPkg(scriptID);
- aMessage.Write (EMsgArgOne, exeIDPkg);
-
- CleanupStack::PopAndDestroy (scriptMsg);
- CleanupStack::PopAndDestroy (desData);
- }
- else
- {
- TPolicyID policyID = aMessage.Int0 ();
-
- TExecutableID scriptID = iSecMgrServer->RegisterScript (policyID);
-
- if ( KErrNone>scriptID)
- scriptID = ErrRegisterScriptFailed;
-
- TPckgBuf<TInt> exeIDPkg(scriptID);
- aMessage.Write (EMsgArgOne, exeIDPkg);
- }
-
- }
-
-void CRTSecMgrSession::UnregisterScript(const RMessage2& aMessage)
- {
- if(!aMessage.HasCapability(ECapabilityWriteDeviceData , ""))
- {
- TPckgBuf<TInt> pkg(ErrAccessDenied);
- aMessage.Write(EMsgArgZero , pkg);
- return;
- }
- TExecutableID scriptID(aMessage.Int0 ());
- TPolicyID policyID(aMessage.Int1 ());
-
- TInt result = KErrNone;
-
- if ( !IsScriptSessionOpen(scriptID))
- {
- TRAP (result, iSecMgrServer->UnRegisterScriptL (scriptID, policyID));
- if(KErrNone>result)
- result = ErrUnRegisterScriptFailed;
- }
- else
- {
- result = ErrUnRegisterScriptFailed;
- }
-
- TPckgBuf<TInt> errCode(result);
- aMessage.Write (EMsgArgTwo, errCode);
- }
-
-void CRTSecMgrSession::GetScriptSessionL(const RMessage2& aMessage)
- {
- if(!aMessage.HasCapability(ECapabilityWriteDeviceData , ""))
- {
- User::Leave(ErrAccessDenied);
- }
- TExecutableID scriptID = (TExecutableID)aMessage.Int0();
- TPolicyID policyID = (TPolicyID)aMessage.Int1();
-
- CScript* script = CScript::NewLC (policyID, scriptID);
-
- User::LeaveIfError (iSecMgrServer->GetCapabilityInfo (*script));
-
- if(script->PolicyID() != policyID || !iSecMgrServer->IsValidPolicy(policyID))
- {
- User::Leave(ErrInvalidPolicyID);
- }
-
- CleanupStack::Pop (script);
-
- CRTSecMgrSubSession* counter = CRTSecMgrSubSession::NewL (this, script, iSecMgrServer);
- CleanupStack::PushL (counter);
-
- // add the CCountSubSession object to
- // this subsession's object container
- // to gererate a unique id
- iContainer->AddL (counter);
-
- // Add the object to object index; this returns
- // a unique handle so that we can find the object
- // again laterit later.
- TInt handle=iSubSessionObjectIndex->AddL (counter);
-
- // Write the handle value back to the client.
- // NB It's not obvious but the handle value must be passed
- // back as the 4th parameter (i.e. parameter number 3 on
- // a scale of 0 to 3).
- // The arguments that are passed across are actually
- // set up by RSubSessionBase::DoCreateSubSession().
- // If you pass your own arguments into a call
- // to RSubSessionBase::CreateSubSession(), which calls DoCreateSubSession,
- // then only the first three are picked up - the 4th is reserved for the
- // the subsession handle.
- TPckgBuf<TInt> handlePckg(handle);
- aMessage.Write (EMsgArgThree, handlePckg);
-
- CleanupStack::Pop (counter);
- }
-
-void CRTSecMgrSession::GetTrustedUnRegScriptSessionL(const RMessage2& aMessage)
- {
- if(!aMessage.HasCapability(ECapabilityWriteDeviceData , ""))
- {
- User::Leave(ErrAccessDenied);
- }
- //0th parameter - ScriptID
- //1st parameter - PolicyID
- TExecutableID scriptID = (TExecutableID)aMessage.Int0(); //typically this is KAnonymousScript
- TPolicyID policyID = (TExecutableID)aMessage.Int1();
-
- CScript* script = CScript::NewLC (policyID, scriptID);
-
- User::LeaveIfError (iSecMgrServer->GetCapabilityInfo(policyID, scriptID, *script));
-
- CleanupStack::Pop (script);
-
- CRTSecMgrSubSession* counter = CRTSecMgrSubSession::NewL (this, script, iSecMgrServer);
- CleanupStack::PushL (counter);
-
- iContainer->AddL (counter);
- TInt handle=iSubSessionObjectIndex->AddL (counter);
- TPckgBuf<TInt> handlePckg(handle);
- aMessage.Write (EMsgArgThree, handlePckg);
-
- CleanupStack::Pop (counter);
- }
-
-void CRTSecMgrSubSession::GetScriptFile(const RMessage2& aMessage)
- {
- RFile scriptFile;
-
- if ( KErrNone==scriptFile.AdoptFromClient (aMessage, EMsgArgOne,
- EMsgArgTwo))
- {
- RFileWriteStream rfws(scriptFile);
- iScript->ExternalizeL (rfws);
- rfws.Close ();
- scriptFile.Close ();
- }
- }
-
-void CRTSecMgrSubSession::UpdatePermGrantL(const RMessage2& aMessage)
- {
- if ( !iSession->IsScriptSessionOpen(aMessage.Int0(),this))
- {
- iSecMgrServer->UpdatePermGrantL (aMessage.Int0 (), aMessage.Int1 (),
- aMessage.Int2 ());
- }
- else
- {
- TPckgBuf<TInt> pkg((TInt)ErrUpdatePermGrantFailed);
- aMessage.Write (EMsgArgZero, pkg);
- }
- }
-
-void CRTSecMgrSubSession::UpdatePermGrantProviderL(const RMessage2& aMessage)
- {
- HBufC8* desData = HBufC8::NewLC (KMaxMsgLength);
- TPtr8 readPtr(desData->Des ());
- aMessage.ReadL (EMsgArgZero, readPtr);
- CRTPermGrantMessage *msg = CRTPermGrantMessage::NewLC(readPtr);
-
- if ( !iSession->IsScriptSessionOpen(msg->ScriptID(),this))
- {
- RProviderArray allowedProviders;
- RProviderArray deniedProviders;
- allowedProviders.Reset();
- deniedProviders.Reset();
- msg->AllowedProviders(allowedProviders);
- msg->DeniedProviders(deniedProviders);
- iSecMgrServer->UpdatePermGrantL (msg->ScriptID(),allowedProviders,deniedProviders);
- allowedProviders.Close();
- deniedProviders.Close();
- }
- else
- {
- TPckgBuf<TInt> pkg((TInt)ErrUpdatePermGrantFailed);
- aMessage.Write (EMsgArgZero, pkg);
- }
- CleanupStack::PopAndDestroy(msg);
- CleanupStack::PopAndDestroy(desData);
- }
--- a/rtsecuritymanager/rtsecuritymanagerserver/src/rtsecmgrpolicy.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines security policy data structure
- *
-*/
-
-
-
-
-
-
-#include <e32debug.h>
-#include "rtsecmgrpolicy.h"
-#include "rtsecmgrserverdef.h"
-
-CPolicy::CPolicy(TPolicyID aPolicyID) :
- iPolicyID(aPolicyID)
- {
- }
-
-void CPolicy::ConstructL(const RProtectionDomains& aProtectionDomains, RAliasGroup& aAliasGroup)
- {
- iAccessPolicy.Reset();
- iAliasGroup.Reset();
- iAccessPolicy = aProtectionDomains;
- iAliasGroup = aAliasGroup;
- }
-
-CPolicy* CPolicy::NewL(TPolicyID aPolicyID,
- const RProtectionDomains& aProtectionDomains, RAliasGroup& aAliasGroup)
- {
- CPolicy* self = CPolicy::NewLC (aPolicyID, aProtectionDomains, aAliasGroup);
- CleanupStack::Pop (self);
- return self;
- }
-
-CPolicy* CPolicy::NewLC(TPolicyID aPolicyID,
- const RProtectionDomains& aProtectionDomains, RAliasGroup& aAliasGroup)
- {
- CPolicy* self = new (ELeave) CPolicy(aPolicyID);
- CleanupStack::PushL (self);
- self->ConstructL (aProtectionDomains, aAliasGroup);
- return self;
- }
-
-CPolicy* CPolicy::NewL(TPolicyID aPolicyID, RStoreReadStream& aSource)
- {
- CPolicy* self = CPolicy::NewLC (aPolicyID, aSource);
- CleanupStack::Pop (self);
- return self;
- }
-
-CPolicy* CPolicy::NewLC(TPolicyID aPolicyID, RStoreReadStream& aSource)
- {
- CPolicy* self = new (ELeave) CPolicy(aPolicyID);
- CleanupStack::PushL (self);
- self->InternalizeL (aSource);
- return self;
- }
-
-void CPolicy::InternalizeL(RStoreReadStream& aSource)
- {
- //Read version of the policy
- TReal version(aSource.ReadReal32L());
- TInt aliasCnt(aSource.ReadInt32L());
-
- for (TInt i(0); i<aliasCnt;++i)
- {
- CPermission* alias = CPermission::NewL ();
- alias->InternalizeL(aSource);
- iAliasGroup.Append (alias);
- }
-
- TInt domainCnt(aSource.ReadInt32L ());
- for (TInt i(0); i<domainCnt;++i)
- {
- CProtectionDomain* domain = CProtectionDomain::NewL (aSource);
- iAccessPolicy.Append (domain);
- }
- }
-
-CProtectionDomain* CPolicy::ProtectionDomain(const TDesC& aDomainName) const
- {
- for (TInt idx(0); idx<iAccessPolicy.Count ();++idx)
- {
- if ( KErrNone ==iAccessPolicy[idx]->DomainName().CompareF (aDomainName))
- {
- return iAccessPolicy[idx];
- }
- }
-
- return NULL;
- }
-
-CPermission* CPolicy::AliasGroup(const TDesC& aAliasName) const
- {
- for (TInt idx(0); idx<iAliasGroup.Count ();++idx)
- {
- if ( KErrNone ==iAliasGroup[idx]->PermName().CompareF (aAliasName))
- {
- return iAliasGroup[idx];
- }
- }
-
- return NULL;
- }
--- a/rtsecuritymanager/rtsecuritymanagerserver/src/rtsecmgrpolicymanager.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Definition of policy manager class
- *
-*/
-
-
-
-
-
-
-#include <e32debug.h>
-#include "rtsecmgrpolicymanager.h"
-#include "rtsecmgrserverdef.h"
-
-CPolicyManager* CPolicyManager::NewL(CSecMgrStore* aSecMgrDB)
- {
- CPolicyManager* self = CPolicyManager::NewLC(aSecMgrDB);
- CleanupStack::Pop(self);
- return self;
- }
-
-CPolicyManager* CPolicyManager::NewLC(CSecMgrStore* aSecMgrDB)
- {
- CPolicyManager* self = new (ELeave) CPolicyManager(aSecMgrDB);
- CleanupStack::PushL (self);
- return self;
- }
-
-void CPolicyManager::RegisterPolicyL(const CPolicy& aPolicy)
- {
- //Remove the policy if it already exists
- for (TInt idx(0); idx!=iPolicies.Count ();++idx)
- {
- if ( aPolicy.PolicyID ()==iPolicies[idx]->PolicyID ())
- {
- delete iPolicies[idx];
- iPolicies.Remove (idx);
- break;
- }
- }
-
- //update the cache
- iPolicies.AppendL (&aPolicy);
-
- iSecMgrDB->StorePolicyL (aPolicy);
- }
-
-TInt CPolicyManager::UnRegisterPolicy(TPolicyID aPolicyID)
- {
- TBool exists(EFalse);
- TInt ret(KErrNone);
-
- for(TInt idx(0);idx<iPolicies.Count();++idx)
- {
- if(aPolicyID==iPolicies[idx]->PolicyID())
- {
- if(KErrNone==iSecMgrDB->RemovePolicy(aPolicyID))
- {
- delete iPolicies[idx];
- iPolicies.Remove(idx);
- exists=ETrue;
- }
- }
- }
-
- //In case if policyID does not exist in the cache...
- if(!exists)
- ret = iSecMgrDB->RemovePolicy(aPolicyID);
-
-
- return ret;
- }
-
-CPolicy* CPolicyManager::Policy(TPolicyID aPolicyID) const
- {
- for (TInt idx(0); idx!=iPolicies.Count ();++idx)
- {
- if ( aPolicyID==iPolicies[idx]->PolicyID ())
- {
- return iPolicies[idx];
- }
- }
-
- return NULL;
- }
-
-TBool CPolicyManager::HasPolicy(TPolicyID aPolicyID) const
- {
- for (TInt idx(0); idx!=iPolicies.Count ();++idx)
- {
- if ( aPolicyID==iPolicies[idx]->PolicyID ())
- {
- return ETrue;
- }
- }
-
- return EFalse;
- }
-
--- a/rtsecuritymanager/rtsecuritymanagerserver/src/rtsecmgrpolicyparser.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1158 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Utility XML parser to parse trust and access policy files
- *
-*/
-
-
-
-
-
-
-#include <e32std.h>
-#include <w32std.h>
-#include <f32file.h>
-
-#include "rtsecmgrpolicyparser.h"
-#include "rtsecmgrdata.h"
-#include "rtsecmgrserverdef.h"
-
-#include <gmxmldocument.h>
-#include <gmxmlelement.h>
-#include <gmxmlcharacterdata.h>
-#include <gmxmltext.h>
-#include <gmxmlnode.h>
-
-_LIT (KPolicy, "policy");
-_LIT (KAllow, "allow");
-_LIT (KUser, "user");
-_LIT (KDomain, "domain");
-_LIT (KNameAttr, "name");
-_LIT (KCondition, "condition");
-_LIT (KCapabilities, "capabilities");
-_LIT (KDefCondition, "defaultCondition");
-_LIT (KText, "#TEXT");
-_LIT (KComment, "comment");
-_LIT (KAlias, "alias");
-
-CPolicyParser::CPolicyParser()
- {
- }
-
-CPolicyParser* CPolicyParser::NewL()
- {
- CPolicyParser* self = CPolicyParser::NewLC ();
- //nothing to construct as of now
- CleanupStack::Pop (self);
- return self;
- }
-
-CPolicyParser* CPolicyParser::NewLC()
- {
- CPolicyParser* self = new (ELeave) CPolicyParser();
- CleanupStack::PushL (self);
- //nothing to construct as of now
- return self;
- }
-
-CPolicyParser::~CPolicyParser()
- {
- if ( iDomParser)
- {
- delete iDomParser;
- iDomParser = NULL;
- }
- }
-
-TInt CPolicyParser::GetPolicyInfo(RFile& aSecPolicy,
- RProtectionDomains& aPolicyInfo, RAliasGroup& aAliasGroup)
- {
- isTrustInfo = EFalse;
-
- if ( iDomParser)
- {
- delete iDomParser;
- iDomParser = NULL;
- }
-
- iDomParser = CMDXMLParser::NewL (this);
- iLastError = KErrNone;
-
- RFile parseHandle;
- User::LeaveIfError ( parseHandle.Duplicate ( aSecPolicy));
-
- iPolicyInfo.Reset (); //cleans-up the array, but doesn't delete the entries..
- iAliasGroup.Reset ();
-
- iLastError = iDomParser->ParseFile (parseHandle); //xml file read operation
-
- if ( KErrNone == iLastError)
- iWaitScheduler.Start (); //actual parsing starts here asynchronously
-
- if ( KErrNone==iLastError) //parsing is successful
- {
- aPolicyInfo = iPolicyInfo;
- aAliasGroup = iAliasGroup;
- }
-
- return iLastError;
- }
-
-// Call back function called when a parsing operation completes.
-void CPolicyParser::ParseFileCompleteL()
- {
- iLastError = iDomParser->Error();
-
- if(iLastError == KErrXMLMissingDocTypeTag)
- iLastError = KErrNone;
-
- iWaitScheduler.AsyncStop ();
-
- if(iLastError!=KErrNone)
- {
- return;
- }
- else
- {
- if ( iDomParser && !isTrustInfo) //pre-requisite that the DOM instance is intact
- {
- CMDXMLDocument* documentNode = iDomParser->DetachXMLDoc ();
-
- if ( documentNode)
- {
- CleanupStack::PushL(documentNode);
- //Gets the root element of the DOM tree.
- CMDXMLElement* rootElemNode = documentNode->DocumentElement ();
-
- CMDXMLNode* rootNode = rootElemNode->FirstChild ();
-
- if ( !rootNode)
- {
- iLastError = EErrInvalidRootNode;
- CleanupStack::PopAndDestroy(documentNode);
- return;
- }
-
- TBool isValid = EFalse;
-
- for (; rootNode;rootNode=rootNode->NextSibling ())
- {
- if ( rootNode->NodeType ()==CMDXMLNode::EElementNode)
- {
- if ( 0==rootNode->NodeName().CompareF (KPolicy ()))
- {
- isValid = ETrue;
- break;
- }
- else
- continue;
- }
- else
- {
- if(KErrNone == rootNode->NodeName().CompareF(KText))
- {
- iLastError = EErrJunkContent;
- iPolicyInfo.ResetAndDestroy ();
- iAliasGroup.ResetAndDestroy ();
- CleanupStack::PopAndDestroy(documentNode);
- return;
- }
- }
- }
-
- if ( !isValid)
- {
- iLastError = EErrInvalidRootNode;
- iPolicyInfo.ResetAndDestroy ();
- iAliasGroup.ResetAndDestroy ();
- CleanupStack::PopAndDestroy(documentNode);
- return;
- }
-
- TPtrC attrVal;
-
- if ( rootNode->HasChildNodes ())
- {
- CMDXMLNode* childNode = rootNode->FirstChild ();
-
- //Now get the list of <alias> nodes
- while ( childNode)
- {
- TPtrC nodeName = childNode->NodeName ();
-
- //ALIAS PARSING
- if ( nodeName.CompareF (KAlias)== 0)
- {
- CMDXMLElement
- * aliasNode = dynamic_cast<CMDXMLElement*>(childNode);
-
- //store alias information in object
- CPermission* aliasObj = NULL;
-
- {//Get the attribute "name" to get the alias name
- aliasNode->GetAttribute(KNameAttr, attrVal);
-
- if ( attrVal.Length ()>0)
- {
- if ( isAliasPresent (attrVal))
- {
- //invalid xml file
- if(aliasObj)
- delete aliasObj;
- iPolicyInfo.ResetAndDestroy ();
- iAliasGroup.ResetAndDestroy ();
- iLastError = EErrRepeatedAliasTag;
- CleanupStack::PopAndDestroy(documentNode);
- return;
- }
-
- aliasObj = CPermission::NewL();
- aliasObj->SetPermName(attrVal);
- }
- else
- {
- //alias name is invalid
- //check whether TPerm / alias name should be deleted
- if(aliasObj)
- delete aliasObj;
- iPolicyInfo.ResetAndDestroy ();
- iAliasGroup.ResetAndDestroy ();
- iLastError = EErrInvalidAliasName;
- CleanupStack::PopAndDestroy(documentNode);
- return;
- }
-
- if ( aliasNode->HasChildNodes ())
- {
- CPermissionSet *aliasCaps = CPermissionSet::NewL();
-
- TBool result = GetCapabilitiesForGroup(
- (CMDXMLElement*)aliasNode,
- *aliasCaps, *aliasObj); //get list of uncond caps
-
- if(result < 0)
- {
- //Invalid capability string in policy file
- if(aliasObj)
- delete aliasObj;
- if(aliasCaps)
- delete aliasCaps;
- iPolicyInfo.ResetAndDestroy ();
- iAliasGroup.ResetAndDestroy ();
- iLastError = result; //EErrInvalidCapability or EErrRepeatedCaps
- CleanupStack::PopAndDestroy(documentNode);
- return;
- }
- if(aliasCaps)
- delete aliasCaps;
-
- }
- }
-
- if(aliasObj)
- iAliasGroup.AppendL(aliasObj);
- }
-
- //check if the domain name is already present..
- //need to check to avoid repeated domain tags..
- if ( nodeName.CompareF (KDomain)== 0)
- {
- CMDXMLElement
- * domainNode = dynamic_cast<CMDXMLElement*>(childNode);
- CProtectionDomain* pPolicy= NULL;
-
- {//Get the attribute "name" to get the domain name
- domainNode->GetAttribute (KNameAttr, attrVal);
-
- if ( attrVal.Length ()>0)
- {
- if ( isDomainPresent (attrVal))
- {
- //invalid xml file
- //delete pPolicy;
- iPolicyInfo.ResetAndDestroy ();
- iAliasGroup.ResetAndDestroy ();
- iLastError = EErrRepeatedDomainTag;
- CleanupStack::PopAndDestroy(documentNode);
- return;
- }
-
- pPolicy = CProtectionDomain::NewL ();
- pPolicy->SetDomainName (attrVal);
- }
- else
- {
- //domain name is invalid
- if ( pPolicy)
- delete pPolicy;
- iPolicyInfo.ResetAndDestroy ();
- iAliasGroup.ResetAndDestroy ();
- iLastError = EErrInvalidDomainName;
- CleanupStack::PopAndDestroy(documentNode);
- return;
- }
-
- if ( domainNode->HasChildNodes ())
- {
- CPermissionSet* caps = CPermissionSet::NewL ();
-
- CMDXMLNode
- * domainChildNode = domainNode->FirstChild ();
- for (; domainChildNode;domainChildNode=domainChildNode->NextSibling ())
- {
- if ( domainChildNode->NodeType ()==CMDXMLNode::EElementNode)
- {
- if ( 0==domainChildNode->NodeName().CompareF (KAllow))//<Allow> unconditional node
- {
- TBool result = GetCapabilities(
- (CMDXMLElement*)domainChildNode,
- *caps); //get list of uncond caps
-
- if(result < 0)
- {
- //Invalid capability string in policy file
- if ( pPolicy)
- delete pPolicy;
- if(caps)
- delete caps;
- iPolicyInfo.ResetAndDestroy ();
- iAliasGroup.ResetAndDestroy ();
- iLastError = result; //EErrInvalidCapability or EErrRepeatedCaps
- CleanupStack::PopAndDestroy(documentNode);
- return;
- }
- }
- else if ( 0==domainChildNode->NodeName().CompareF (KUser))//<User> Conditional node
- {
- //Get UGCaps
- TUserPromptOption upOption(RTUserPrompt_UnDefined);
-
- TInt error = GetConditions ((CMDXMLElement*)domainChildNode, upOption);//Get conditions
-
- if(EErrInvalidPermission == error)
- {
- // invalid permission is specified
- if ( pPolicy)
- delete pPolicy;
- if(caps)
- delete caps;
- iLastError = EErrInvalidPermission;
- iPolicyInfo.ResetAndDestroy ();
- iAliasGroup.ResetAndDestroy ();
- CleanupStack::PopAndDestroy(documentNode);
- return;
- }
-
- TUserPromptOption
- defCond = GetDefaultCondition ((CMDXMLElement*)domainChildNode);
-
- if(RTUserPrompt_UnDefined == defCond)
- {
- //default condition is not specified
- if ( pPolicy)
- delete pPolicy;
- if(caps)
- delete caps;
- iLastError = EErrNoDefaultCondition;
- iPolicyInfo.ResetAndDestroy ();
- iAliasGroup.ResetAndDestroy ();
- CleanupStack::PopAndDestroy(documentNode);
- return;
- }
-
- //default condition is specified
- error = GetCapabilities (
- (CMDXMLElement*)domainChildNode,
- *caps,
- upOption,
- ETrue, defCond); //get list of ug caps
- if(error < 0)
- {
- //Invalid capability string in policy file
- if ( pPolicy)
- delete pPolicy;
- if(caps)
- delete caps;
- iPolicyInfo.ResetAndDestroy ();
- iAliasGroup.ResetAndDestroy ();
- iLastError = error; //EErrInvalidCapability or EErrRepeatedCaps
- CleanupStack::PopAndDestroy(documentNode);
- return;
- }
- }
- else // neither USER nor ALLOW node
- {
- //checking for misplaced alias tag
- if((KErrNone == domainChildNode->NodeName().CompareF(KAlias)))
- {
- if ( pPolicy)
- delete pPolicy;
- if(caps)
- delete caps;
- iLastError = EErrMisplacedAlias;
- iAliasGroup.ResetAndDestroy ();
- iPolicyInfo.ResetAndDestroy ();
- CleanupStack::PopAndDestroy(documentNode);
- return;
- }
- }
- }
- else
- {
- //the node is not an element node
- //hence it should be comment / junk content
- if((KErrNone == domainChildNode->NodeName().CompareF(KText)))
- {
- if ( pPolicy)
- delete pPolicy;
- if (caps)
- delete caps;
- iLastError = EErrJunkContent;
- iPolicyInfo.ResetAndDestroy ();
- iAliasGroup.ResetAndDestroy ();
- CleanupStack::PopAndDestroy(documentNode);
- return;
- }
- else if(KErrNone == domainChildNode->NodeName().CompareF(KComment))
- continue;
- }
- }
- if ( pPolicy)
- pPolicy->SetCapInfo (caps);
-
- }
- }
-
- if ( pPolicy)
- iPolicyInfo.AppendL (pPolicy);
- }
- else if((KErrNone == nodeName.CompareF(KText)))
- {
- iLastError = EErrJunkContent;
- iPolicyInfo.ResetAndDestroy ();
- iAliasGroup.ResetAndDestroy ();
- CleanupStack::PopAndDestroy(documentNode);
- return;
- }
-
- childNode = childNode->NextSibling (); //traverse to the next sibling node
-
- }
- } //rootNode->HasChildNodes()
- else
- {
- //No policy information in the xml file
- //Treat this as an error
- iLastError = EErrNoPolicyInfo;
- iPolicyInfo.ResetAndDestroy ();
- iAliasGroup.ResetAndDestroy ();
- CleanupStack::PopAndDestroy(documentNode);
- return;
- }
-
- CleanupStack::PopAndDestroy(documentNode);
- }
- else
- {
- iLastError = EErrInvalidDocNode;
- return;
- }
- }
- }
- }
-
-TInt CPolicyParser::GetCapsNode(CMDXMLElement* aParentDomainNode,
- RPointerArray<CMDXMLElement>& aCapNodes, const TDesC& aNodeName)
- {
- if ( aParentDomainNode->HasChildNodes ())
- {
- CMDXMLNode* childNode = aParentDomainNode->FirstChild ();
-
- do
- {
- if ( childNode)
- {
- if ( 0==childNode->NodeName().Compare (aNodeName))
- {
- CMDXMLElement* pAllowNode = dynamic_cast<CMDXMLElement*>(childNode);
- aCapNodes.AppendL (pAllowNode);
- }
-
- childNode = childNode->NextSibling ();
- }
-
- }
- while (NULL != childNode);
- }
-
- return EErrNone; //No other possible return err code...
- }
-
-CMDXMLElement* CPolicyParser::GetCapsNode(CMDXMLElement* aParentDomainNode,
- const TDesC& aNodeName)
- {
- if ( aParentDomainNode->HasChildNodes ())
- {
- CMDXMLNode* childNode = aParentDomainNode->FirstChild ();
-
- do
- {
- if ( childNode)
- {
- if ( 0==childNode->NodeName().Compare (aNodeName))
- {
- CMDXMLElement* pAllowNode = dynamic_cast<CMDXMLElement*>(childNode);
- return pAllowNode;
- }
-
- childNode = childNode->NextSibling ();
- }
-
- }
- while (NULL != childNode);
- }
- return NULL;
- }
-
-TInt CPolicyParser::GetCapabilities(CMDXMLElement* aParentNode,
- CPermissionSet& aCapInfo, TUserPromptOption aUpOpt, TBool aUGCaps,
- TUserPromptOption aDefUpOpt)
- {
- if ( aParentNode->HasChildNodes ())
- {
- CMDXMLNode* childNode = aParentNode->FirstChild ();
-
- do
- {
- if ( childNode)
- {
- CMDXMLNode* capabilitiesNode= NULL;
- if ( 0==childNode->NodeName().CompareF (KCapabilities))
- {
- capabilitiesNode = dynamic_cast<CMDXMLElement*>(childNode);
-
- //traverse <capability/> nodes under <capabilities/>
- if ( capabilitiesNode->HasChildNodes ())
- {
- RCapabilityArray capabilities;
-
- for (CMDXMLNode
- * capabilityNode=capabilitiesNode->FirstChild (); capabilityNode;capabilityNode=capabilityNode->NextSibling ())
- {
- //Get the textnode under <capability/>
- if ( capabilityNode)
- {
- for (CMDXMLNode
- * capChildNode=capabilityNode->FirstChild (); capChildNode;capChildNode=capChildNode->NextSibling ())
- {
- //Get the textnode under <capability/>
- if ( CMDXMLNode::ETextNode==capChildNode->NodeType ())
- {
- CMDXMLText
- * capTextNode = dynamic_cast<CMDXMLText*>(capChildNode);
- //Extract text out of this node
- TCapability
- cap = GetCapability (capTextNode->Data ());
-
- if ((ECapability_None!=cap))
- {
-
- // Get LOGIC for the storage of Group capability
-
- if ( aUGCaps)
- {
- if ( (!IsPresent(aCapInfo,cap)) && (!IsUserGrantPresent(aCapInfo,cap)))
- {
- capabilities.Append(cap);
-
- if ( RTUserPrompt_UnDefined==aUpOpt)
- {
- CPermission* perm = CPermission::NewL(capabilities, aDefUpOpt,aDefUpOpt);
- aCapInfo.AppendPermission (*perm);
- }
-
- else
- {
- CPermission* perm = CPermission::NewL(capabilities, aDefUpOpt,aUpOpt);
- aCapInfo.AppendPermission (*perm);
- }
- }
- else
- {
- return EErrRepeatedCaps;
- }
- }
- else
- {
- //Check before appending unconditional capability that
- //whether the capability is already added or not...
- if ( (!IsPresent(aCapInfo,cap)) && (!IsUserGrantPresent(aCapInfo,cap)))
- {
- aCapInfo.AppendUncondCap (cap);
- }
- else
- {
- //capability string given more than once.. hence invalid
- return EErrRepeatedCaps;
- }
- }
- }
- else
- {
- TBool invalidCaps = ETrue;
-
- for(TInt idx = 0; idx < iAliasGroup.Count(); idx++)
- {
- CPermission *tempObj = iAliasGroup[idx];
- TPtrC name = tempObj->PermName();
-
- if ((KErrNone == capTextNode->Data().CompareF(name)))
- {
- //it is not a text node. so is an alias group
-
- //alias group name is found. so obtain the caps
- TUint32 capAlias = tempObj->PermissionData();
- invalidCaps = EFalse;
- if( aUGCaps)
- {
- for(TInt idx1 = 0; idx1 < 20; idx1++)
- {
- TUint32 tempCapToCheck(KDefaultEnableBit);
- tempCapToCheck = tempCapToCheck << (idx1);
-
- if(capAlias & tempCapToCheck)
- capabilities.Append((TCapability)idx1);
-
- }
- if ( RTUserPrompt_UnDefined==aUpOpt)
- {
- CPermission* perm = CPermission::NewL(capabilities, aDefUpOpt,aDefUpOpt);
- perm->SetPermName(name);
- aCapInfo.AppendPermission (*perm);
- }
-
- else
- {
- CPermission* perm = CPermission::NewL(capabilities, aDefUpOpt,aUpOpt);
- perm->SetPermName(name);
- aCapInfo.AppendPermission (*perm);
- }
- }
- else
- {
- TUint32 capPresent = aCapInfo.UnconditionalCaps();
- TUint32 capAfter = capAlias | capPresent;
- TUint32 capRep = capAlias ^ capPresent;
- TUint32 errChk = capRep & capAfter; //error if capAfter and error are different
-
- if(!(errChk & capAfter))
- {
- //capability string given more than once.. hence invalid
- return EErrRepeatedCaps;
- }
-
- aCapInfo.AppendUncondCapabilities(capAfter);
- }
- }
- }
-
- if (invalidCaps)
- {
- //just log the error message
- RDebug::Print (_L ("CPolicyParser::GetCapabilities : Invalid capability string"));
- return EErrInvalidCapability;
- }
- }
-
- }
- }
- }
- capabilities.Close();
- }
- }
- else
- {
- RDebug::Print (_L ("CPolicyParser::GetCapabilities : No <capability> under <capabilities/>"));
- }
-
- }
-
- childNode = childNode->NextSibling ();
- }
- else
- {
- RDebug::Print (_L ("CPolicyParser::GetCapabilities : Childnode NULL"));
- }
- }
- while (NULL != childNode);
- }
-
- return EErrNone;
- }
-
-TInt CPolicyParser::GetCapabilitiesForGroup(CMDXMLElement* aParentNode,
- CPermissionSet& aCapInfo, CPermission& aAliasInfo, TUserPromptOption aUpOpt, TBool aUGCaps,
- TUserPromptOption aDefUpOpt)
- {
- if ( aParentNode->HasChildNodes ())
- {
- CMDXMLNode* childNode = aParentNode->FirstChild ();
-
- do
- {
- if ( childNode)
- {
- CMDXMLNode* capabilitiesNode= NULL;
- if ( 0==childNode->NodeName().CompareF (KCapabilities))
- {
- capabilitiesNode = dynamic_cast<CMDXMLElement*>(childNode);
-
- //traverse <capability/> nodes under <capabilities/>
- if ( capabilitiesNode->HasChildNodes ())
- {
- RCapabilityArray capabilities;
-
- for (CMDXMLNode
- * capabilityNode=capabilitiesNode->FirstChild (); capabilityNode;capabilityNode=capabilityNode->NextSibling ())
- {
- //Get the textnode under <capability/>
- if ( capabilityNode)
- {
- for (CMDXMLNode
- * capChildNode=capabilityNode->FirstChild (); capChildNode;capChildNode=capChildNode->NextSibling ())
- {
- //Get the textnode under <capability/>
- if ( CMDXMLNode::ETextNode==capChildNode->NodeType ())
- {
- CMDXMLText
- * capTextNode = dynamic_cast<CMDXMLText*>(capChildNode);
- //Extract text out of this node
- TCapability
- cap = GetCapability (capTextNode->Data ());
-
-
- if ((ECapability_None!=cap))
- {
-
- // Get LOGIC for the storage of Group capability
-
- if ( aUGCaps)
- {
- //For ALIAS GROUP this condition is not true and foll stm are not executed
- if ( (!IsPresent(aCapInfo,cap)) && (!IsUserGrantPresent(aCapInfo,cap)))
- {
- capabilities.Append(cap);
-
- if ( RTUserPrompt_UnDefined==aUpOpt)
- {
- CPermission* perm = CPermission::NewL(capabilities, aDefUpOpt,aDefUpOpt);
-
- aCapInfo.AppendPermission (*perm);
- }
-
- else
- {
- CPermission* perm = CPermission::NewL(capabilities, aDefUpOpt,aUpOpt);
-
- aCapInfo.AppendPermission (*perm);
- }
- }
- else
- {
- return EErrRepeatedCaps;
- }
- }
- else
- {
- //Check before appending unconditional capability that
- //whether the capability is already added or not...
- if ( (!IsPresent(aCapInfo,cap) && (!IsUserGrantPresent(aCapInfo,cap))) && (!IsCapsAliasPresent(aAliasInfo,cap)))
- {
- aCapInfo.AppendUncondCap (cap);
- aAliasInfo.AppendCapPermData(cap);
- }
- else
- {
- //capability string given more than once.. hence invalid
- return EErrRepeatedCaps;
- }
- }
- }
- else
- {
- TBool invalidCaps = ETrue;
- for(TInt idx = 0; idx < iAliasGroup.Count(); idx++)
- {
- CPermission *tempObj = iAliasGroup[idx];
- TPtrC name = tempObj->PermName();
-
- if ((KErrNone == capTextNode->Data().CompareF(name)))
- {
- invalidCaps = EFalse;
- //it is not a text node. so is an alias group
-
- //alias group name is found. so obtain the caps
- TUint32 capAlias = tempObj->PermissionData();
- TUint32 capPresent = aCapInfo.UnconditionalCaps();
- TUint32 capAfter = capAlias | capPresent;
- TUint32 capRep = capAlias ^ capPresent;
- TUint32 errChk = capRep & capAfter; //error if capAfter and error are different
-
- if(!(errChk & capAfter))
- {
- //capability string given more than once.. hence invalid
- return EErrRepeatedCaps;
- }
-
- aCapInfo.AppendUncondCapabilities(capAfter);
- aAliasInfo.SetPermissionData(capAfter);
- }
- }
-
- if (invalidCaps)
- {
- //just log the error message
- RDebug::Print (_L ("CPolicyParser::GetCapabilities : Invalid capability string"));
- return EErrInvalidCapability;
- }
- }
-
- }
- }
- }
-
-
- capabilities.Close();
- }
- }
- else
- {
- RDebug::Print (_L ("CPolicyParser::GetCapabilities : No <capability> under <capabilities/>"));
- }
-
- }
-
- childNode = childNode->NextSibling ();
- }
- else
- {
- RDebug::Print (_L ("CPolicyParser::GetCapabilities : Childnode NULL"));
- }
-
- }
- while (NULL != childNode);
- }
-
- return EErrNone;
- }
-
-TInt CPolicyParser::GetConditions(CMDXMLElement* aParentNode, TUserPromptOption& aUserPromptOpt)
- {
- TUint32 ret(RTUserPrompt_UnDefined);
-
- if ( aParentNode->HasChildNodes ())
- {
- CMDXMLNode* childNode = aParentNode->FirstChild ();
-
- do
- {
- if ( childNode)
- {
- CMDXMLNode* condNode= NULL;
- if ( 0==childNode->NodeName().CompareF (KCondition))
- {
- condNode = dynamic_cast<CMDXMLElement*>(childNode);
-
- if ( condNode->HasChildNodes ())
- {
- for (CMDXMLNode* condChildNode=condNode->FirstChild (); condChildNode;condChildNode=condChildNode->NextSibling ())
- {
- //Get the textnode under <condition/>
- if ( CMDXMLNode::ETextNode==condChildNode->NodeType ())
- {
- CMDXMLText
- * condition = dynamic_cast<CMDXMLText*>(condChildNode);
-
- if ( condition)
- {
- TInt32 returnVal = GetUserPromptOption (condition->Data ());
-
- if(RTUserPrompt_UnDefined == returnVal)
- {
- aUserPromptOpt = (TUserPromptOption)returnVal;
- return EErrInvalidPermission;
- }
-
- ret |= returnVal;
- }
- }
- }
- }
- }
- childNode = childNode->NextSibling ();
- }
-
- }
- while (NULL != childNode);
- }
-
- aUserPromptOpt = (TUserPromptOption)ret;
- return EErrNone;
- }
-
-TBool CPolicyParser::isDomainPresent(const TDesC& aDomainName)
- {
- TBool isPresent(EFalse);
-
- for (TInt i(0); i!=iPolicyInfo.Count ();++i)
- {
- if ( 0==iPolicyInfo[i]->DomainName().CompareF (aDomainName))
- {
- isPresent=ETrue;
- break;
- }
- }
-
- return isPresent;
- }
-
-TBool CPolicyParser::IsPresent(const CPermissionSet& aCapInfo, TCapability aCap)
- {
- TUint32 uncondCaps = aCapInfo.UnconditionalCaps ();
-
- TUint32 tempCapToCheck(KDefaultEnableBit);
- tempCapToCheck = tempCapToCheck << (aCap);
-
- return (uncondCaps & tempCapToCheck);
- }
-
-TBool CPolicyParser::IsCapsAliasPresent(const CPermission& aAliasInfo, TCapability aCap)
- {
- TUint32 uncondCaps = aAliasInfo.PermissionData ();
-
- TUint32 tempCapToCheck(KDefaultEnableBit);
- tempCapToCheck = tempCapToCheck << (aCap);
-
- return (uncondCaps & tempCapToCheck);
- }
-
-TBool CPolicyParser::IsUserGrantPresent(const CPermissionSet& aCapInfo,
- TCapability aCap)
- {
- TUint32 perms(KDefaultNullBit);
- //RPermissions tempPerms = aCapInfo.Permissions();
- for (TInt i(0); i!=(aCapInfo.Permissions()).Count ();++i)
- {
- TUint32 temp(KDefaultEnableBit);
- RCapabilityArray capabilities;
- (aCapInfo.Permissions())[i]->Capabilitilites(capabilities);
- for(TInt capIdx(0);capIdx!=capabilities.Count();++capIdx)
- {
- temp = temp << (capabilities[capIdx]);
- perms |= temp;
- }
- capabilities.Close();
- }
-
- TUint32 temp(KDefaultEnableBit);
- temp = temp << (aCap);
- return (perms & temp);
- }
-
-TUserPromptOption CPolicyParser::GetDefaultCondition(CMDXMLElement* aParentNode)
- {
- if ( aParentNode->HasChildNodes ())
- {
- CMDXMLNode* childNode = aParentNode->FirstChild ();
-
- do
- {
- if ( childNode)
- {
- CMDXMLNode* condNode= NULL;
- if ( 0==childNode->NodeName().CompareF (KDefCondition))
- {
- condNode = dynamic_cast<CMDXMLElement*>(childNode);
-
- if ( condNode->HasChildNodes ())
- {
- for (CMDXMLNode* condChildNode=condNode->FirstChild (); condChildNode;condChildNode=condChildNode->NextSibling ())
- {
- if ( CMDXMLNode::ETextNode==condChildNode->NodeType ())
- {
- CMDXMLText
- * condition = dynamic_cast<CMDXMLText*>(condChildNode);
-
- if ( condition)
- {
- return GetUserPromptOption (condition->Data ());
- }
- }
- }
- }
- }
-
- childNode = childNode->NextSibling ();
- }
-
- }
- while (NULL != childNode);
- }
-
- return RTUserPrompt_UnDefined;
- }
-
-TCapability CPolicyParser::GetCapability(const TDesC& aUserPromptOpt)
- {
- TCapability cap(ECapability_None);
-
- if ( 0==aUserPromptOpt.CompareF (KCapabilityTCB))
- {
- cap=ECapabilityTCB;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilityCommDD))
- {
- cap=ECapabilityCommDD;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilityPowerMgmt))
- {
- cap=ECapabilityPowerMgmt;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilityMultimediaDD))
- {
- cap=ECapabilityMultimediaDD;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilityReadDeviceData))
- {
- cap=ECapabilityReadDeviceData;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilityWriteDeviceData))
- {
- cap=ECapabilityWriteDeviceData;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilityDRM))
- {
- cap=ECapabilityDRM;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilityTrustedUI))
- {
- cap=ECapabilityTrustedUI;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilityProtServ))
- {
- cap=ECapabilityProtServ;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilityDiskAdmin))
- {
- cap=ECapabilityDiskAdmin;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilityNetworkControl))
- {
- cap=ECapabilityNetworkControl;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilityAllFiles))
- {
- cap=ECapabilityAllFiles;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilitySwEvent))
- {
- cap=ECapabilitySwEvent;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilityNetworkServices))
- {
- cap=ECapabilityNetworkServices;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilityLocalServices))
- {
- cap=ECapabilityLocalServices;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilityReadUserData))
- {
- cap=ECapabilityReadUserData;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilityWriteUserData))
- {
- cap=ECapabilityWriteUserData;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilityLocation))
- {
- cap=ECapabilityLocation;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilitySurroundingsDD))
- {
- cap=ECapabilitySurroundingsDD;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KCapabilityUserEnvironment))
- {
- cap=ECapabilityUserEnvironment;
- }
- return cap;
- }
-
-TUserPromptOption CPolicyParser::GetUserPromptOption(const TDesC& aUserPromptOpt)
- {
- TUserPromptOption userPromptOpt = RTUserPrompt_UnDefined;
-
- if ( 0==aUserPromptOpt.CompareF (KUserPromptOneShot))
- {
- userPromptOpt=RTUserPrompt_OneShot;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KUserPromptSession))
- {
- userPromptOpt=RTUserPrompt_Session;
- }
- else
- if ( 0==aUserPromptOpt.CompareF (KUserPromptBlanket))
- {
- userPromptOpt=RTUserPrompt_Permanent;
- }
- return userPromptOpt;
- }
-
-TBool CPolicyParser::isAliasPresent(const TDesC& aAliasName)
- {
- TBool isPresent(EFalse);
-
- for(TInt idx = 0; idx < iAliasGroup.Count(); idx++)
- {
- if( KErrNone == iAliasGroup[idx]->PermName().CompareF(aAliasName))
- {
- isPresent = ETrue;
- break;
- }
-
- }
-
- return isPresent;
- }
--- a/rtsecuritymanager/rtsecuritymanagerserver/src/rtsecmgrprotectiondomain.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-#include "rtsecmgrprotectiondomain.h"
-#include "rtsecmgrserverdef.h"
-
-#include <e32debug.h>
-#include <centralrepository.h>
-
-CProtectionDomain* CProtectionDomain::NewL()
- {
- CProtectionDomain* self = CProtectionDomain::NewLC ();
- CleanupStack::Pop (self);
- return self;
- }
-
-CProtectionDomain* CProtectionDomain::NewLC()
- {
- CProtectionDomain* self = new (ELeave) CProtectionDomain();
- CleanupStack::PushL (self);
- self->ConstructL ();
- return self;
- }
-
-CProtectionDomain* CProtectionDomain::NewL(RStoreReadStream& aSource)
- {
- CProtectionDomain* self = CProtectionDomain::NewLC (aSource);
- CleanupStack::Pop (self);
- return self;
- }
-
-CProtectionDomain* CProtectionDomain::NewLC(RStoreReadStream& aSource)
- {
- CProtectionDomain* self = CProtectionDomain::NewLC ();
- self->InternalizeL (aSource);
- return self;
- }
-
-CProtectionDomain::~CProtectionDomain()
- {
- if ( iDomain)
- {
- delete iDomain;
- iDomain = NULL;
- }
-
- if ( iPermSet)
- {
- delete iPermSet;
- iPermSet = NULL;
- }
- }
-
-void CProtectionDomain::ExternalizeL(RStoreWriteStream& aSink) const
- {
- //externalise policy info data
- aSink.WriteInt32L (iDomain->Des().MaxLength ());
- aSink << *iDomain;
- iPermSet->ExternalizeL (aSink);
- }
-
-void CProtectionDomain::InternalizeL(RStoreReadStream& aSource)
- {
- TInt32 len = aSource.ReadInt32L ();
- if ( iDomain)
- {
- delete iDomain;
- iDomain = NULL;
- }
-
- iDomain = HBufC::NewL (aSource, len);
-
- if ( iPermSet)
- {
- delete iPermSet;
- iPermSet = NULL;
- }
-
- iPermSet = CPermissionSet::NewL ();
- iPermSet->InternalizeL (aSource);
- }
--- a/rtsecuritymanager/rtsecuritymanagerserver/src/rtsecmgrscriptmanager.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-#include "rtsecmgrscriptmanager.h"
-#include "rtsecmgrserverdef.h"
-
-#include "rtsecmgrstore.h"
-#include "rtsecmgrpolicy.h"
-#include "rtsecmgrpolicymanager.h"
-#include "rtsecmgrscriptmanager.h"
-
-#include <e32debug.h>
-//#include <centralrepository.h>
-
-_LIT(KDefaultTrustPolicy,"UnTrusted");
-
-CScriptManager* CScriptManager::NewL(CSecMgrStore* aSecMgrDB,CPolicyManager* aPolicyMgr)
-{
- CScriptManager* pThis = CScriptManager::NewLC(aSecMgrDB,aPolicyMgr);
- CleanupStack::Pop(pThis);
- return pThis;
-}
-
-CScriptManager* CScriptManager::NewLC(CSecMgrStore* aSecMgrDB,CPolicyManager* aPolicyMgr)
-{
- CScriptManager* pThis = new (ELeave) CScriptManager(aSecMgrDB,aPolicyMgr);
- CleanupStack::PushL(pThis);
- pThis->ConstructL();
- return pThis;
-}
-
-CScriptManager::~CScriptManager()
-{
- if(iSecMgrDB)
- {
- iSecMgrDB->WriteCounter(iID);
- }
-
- iScripts.ResetAndDestroy();
-}
-void CScriptManager::ConstructL()
-{
- iSecMgrDB->ReadCounter(iID);
-}
-
-TExecutableID CScriptManager::RegisterScript(TPolicyID aPolicyID/*,const CTrustInfo& aTrustPolicy*/)
-{
- TInt ret(ErrPolicyIDDoesNotExist);
-
- CPolicy* policy = iPolicyMgr->Policy(aPolicyID);
-
- if(policy)
- {
- CProtectionDomain* domain = policy->ProtectionDomain(KDefaultTrustPolicy);
-
- if(domain)
- {
- TExecutableID execID(GetID());
- CScript* script = CScript::NewL(aPolicyID,execID);
- script->SetPermissionSet(domain->PermSet());
- iScripts.Append(script);
-
- TRAPD(err,iSecMgrDB->RegisterScriptL(execID,*script));
-
- if(KErrNone==err)
- {
- return execID;
- }
- else
- {
- return ret;
- }
- }
-
- }
- return ret;
-
-}
-
-TExecutableID CScriptManager::RegisterScript(TPolicyID aPolicyID,const TDesC& aHashValue/*,const CTrustInfo& aTrustPolicy*/)
- {
- TInt ret(ErrPolicyIDDoesNotExist);
-
- CPolicy* policy = iPolicyMgr->Policy(aPolicyID);
-
- if(policy)
- {
- CProtectionDomain* domain = policy->ProtectionDomain(KDefaultTrustPolicy);
-
- if(domain)
- {
- TExecutableID execID(GetID());
- CScript* script = CScript::NewLC(aPolicyID,execID);
- script->SetHashMarkL(aHashValue);
- script->SetPermissionSet(domain->PermSet());
- iScripts.Append(script);
-
- TRAPD(err,iSecMgrDB->RegisterScriptL(execID, *script));
-
- if(KErrNone==err)
- {
- ret=execID;
- }
- CleanupStack::Pop(script);
- }
-
- }
- return ret;
-
- }
-
-
-void CScriptManager::UnRegisterScriptL(TExecutableID aExecID,TPolicyID aPolicyID)
-{
- TInt ret;
- CScript *scriptInfo = CScript::NewL(KInvalidPolicyID ,aExecID);
- ret = ScriptInfo(*scriptInfo);
-
-
- if( (KErrNone<=ret) && (scriptInfo->PolicyID() != aPolicyID))
- {
- ret = ErrInvalidPolicyID;
- }
-
- delete scriptInfo;
- scriptInfo = NULL;
-
- if(ret == KErrNone)
- {
- for(TInt i=0; i!=iScripts.Count();++i)
- {
- if(iScripts[i]->ScriptID()==aExecID)
- {
- delete iScripts[i];
- iScripts.Remove(i); //remove from the cache first
- break;
- }
- }
- iSecMgrDB->UnRegisterScriptL(aExecID);
- }
- else
- User::Leave(ret);
-}
-
-TInt CScriptManager::ScriptInfo(CScript& aScriptInfo)
-{
- //Check if script info is already present in the cache (iScriptStore)
- //If yes,
- for(TInt i=0; i!=iScripts.Count();++i)
- {
- if(iScripts[i]->ScriptID()==aScriptInfo.ScriptID())
- {
- {
- aScriptInfo = *iScripts[i];
- return KErrNone;
- }
- }
- }
-
- //Read the script file
- TInt ret = iSecMgrDB->ReadScriptInfo(aScriptInfo.ScriptID(),aScriptInfo);
-
- if(KErrNone==ret)
- {
- iScripts.AppendL(&aScriptInfo);
- }
-
- return ret;
-}
-
-TInt CScriptManager::GetScriptFile(TExecutableID aExecID,TDes& aScriptFile)
-{
- return iSecMgrDB->GetScriptFile(aExecID,aScriptFile);
-}
-
-void CScriptManager::UpdatePermGrantL(TExecutableID aExecID,TPermGrant aPermGrant,TPermGrant aPermDenied)
-{
- for(TInt i(0);i!=iScripts.Count();++i)
- {
- if(iScripts[i]->ScriptID()==aExecID)
- {
- iScripts[i]->SetPermGranted(aPermGrant);
- iScripts[i]->SetPermDenied(aPermDenied);
- iSecMgrDB->WriteScriptInfoL(aExecID,*iScripts[i]);
- return;
- }
- }
-}
-
-void CScriptManager::UpdatePermGrantL(TExecutableID aExecID,RProviderArray aAllowedProviders,
- RProviderArray aDeniedProviders)
-{
- for(TInt i(0);i!=iScripts.Count();++i)
- {
- if(iScripts[i]->ScriptID()==aExecID)
- {
- iScripts[i]->SetPermGranted(aAllowedProviders);
- iScripts[i]->SetPermDenied(aDeniedProviders);
- iSecMgrDB->WriteScriptInfoL(aExecID,*iScripts[i]);
- return;
- }
- }
-}
--- a/rtsecuritymanager/rtsecuritymanagerserver/src/rtsecmgrserver.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-#include <e32svr.h>
-#include <e32uid.h>
-
-#include "rtsecmgrserver.h"
-#include "rtsecmgrsession.h"
-#include "rtsecmgrsubsession.h"
-#include "rtsecmgrcommondef.h"
-#include "rtsecmgrstore.h"
-#include "rtsecmgrpolicymanager.h"
-#include "rtsecmgrscriptmanager.h"
-
-CRTSecMgrServer* CRTSecMgrServer::NewL(CActive::TPriority aActiveObjectPriority)
- {
- CRTSecMgrServer* self=new (ELeave) CRTSecMgrServer(aActiveObjectPriority);
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop(self);
- return self;
- }
-
-CRTSecMgrServer* CRTSecMgrServer::NewLC(CActive::TPriority aActiveObjectPriority)
- {
- CRTSecMgrServer* self=new (ELeave) CRTSecMgrServer(aActiveObjectPriority);
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-void CRTSecMgrServer::ConstructL()
- {
- StartL(KSecServerProcessName);
- iContainerIndex = CObjectConIx::NewL();
-
- iSecMgrDb = CSecMgrStore::NewL();
- iPolicyMgr = CPolicyManager::NewL(iSecMgrDb);
- iPolicyMgr->RestorePoliciesL();
-
- iScriptMgr = CScriptManager::NewL(iSecMgrDb,iPolicyMgr);
-
- // Start the shutDown timer
- iShutDown.ConstructL();
-
- iShutDown.Start ();
- }
-
-CRTSecMgrServer::~CRTSecMgrServer()
- {
- if(iPolicyMgr)
- {
- delete iPolicyMgr;
- }
-
- if(iScriptMgr)
- {
- delete iScriptMgr;
- }
-
- if(iSecMgrDb)
- {
- delete iSecMgrDb;
- }
-
- Delete(iContainerIndex);
-
- iShutDown.Cancel();
- }
-
-CSession2* CRTSecMgrServer::NewSessionL(const TVersion &aVersion,const RMessage2& /*aMessage*/) const
- {
- // Check that the version is OK
- TVersion v(KRTSecMgrServMajorVersionNumber,KRTSecMgrServMinorVersionNumber,KRTSecMgrServBuildVersionNumber);
- if (!User::QueryVersionSupported(v,aVersion))
- User::Leave(KErrNotSupported);
-
- return CRTSecMgrSession::NewL();
- }
-
-
-
--- a/rtsecuritymanager/rtsecuritymanagerserver/src/rtsecmgrserversession.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,179 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-#include <e32svr.h>
-#include <e32uid.h>
-
-#include "rtsecmgrserver.h"
-#include "rtsecmgrdata.h"
-#include "rtsecmgrpolicyparser.h"
-#include "rtsecmgrsession.h"
-#include "rtsecmgrsubsession.h"
-
-/**
- * Called by client/server framework after
- * session has been successfully created.
- * In effect, a second-phase constructor.
- * creates:
- *
- * 1. the object index
- * 2. the object container for this session.
- *
- */
-void CRTSecMgrSession::CreateL()
- {
- if(!iSecMgrServer)
- iSecMgrServer = dynamic_cast<CRTSecMgrServer*> (const_cast<CServer2*> (Server()));
-
- iSecMgrServer->AddSession ();
-
- iSubSessionObjectIndex = CObjectIx::NewL ();
- iContainer = iSecMgrServer->NewContainerL ();
- }
-
-void CRTSecMgrSession::CloseSession()
- {
- //delete the object index (this stores the objects for this session)
- Delete (iSubSessionObjectIndex);
- //delete the object container (this provides unique ids for the objects of this session )
-
- iSecMgrServer->RemoveFromContainerIx (iContainer);
- iSecMgrServer->RemoveSession ();
- }
-
-/**
- * A simple utility function to return the appropriate
- * CRTSecMgrSubSession object given a client's subsession handle.
- */
-CRTSecMgrSubSession* CRTSecMgrSession::SubSessionFromHandle(
- const RMessage2& aMessage, TInt aHandle)
- {
- CRTSecMgrSubSession* subSession = (CRTSecMgrSubSession*)iSubSessionObjectIndex->At(aHandle);
-
- if ( !subSession)
- {
- PanicClient (aMessage, EBadSubsessionHandle);
- }
- return subSession;
- }
-
-void CRTSecMgrSession::DispatchMessageL(const RMessage2& aMessage)
- {
- // First check for session-relative requests
- switch (aMessage.Function ())
- {
- case ESetPolicy:
- SetPolicy (aMessage);
- return;
- case EUpdatePolicy:
- UpdatePolicy (aMessage);
- return;
- case EUnsetPolicy:
- UnsetPolicy (aMessage);
- return;
- case ERegisterScript:
- RegisterScript (aMessage);
- return;
- case ERegisterScriptWithHash:
- RegisterScript (aMessage, ETrue);
- return;
- case EUnRegisterScript:
- UnregisterScript (aMessage);
- return;
- case EGetScriptSession:
- GetScriptSessionL (aMessage);
- return;
- case EGetTrustedUnRegScriptSession:
- GetTrustedUnRegScriptSessionL (aMessage);
- return;
- case ESecServCloseSession:
- CloseSession ();
- return;
- }
-
- // All other function codes must be subsession relative.
- // We need to find the appropriate server side subsession
- // i.e. the CRTSecMgrSubSession object.
- // The handle value is passed as the 4th aregument.
- CRTSecMgrSubSession* subSession = SubSessionFromHandle (aMessage,
- aMessage.Int3 ());
- switch (aMessage.Function ())
- {
- case ECloseScriptSession:
- DeleteSubSession (aMessage.Int3 ());
- return;
- case EUpdatePermanentGrant:
- subSession->UpdatePermGrantL (aMessage);
- return;
- case EGetScriptFile:
- subSession->GetScriptFile (aMessage);
- return;
- case EUpdatePermanentGrantProvider:
- subSession->UpdatePermGrantProviderL (aMessage);
- return;
- default:
- PanicClient (aMessage, EBadRequest);
- return;
- }
- }
-TBool CRTSecMgrSession::IsScriptOpenWithPolicy(TPolicyID aPolicyID)
- {
- for (TInt i(0); i!=iSubSessionObjectIndex->Count ();++i)
- {
- CRTSecMgrSubSession
- * subsession = ((CRTSecMgrSubSession*)iSubSessionObjectIndex->operator[](i));
- if ( subsession)
- {
- if ( aPolicyID==subsession->Script().PolicyID ())
- {
- return ETrue;
- }
- }
- else
- {
- continue;
- }
-
- }
- return EFalse;
- }
-
-TBool CRTSecMgrSession::IsScriptSessionOpen(TExecutableID aScriptID,CRTSecMgrSubSession* aCurrentSession)
- {
- for (TInt i(0); i!=iSubSessionObjectIndex->Count ();++i)
- {
- CRTSecMgrSubSession
- * subsession = ((CRTSecMgrSubSession*)iSubSessionObjectIndex->operator[](i));
- if ( subsession && ( subsession != aCurrentSession))
- {
- if ( aScriptID==subsession->ScriptID ())
- {
- return ETrue;
- }
- }
- else
- {
- continue;
- }
-
- }
- return EFalse;
- }
--- a/rtsecuritymanager/rtsecuritymanagerserver/src/rtsecmgrserverstartUp.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-#include <e32base.h>
-#include "rtsecmgrserver.h"
-#include "rtsecmgrserverdef.h"
-
-TInt E32Main(); // Process entry point
-
-static void RunServerL()
- {
- // Naming the server process and thread after the startup helps to debug panics
- // No error checking as names are not critical for operation
- User::RenameProcess (KSecServerProcessName);
- User::RenameThread (KSecSrvMainThreadName);
-
- // Set process priority
- RProcess svrProcess;
- svrProcess.SetPriority (EPriorityHigh);
- svrProcess.Close ();
-
- // Create and install the active scheduler we need
- CActiveScheduler* scheduler = new (ELeave) CActiveScheduler;
- CleanupStack::PushL (scheduler);
-
- CActiveScheduler::Install ( scheduler);
- CRTSecMgrServer* server= NULL;
- server = CRTSecMgrServer::NewLC (CActive::EPriorityStandard);
-
- // Initialisation complete, now signal the client
- RProcess::Rendezvous (KErrNone);
- CActiveScheduler::Start ();
- // Cleanup
- CleanupStack::PopAndDestroy (server);
- CleanupStack::PopAndDestroy (scheduler);
- }
-
-/*
- * Process main function
- *
- */
-TInt E32Main()
- {
- __UHEAP_MARK;
- TInt i = User::CountAllocCells();
- TInt err(KErrNone);
-
- // Start server.
- CTrapCleanup* cleanup = CTrapCleanup::New ();
- err = KErrNoMemory;
-
- if ( cleanup)
- {
- TRAP(err, RunServerL());
-
- delete cleanup;
- cleanup = NULL;
- }
- i = User::CountAllocCells();
- __UHEAP_MARKEND;
-
- return err;
- }
-
-// End of File
-
--- a/rtsecuritymanager/rtsecuritymanagerserver/src/rtsecmgrstore.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,593 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Definition of security manager store class
- *
-*/
-
-
-
-
-
-
-#include <s32file.h>
-#include <bautils.h>
-#include <eikenv.h>
-#include <f32file.h>
-#include <pathinfo.h>
-#include "rtsecmgrstore.h"
-#include "rtsecmgrdata.h"
-
-const TReal DEFAULT_VERSION(1.0);
-CSecMgrStore* CSecMgrStore::NewL()
- {
- CSecMgrStore* self = CSecMgrStore::NewLC ();
- CleanupStack::Pop (self);
- return self;
- }
-
-CSecMgrStore* CSecMgrStore::NewLC()
- {
- CSecMgrStore* self = new (ELeave)CSecMgrStore();
- CleanupStack::PushL (self);
- self->ConstructL ();
- return self;
- }
-
-void CSecMgrStore::StorePolicyL(const CPolicy& aPolicy)
- {
- __UHEAP_MARK;
-
- HBufC *policyFile = HBufC::NewLC(KMaxName);
- TPtr ptr(policyFile->Des());
- GetPolicyFile (ptr, aPolicy.PolicyID ());
-
- CFileStore* store = CPermanentFileStore::ReplaceLC (iFsSession, ptr,
- EFileWrite);
- store->SetTypeL (KPermanentFileStoreLayoutUid);
-
- // Construct the output stream.
- RStoreWriteStream outstream;
- TStreamId id = outstream.CreateLC (*store);
- //Write version of the policy
- outstream.WriteReal32L (TReal(DEFAULT_VERSION));
-
- TInt aliasCnt(aPolicy.AliasGroup().Count());
- outstream.WriteInt32L (aliasCnt);
- RAliasGroup aliasGroups = aPolicy.AliasGroup();
- for (TInt i(0); i!=aliasCnt;++i)
- {
- CPermission* alias = aliasGroups[i];
- alias->ExternalizeL (outstream);
- }
-
- TInt domainCnt(aPolicy.ProtectionDomain().Count ());
- outstream.WriteInt32L (domainCnt);
- RProtectionDomains domains = aPolicy.ProtectionDomain ();
- for (TInt i(0); i!=domainCnt;++i)
- {
- CProtectionDomain* domain = domains[i];
- domain->ExternalizeL (outstream);
- }
-
- // Commit changes to the stream
- outstream.CommitL ();
-
- CleanupStack::PopAndDestroy (&outstream);
-
- // Set this stream id as the root
- store->SetRootL (id);
-
- // Commit changes to the store
- store->CommitL ();
-
- CleanupStack::PopAndDestroy (store);
- CleanupStack::PopAndDestroy (policyFile);
- __UHEAP_MARKEND;
- }
-
-
-TInt CSecMgrStore::RemovePolicy(TPolicyID aPolicyID)
- {
- HBufC *policyFile = HBufC::NewLC(KMaxName);
- TPtr ptr(policyFile->Des());
- TInt ret(KErrNone);
-
- ret = GetPolicyFile(ptr, aPolicyID);
-
- if(KErrNone==ret)
- ret = iFsSession.Delete (ptr);
- CleanupStack::PopAndDestroy(policyFile);
- return ret;
- }
-
-void CSecMgrStore::RestorePoliciesL(RPolicies& aPolicy)
- {
- //Fetch all the individual policy files from "epoc32\winscw\c\private\<SECMGR_UID>\policy" directory
- //Iteratively internalise the policy files, with the policyID (PolicyID is = to filename)
- HBufC *privateDir = HBufC::NewLC(KMaxName);
- TPtr privateDirptr(privateDir->Des());
- GetPolicyPath (privateDirptr);
-
- // create search string
- HBufC* searchBuf = privateDirptr.AllocLC ();
- TPtr searchPtr(searchBuf->Des());
-
- CDir* dir= NULL;
- iFsSession.GetDir (searchPtr, KEntryAttNormal,
- ESortByName | EAscending, dir);
-
- if ( dir)
- {
- CleanupStack::PushL (dir);
- for (TInt i=0; i!=dir->Count ();++i)
- {
- TEntry entry = dir->operator[] (i);
- HBufC *fileName = HBufC::NewLC(KMaxName);
- TPtr ptr(fileName->Des());
- ptr = entry.iName;
-
- HBufC *policyFile = HBufC::NewLC(KMaxName);
- TPtr policyFileptr(policyFile->Des());
- policyFileptr.Copy(privateDirptr) ;
- policyFileptr.Append (ptr);
-
- CFileStore* store = CPermanentFileStore::OpenLC (iFsSession,
- policyFileptr, EFileShareAny);
-
- RStoreReadStream instream;
- instream.OpenLC (*store, store->Root ());
-
- TLex16 lexer(ptr);
- TPolicyID pID;
- lexer.Val (pID);
-
- CPolicy* policy = CPolicy::NewL (pID, instream);
- aPolicy.Append (policy);
-
- CleanupStack::PopAndDestroy (&instream); //instream
- CleanupStack::PopAndDestroy (store); //store
- CleanupStack::PopAndDestroy (policyFile);
- CleanupStack::PopAndDestroy (fileName);
- }
-
- CleanupStack::PopAndDestroy (dir);
- }
-
- CleanupStack::PopAndDestroy (searchBuf);
- CleanupStack::PopAndDestroy (privateDir);
- }
-
-void CSecMgrStore::RegisterScriptL(TExecutableID aExecID, const CScript& aScript)
- {
- HBufC *scriptFile = HBufC::NewLC(KMaxName);
- TPtr ptr(scriptFile->Des());
- User::LeaveIfError(GetScriptFile(ptr,aExecID));
-
- CFileStore* store = CPermanentFileStore::ReplaceLC (iFsSession, ptr,
- EFileWrite);
-
- // Must say what kind of file store.
- store->SetTypeL (KPermanentFileStoreLayoutUid);
-
- // Construct the output stream.
- RStoreWriteStream outstream;
- TStreamId id = outstream.CreateLC (*store);
-
- aScript.ExternalizeL (outstream);
-
- // Commit changes to the stream
- outstream.CommitL ();
-
- // Cleanup the stream object
- CleanupStack::PopAndDestroy (&outstream);
-
- // Set this stream id as the root
- store->SetRootL (id);
-
- // Commit changes to the store
- store->CommitL ();
-
- CleanupStack::PopAndDestroy (store);
- CleanupStack::PopAndDestroy (scriptFile);
-
- }
-
-void CSecMgrStore::UnRegisterScriptL(TExecutableID aExecID)
- {
- HBufC *scriptFile = HBufC::NewLC(KMaxName);
- TPtr ptr(scriptFile->Des());
- User::LeaveIfError (GetScriptFile (ptr,aExecID));
-
- if ( BaflUtils::FileExists (iFsSession, ptr))
- iFsSession.Delete (ptr);
- else
- {
- User::Leave(ErrInvalidScriptID);
- }
- CleanupStack::PopAndDestroy (scriptFile);
- }
-
-TInt CSecMgrStore::ReadScriptInfo(TExecutableID aExecID, CScript& aScriptInfo)
- {
- __UHEAP_MARK;
-
- HBufC *scriptFile = HBufC::NewLC(KMaxName);
- TPtr ptr(scriptFile->Des());
- TInt ret(GetScriptFile (ptr, aExecID));
-
- if ( KErrNone==ret)
- {
- if ( !BaflUtils::FileExists(iFsSession, ptr))
- {
- return ErrInvalidScriptID;
- }
-
- CFileStore* store= NULL;
- store=CPermanentFileStore::OpenLC (iFsSession, ptr,
- EFileShareAny);
-
- if ( KErrNone==ret)
- {
- RStoreReadStream instream;
- instream.OpenLC (*store, store->Root ());
-
- aScriptInfo.InternalizeL (instream);
-
- CleanupStack::PopAndDestroy (&instream);
- CleanupStack::PopAndDestroy (store);
- }
- return ret;
- }
- CleanupStack::PopAndDestroy (scriptFile);
- __UHEAP_MARKEND;
-
- return ret;
- }
-
-TInt CSecMgrStore::GetScriptFile(TExecutableID aExecID, TDes& aScriptFile)
- {
- TInt ret(GetScriptFile (aScriptFile,aExecID));
-
- if ( KErrNone==ret)
- {
- if ( !BaflUtils::FileExists(iFsSession, aScriptFile))
- {
- return ErrInvalidScriptID;
- }
- }
-
- return ret;
- }
-
-void CSecMgrStore::WriteScriptInfoL(TExecutableID aExecID, CScript& aScriptInfo)
- {
- __UHEAP_MARK;
-
- HBufC *scriptFile = HBufC::NewLC(KMaxName);
- TPtr ptr(scriptFile->Des());
- User::LeaveIfError (GetScriptFile (ptr,aExecID));
-
- CFileStore* store = CPermanentFileStore::ReplaceLC (iFsSession, ptr,
- EFileWrite);
-
- // Must say what kind of file store.
- store->SetTypeL (KPermanentFileStoreLayoutUid);
-
- // Construct the output stream.
- RStoreWriteStream outstream;
- TStreamId id = outstream.CreateLC (*store);
-
- aScriptInfo.ExternalizeL (outstream);
-
- // Commit changes to the stream
- outstream.CommitL ();
-
- // Cleanup the stream object
- CleanupStack::PopAndDestroy (&outstream);
-
- // Set this stream id as the root
- store->SetRootL (id);
-
- // Commit changes to the store
- store->CommitL ();
-
- CleanupStack::PopAndDestroy (store);
- CleanupStack::PopAndDestroy (scriptFile);
- __UHEAP_MARKEND;
- }
-
-TInt CSecMgrStore::ReadCounter(TExecutableID& aExecID)
- {
- HBufC *configFile = HBufC::NewLC(KMaxName);
- TPtr ptr(configFile->Des());
- TInt ret(GetConfigFile (ptr));
-
- if ( KErrNone==ret)
- {
- if ( !BaflUtils::FileExists(iFsSession,*configFile))
- {
- aExecID = (TExecutableID)KCRUIdSecMgr.iUid;
- BaflUtils::EnsurePathExistsL (iFsSession, *configFile);
- CleanupStack::PopAndDestroy (configFile);
- return WriteCounter (aExecID);
- }
-
- CFileStore* store = CPermanentFileStore::OpenLC (iFsSession,
- *configFile, EFileRead);
-
- RStoreReadStream instream;
- instream.OpenLC (*store, store->Root ());
-
- aExecID = instream.ReadInt32L ();
-
- CleanupStack::PopAndDestroy (&instream);
- CleanupStack::PopAndDestroy (store);
- }
- CleanupStack::PopAndDestroy (configFile);
- return ret;
- }
-
-TInt CSecMgrStore::WriteCounter(TExecutableID aExecID)
- {
- HBufC *configFile = HBufC::NewLC(KMaxName);
- TPtr ptr(configFile->Des());
- TInt ret(GetConfigFile (ptr));
-
- if ( KErrNone==ret)
- {
- CFileStore* store = CPermanentFileStore::ReplaceLC (iFsSession,
- *configFile, EFileWrite);
-
- // Must say what kind of file store.
- store->SetTypeL (KPermanentFileStoreLayoutUid);
-
- // Construct the output stream.
- RStoreWriteStream outstream;
- TStreamId id = outstream.CreateLC (*store);
-
- outstream.WriteInt32L (aExecID);
-
- // Commit changes to the stream
- outstream.CommitL ();
-
- // Cleanup the stream object
- CleanupStack::PopAndDestroy (&outstream);
-
- // Set this stream id as the root
- store->SetRootL (id);
-
- // Commit changes to the store
- store->CommitL ();
-
- CleanupStack::PopAndDestroy (store);
- }
- CleanupStack::PopAndDestroy (configFile);
- return ret;
- }
-
-TInt CSecMgrStore::GetPrivatePath(TDes& aPrivatePath)
- {
- TInt ret(KErrNone);
- aPrivatePath.Append (KCDrive);
-
- HBufC *privateDir = HBufC::NewLC(KMaxName);
- TPtr ptr(privateDir->Des());
- ret = iFsSession.PrivatePath (ptr);
-
- if ( KErrNone==ret)
- {
- aPrivatePath.Append (ptr);
- }
- CleanupStack::PopAndDestroy (privateDir);
- return ret;
- }
-
-TInt CSecMgrStore::GetConfigFile(TDes& aConfigFile)
- {
- TInt ret(KErrNone);
-
- aConfigFile.Append (KCDrive);
-
- HBufC *privateDir = HBufC::NewLC(KMaxName);
- TPtr ptr(privateDir->Des());
- ret = iFsSession.PrivatePath (ptr);
-
- if ( KErrNone==ret)
- {
- aConfigFile.Append (ptr);
-
- ret = iFsSession.MkDirAll (ptr);
-
- if ( KErrAlreadyExists==ret)
- ret=KErrNone;
-
- aConfigFile.Append (KConfigFile);
- }
- CleanupStack::PopAndDestroy (privateDir);
- return ret;
- }
-
-TInt CSecMgrStore::GetPolicyPath(TDes& aFile)
- {
- TInt ret(GetPrivatePath (aFile));
-
- if ( KErrNone==ret)
- {
- aFile.Append (KPolicyDir);
- aFile.Append (KDirSeparator);
-
- TRAP (ret, BaflUtils::EnsurePathExistsL (iFsSession, aFile));
- }
-
- return ret;
- }
-
-TInt CSecMgrStore::GetScriptPath(TDes& aFile)
- {
- TInt ret(GetPrivatePath (aFile));
-
- if ( KErrNone==ret)
- {
- aFile.Append (KScriptDir);
- aFile.Append (KDirSeparator);
-
- TRAP (ret, BaflUtils::EnsurePathExistsL (iFsSession, aFile));
-
- if ( KErrAlreadyExists==ret)
- ret = KErrNone;
- }
-
- return ret;
- }
-
-TInt CSecMgrStore::GetScriptFile(TDes& aFile, TExecutableID aExecID)
- {
- TInt ret(GetScriptPath (aFile));
-
- if ( (KErrNone==ret) || (KErrAlreadyExists==ret))
- {
- if ( KAnonymousScript!=aExecID)
- {
- HBufC *fSuffix = HBufC::NewLC(KMaxName);
- TPtr fSuffixPtr(fSuffix->Des());
- fSuffixPtr.Num (aExecID);
-
- aFile.Append (fSuffixPtr);
- aFile.Append (KDatExtn);
- CleanupStack::PopAndDestroy (fSuffix);
- }
- }
-
- if ( KErrAlreadyExists==ret)
- ret=KErrNone;
-
- return ret;
- }
-
-TInt CSecMgrStore::GetPolicyFile(TDes& aFile, TPolicyID aPolicyID)
- {
- TInt ret(GetPolicyPath (aFile));
-
- if ( (KErrNone==ret) || (KErrAlreadyExists==ret))
- {
- HBufC *fPolicyName = HBufC::NewLC(KMaxName);
- TPtr policyNamePtr(fPolicyName->Des());
- policyNamePtr.Num (aPolicyID);
-
- aFile.Append (policyNamePtr);
- aFile.Append (KDatExtn);
- CleanupStack::PopAndDestroy (fPolicyName);
- }
-
- return ret;
- }
-
-
-TInt CSecMgrStore::BackupFile(TPolicyID aPolicyID)
-{
- HBufC *policyFile = HBufC::NewLC(KMaxName);
- TPtr policyFilePtr(policyFile->Des());
-
- HBufC *tempPolicyFile = HBufC::NewLC(KMaxName);
- TPtr tempPolicyFilePtr(tempPolicyFile->Des());
-
- TInt ret(GetPolicyFile(policyFilePtr, aPolicyID));
-
- ret= GetPolicyPath (tempPolicyFilePtr);
-
- if ( (KErrNone==ret) || (KErrAlreadyExists==ret))
- {
- HBufC *fPolicyName = HBufC::NewLC(KMaxName);
- TPtr policyNamePtr(fPolicyName->Des());
- policyNamePtr.Num (aPolicyID);
-
- tempPolicyFilePtr.Append (policyNamePtr);
- tempPolicyFilePtr.Append (_L("_temp"));
- tempPolicyFilePtr.Append (KDatExtn);
-
- CleanupStack::PopAndDestroy(fPolicyName);
- }
-
- CFileMan *fm = CFileMan::NewL(iFsSession);
- TInt backupResult = fm->Copy(policyFilePtr, tempPolicyFilePtr, CFileMan::EOverWrite);
- delete fm;
-
- CleanupStack::PopAndDestroy(tempPolicyFile);
- CleanupStack::PopAndDestroy(policyFile);
-
- return backupResult;
-}
-
-TInt CSecMgrStore::RemoveTempPolicy(TPolicyID aPolicyID)
-{
- HBufC *tempPolicyFile = HBufC::NewLC(KMaxName);
- TPtr tempPolicyFilePtr(tempPolicyFile->Des());
-
- TInt ret= GetPolicyPath (tempPolicyFilePtr);
-
- if ( (KErrNone==ret) || (KErrAlreadyExists==ret))
- {
- HBufC *fPolicyName = HBufC::NewLC(KMaxName);
- TPtr policyNamePtr(fPolicyName->Des());
- policyNamePtr.Num (aPolicyID);
-
- tempPolicyFilePtr.Append (policyNamePtr);
- tempPolicyFilePtr.Append (_L("_temp"));
- tempPolicyFilePtr.Append (KDatExtn);
-
- CleanupStack::PopAndDestroy(fPolicyName);
- }
-
- CFileMan *fm = CFileMan::NewL(iFsSession);
- TInt rmTempResult = fm->Delete(tempPolicyFilePtr);
- delete fm;
-
- CleanupStack::PopAndDestroy(tempPolicyFile);
-
- return rmTempResult;
-}
-
-TInt CSecMgrStore::RestoreTempPolicy(TPolicyID aPolicyID)
-{
- HBufC *policyFile = HBufC::NewLC(KMaxName);
- TPtr policyFilePtr(policyFile->Des());
-
- HBufC *tempPolicyFile = HBufC::NewLC(KMaxName);
- TPtr tempPolicyFilePtr(tempPolicyFile->Des());
-
- TInt ret(GetPolicyFile(policyFilePtr, aPolicyID));
-
- ret= GetPolicyPath (tempPolicyFilePtr);
-
- if ( (KErrNone==ret) || (KErrAlreadyExists==ret))
- {
- HBufC *fPolicyName = HBufC::NewLC(KMaxName);
- TPtr policyNamePtr(fPolicyName->Des());
- policyNamePtr.Num (aPolicyID);
-
- tempPolicyFilePtr.Append (policyNamePtr);
- tempPolicyFilePtr.Append (_L("_temp"));
- tempPolicyFilePtr.Append (KDatExtn);
-
- CleanupStack::PopAndDestroy(fPolicyName);
- }
-
- CFileMan *fm = CFileMan::NewL(iFsSession);
- TInt restoreResult = fm->Copy(tempPolicyFilePtr, policyFilePtr, CFileMan::EOverWrite);
- delete fm;
-
- CleanupStack::PopAndDestroy(tempPolicyFile);
- CleanupStack::PopAndDestroy(policyFile);
- return restoreResult;
-}
--- a/rtsecuritymanager/rtsecuritymanagerutil/BWINS/RTSecMgrUtilU.DEF Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-EXPORTS
- ??1CPermission@@UAE@XZ @ 1 NONAME ; CPermission::~CPermission(void)
- ??1CPermissionSet@@UAE@XZ @ 2 NONAME ; CPermissionSet::~CPermissionSet(void)
- ??1CRTSecMgrRegisterScriptMsg@@UAE@XZ @ 3 NONAME ; CRTSecMgrRegisterScriptMsg::~CRTSecMgrRegisterScriptMsg(void)
- ??1CScript@@UAE@XZ @ 4 NONAME ; CScript::~CScript(void)
- ??4CScript@@QAEABV0@ABV0@@Z @ 5 NONAME ; class CScript const & CScript::operator=(class CScript const &)
- ?AppendCapPermData@CPermission@@QAEXW4TCapability@@@Z @ 6 NONAME ; void CPermission::AppendCapPermData(enum TCapability)
- ?AppendPermission@CPermissionSet@@QAEXAAVCPermission@@@Z @ 7 NONAME ; void CPermissionSet::AppendPermission(class CPermission &)
- ?AppendUncondCap@CPermissionSet@@QAEXW4TCapability@@@Z @ 8 NONAME ; void CPermissionSet::AppendUncondCap(enum TCapability)
- ?AppendUncondCapabilities@CPermissionSet@@QAEXK@Z @ 9 NONAME ; void CPermissionSet::AppendUncondCapabilities(unsigned long)
- ?Capabilitilites@CPermission@@QBEXAAV?$RArray@W4TCapability@@@@@Z @ 10 NONAME ; void CPermission::Capabilitilites(class RArray<enum TCapability> &) const
- ?Capability@CPermission@@QBE?AW4TCapability@@XZ @ 11 NONAME ; enum TCapability CPermission::Capability(void) const
- ?Condition@CPermission@@QBE?AW4TUserPromptOption@@XZ @ 12 NONAME ; enum TUserPromptOption CPermission::Condition(void) const
- ?Default@CPermission@@QBE?AW4TUserPromptOption@@XZ @ 13 NONAME ; enum TUserPromptOption CPermission::Default(void) const
- ?ExternalizeL@CPermission@@QBEXAAVRWriteStream@@@Z @ 14 NONAME ; void CPermission::ExternalizeL(class RWriteStream &) const
- ?ExternalizeL@CPermissionSet@@QBEXAAVRWriteStream@@@Z @ 15 NONAME ; void CPermissionSet::ExternalizeL(class RWriteStream &) const
- ?ExternalizeL@CScript@@QBEXAAVRWriteStream@@@Z @ 16 NONAME ; void CScript::ExternalizeL(class RWriteStream &) const
- ?InternalizeL@CPermission@@QAEXAAVRReadStream@@@Z @ 17 NONAME ; void CPermission::InternalizeL(class RReadStream &)
- ?InternalizeL@CPermissionSet@@QAEXAAVRReadStream@@@Z @ 18 NONAME ; void CPermissionSet::InternalizeL(class RReadStream &)
- ?InternalizeL@CScript@@QAEXAAVRReadStream@@@Z @ 19 NONAME ; void CScript::InternalizeL(class RReadStream &)
- ?NewL@CPermission@@SAPAV1@ABV1@@Z @ 20 NONAME ; class CPermission * CPermission::NewL(class CPermission const &)
- ?NewL@CPermission@@SAPAV1@ABV?$RArray@W4TCapability@@@@@Z @ 21 NONAME ; class CPermission * CPermission::NewL(class RArray<enum TCapability> const &)
- ?NewL@CPermission@@SAPAV1@ABV?$RArray@W4TCapability@@@@W4TUserPromptOption@@1@Z @ 22 NONAME ; class CPermission * CPermission::NewL(class RArray<enum TCapability> const &, enum TUserPromptOption, enum TUserPromptOption)
- ?NewL@CPermission@@SAPAV1@ABV?$RArray@W4TCapability@@@@W4TUserPromptOption@@@Z @ 23 NONAME ; class CPermission * CPermission::NewL(class RArray<enum TCapability> const &, enum TUserPromptOption)
- ?NewL@CPermission@@SAPAV1@XZ @ 24 NONAME ; class CPermission * CPermission::NewL(void)
- ?NewL@CPermissionSet@@SAPAV1@ABV1@@Z @ 25 NONAME ; class CPermissionSet * CPermissionSet::NewL(class CPermissionSet const &)
- ?NewL@CPermissionSet@@SAPAV1@XZ @ 26 NONAME ; class CPermissionSet * CPermissionSet::NewL(void)
- ?NewL@CRTSecMgrRegisterScriptMsg@@SAPAV1@HABVTDesC16@@@Z @ 27 NONAME ; class CRTSecMgrRegisterScriptMsg * CRTSecMgrRegisterScriptMsg::NewL(int, class TDesC16 const &)
- ?NewL@CScript@@SAPAV1@HH@Z @ 28 NONAME ; class CScript * CScript::NewL(int, int)
- ?NewLC@CPermission@@SAPAV1@ABV1@@Z @ 29 NONAME ; class CPermission * CPermission::NewLC(class CPermission const &)
- ?NewLC@CPermission@@SAPAV1@ABV?$RArray@W4TCapability@@@@@Z @ 30 NONAME ; class CPermission * CPermission::NewLC(class RArray<enum TCapability> const &)
- ?NewLC@CPermission@@SAPAV1@ABV?$RArray@W4TCapability@@@@W4TUserPromptOption@@1@Z @ 31 NONAME ; class CPermission * CPermission::NewLC(class RArray<enum TCapability> const &, enum TUserPromptOption, enum TUserPromptOption)
- ?NewLC@CPermission@@SAPAV1@ABV?$RArray@W4TCapability@@@@W4TUserPromptOption@@@Z @ 32 NONAME ; class CPermission * CPermission::NewLC(class RArray<enum TCapability> const &, enum TUserPromptOption)
- ?NewLC@CPermission@@SAPAV1@XZ @ 33 NONAME ; class CPermission * CPermission::NewLC(void)
- ?NewLC@CPermissionSet@@SAPAV1@ABV1@@Z @ 34 NONAME ; class CPermissionSet * CPermissionSet::NewLC(class CPermissionSet const &)
- ?NewLC@CPermissionSet@@SAPAV1@XZ @ 35 NONAME ; class CPermissionSet * CPermissionSet::NewLC(void)
- ?NewLC@CRTSecMgrRegisterScriptMsg@@SAPAV1@ABVTDesC8@@@Z @ 36 NONAME ; class CRTSecMgrRegisterScriptMsg * CRTSecMgrRegisterScriptMsg::NewLC(class TDesC8 const &)
- ?NewLC@CRTSecMgrRegisterScriptMsg@@SAPAV1@HABVTDesC16@@@Z @ 37 NONAME ; class CRTSecMgrRegisterScriptMsg * CRTSecMgrRegisterScriptMsg::NewLC(int, class TDesC16 const &)
- ?NewLC@CScript@@SAPAV1@HH@Z @ 38 NONAME ; class CScript * CScript::NewLC(int, int)
- ?PackMsgL@CRTSecMgrRegisterScriptMsg@@QBEPAVHBufC8@@XZ @ 39 NONAME ; class HBufC8 * CRTSecMgrRegisterScriptMsg::PackMsgL(void) const
- ?PermDenied@CScript@@QBEKXZ @ 40 NONAME ; unsigned long CScript::PermDenied(void) const
- ?PermGranted@CScript@@QBEKXZ @ 41 NONAME ; unsigned long CScript::PermGranted(void) const
- ?PermName@CPermission@@QBEABVTDesC16@@XZ @ 42 NONAME ; class TDesC16 const & CPermission::PermName(void) const
- ?PermissionData@CPermission@@QBEKXZ @ 43 NONAME ; unsigned long CPermission::PermissionData(void) const
- ?PermissionSet@CScript@@QAEAAVCPermissionSet@@XZ @ 44 NONAME ; class CPermissionSet & CScript::PermissionSet(void)
- ?PermissionSet@CScript@@QBEABVCPermissionSet@@XZ @ 45 NONAME ; class CPermissionSet const & CScript::PermissionSet(void) const
- ?Permissions@CPermissionSet@@QAEAAV?$RPointerArray@VCPermission@@@@XZ @ 46 NONAME ; class RPointerArray<class CPermission> & CPermissionSet::Permissions(void)
- ?Permissions@CPermissionSet@@QBEABV?$RPointerArray@VCPermission@@@@XZ @ 47 NONAME ; class RPointerArray<class CPermission> const & CPermissionSet::Permissions(void) const
- ?PolicyID@CScript@@QBEHXZ @ 48 NONAME ; int CScript::PolicyID(void) const
- ?ScriptID@CScript@@QBEHXZ @ 49 NONAME ; int CScript::ScriptID(void) const
- ?SetCondition@CPermission@@QAEXW4TUserPromptOption@@@Z @ 50 NONAME ; void CPermission::SetCondition(enum TUserPromptOption)
- ?SetDefault@CPermission@@QAEXW4TUserPromptOption@@@Z @ 51 NONAME ; void CPermission::SetDefault(enum TUserPromptOption)
- ?SetPermDenied@CScript@@QAEXK@Z @ 52 NONAME ; void CScript::SetPermDenied(unsigned long)
- ?SetPermGranted@CScript@@QAEXK@Z @ 53 NONAME ; void CScript::SetPermGranted(unsigned long)
- ?SetPermName@CPermission@@QAEXABVTDesC16@@@Z @ 54 NONAME ; void CPermission::SetPermName(class TDesC16 const &)
- ?SetPermissionData@CPermission@@QAEXK@Z @ 55 NONAME ; void CPermission::SetPermissionData(unsigned long)
- ?SetPermissionSet@CScript@@QAEXABVCPermissionSet@@@Z @ 56 NONAME ; void CScript::SetPermissionSet(class CPermissionSet const &)
- ?UnconditionalCaps@CPermissionSet@@QBEKXZ @ 57 NONAME ; unsigned long CPermissionSet::UnconditionalCaps(void) const
- ?UnconditionalCaps@CPermissionSet@@QBEXAAV?$RArray@W4TCapability@@@@@Z @ 58 NONAME ; void CPermissionSet::UnconditionalCaps(class RArray<enum TCapability> &) const
- ?PermDenied@CScript@@QAEXAAV?$RArray@VTUid@@@@@Z @ 59 NONAME ; void CScript::PermDenied(class RArray<class TUid> &)
- ?PermGranted@CScript@@QAEXAAV?$RArray@VTUid@@@@@Z @ 60 NONAME ; void CScript::PermGranted(class RArray<class TUid> &)
- ?SetPermDenied@CScript@@QAEXV?$RArray@VTUid@@@@@Z @ 61 NONAME ; void CScript::SetPermDenied(class RArray<class TUid>)
- ?SetPermGranted@CScript@@QAEXV?$RArray@VTUid@@@@@Z @ 62 NONAME ; void CScript::SetPermGranted(class RArray<class TUid>)
- ??1CRTPermGrantMessage@@UAE@XZ @ 63 NONAME ; CRTPermGrantMessage::~CRTPermGrantMessage(void)
- ?AllowedProviders@CRTPermGrantMessage@@QAEXAAV?$RArray@VTUid@@@@@Z @ 64 NONAME ; void CRTPermGrantMessage::AllowedProviders(class RArray<class TUid> &)
- ?DeniedProviders@CRTPermGrantMessage@@QAEXAAV?$RArray@VTUid@@@@@Z @ 65 NONAME ; void CRTPermGrantMessage::DeniedProviders(class RArray<class TUid> &)
- ?NewL@CRTPermGrantMessage@@SAPAV1@ABVTDesC8@@@Z @ 66 NONAME ; class CRTPermGrantMessage * CRTPermGrantMessage::NewL(class TDesC8 const &)
- ?NewL@CRTPermGrantMessage@@SAPAV1@V?$RArray@VTUid@@@@0H@Z @ 67 NONAME ; class CRTPermGrantMessage * CRTPermGrantMessage::NewL(class RArray<class TUid>, class RArray<class TUid>, int)
- ?NewL@CRTPermGrantMessage@@SAPAV1@XZ @ 68 NONAME ; class CRTPermGrantMessage * CRTPermGrantMessage::NewL(void)
- ?NewLC@CRTPermGrantMessage@@SAPAV1@ABVTDesC8@@@Z @ 69 NONAME ; class CRTPermGrantMessage * CRTPermGrantMessage::NewLC(class TDesC8 const &)
- ?NewLC@CRTPermGrantMessage@@SAPAV1@V?$RArray@VTUid@@@@0H@Z @ 70 NONAME ; class CRTPermGrantMessage * CRTPermGrantMessage::NewLC(class RArray<class TUid>, class RArray<class TUid>, int)
- ?NewLC@CRTPermGrantMessage@@SAPAV1@XZ @ 71 NONAME ; class CRTPermGrantMessage * CRTPermGrantMessage::NewLC(void)
- ?PackMessageL@CRTPermGrantMessage@@QAEPAVHBufC8@@XZ @ 72 NONAME ; class HBufC8 * CRTPermGrantMessage::PackMessageL(void)
- ?ScriptID@CRTPermGrantMessage@@QAEHXZ @ 73 NONAME ; int CRTPermGrantMessage::ScriptID(void)
- ?setAllowedProviders@CRTPermGrantMessage@@QAEXV?$RArray@VTUid@@@@@Z @ 74 NONAME ; void CRTPermGrantMessage::setAllowedProviders(class RArray<class TUid>)
- ?setDeniedProviders@CRTPermGrantMessage@@QAEXV?$RArray@VTUid@@@@@Z @ 75 NONAME ; void CRTPermGrantMessage::setDeniedProviders(class RArray<class TUid>)
- ?setScriptID@CRTPermGrantMessage@@QAEXH@Z @ 76 NONAME ; void CRTPermGrantMessage::setScriptID(int)
-
--- a/rtsecuritymanager/rtsecuritymanagerutil/EABI/RTSecMgrUtilU.DEF Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-EXPORTS
- _ZN11CPermission10SetDefaultE17TUserPromptOption @ 1 NONAME
- _ZN11CPermission11SetPermNameERK7TDesC16 @ 2 NONAME
- _ZN11CPermission12InternalizeLER11RReadStream @ 3 NONAME
- _ZN11CPermission12SetConditionE17TUserPromptOption @ 4 NONAME
- _ZN11CPermission17AppendCapPermDataE11TCapability @ 5 NONAME
- _ZN11CPermission17SetPermissionDataEm @ 6 NONAME
- _ZN11CPermission4NewLERK6RArrayI11TCapabilityE @ 7 NONAME
- _ZN11CPermission4NewLERK6RArrayI11TCapabilityE17TUserPromptOption @ 8 NONAME
- _ZN11CPermission4NewLERK6RArrayI11TCapabilityE17TUserPromptOptionS5_ @ 9 NONAME
- _ZN11CPermission4NewLERKS_ @ 10 NONAME
- _ZN11CPermission4NewLEv @ 11 NONAME
- _ZN11CPermission5NewLCERK6RArrayI11TCapabilityE @ 12 NONAME
- _ZN11CPermission5NewLCERK6RArrayI11TCapabilityE17TUserPromptOption @ 13 NONAME
- _ZN11CPermission5NewLCERK6RArrayI11TCapabilityE17TUserPromptOptionS5_ @ 14 NONAME
- _ZN11CPermission5NewLCERKS_ @ 15 NONAME
- _ZN11CPermission5NewLCEv @ 16 NONAME
- _ZN11CPermissionD0Ev @ 17 NONAME
- _ZN11CPermissionD1Ev @ 18 NONAME
- _ZN11CPermissionD2Ev @ 19 NONAME
- _ZN14CPermissionSet11PermissionsEv @ 20 NONAME
- _ZN14CPermissionSet12InternalizeLER11RReadStream @ 21 NONAME
- _ZN14CPermissionSet15AppendUncondCapE11TCapability @ 22 NONAME
- _ZN14CPermissionSet16AppendPermissionER11CPermission @ 23 NONAME
- _ZN14CPermissionSet24AppendUncondCapabilitiesEm @ 24 NONAME
- _ZN14CPermissionSet4NewLERKS_ @ 25 NONAME
- _ZN14CPermissionSet4NewLEv @ 26 NONAME
- _ZN14CPermissionSet5NewLCERKS_ @ 27 NONAME
- _ZN14CPermissionSet5NewLCEv @ 28 NONAME
- _ZN14CPermissionSetD0Ev @ 29 NONAME
- _ZN14CPermissionSetD1Ev @ 30 NONAME
- _ZN14CPermissionSetD2Ev @ 31 NONAME
- _ZN26CRTSecMgrRegisterScriptMsg4NewLEiRK7TDesC16 @ 32 NONAME
- _ZN26CRTSecMgrRegisterScriptMsg5NewLCERK6TDesC8 @ 33 NONAME
- _ZN26CRTSecMgrRegisterScriptMsg5NewLCEiRK7TDesC16 @ 34 NONAME
- _ZN26CRTSecMgrRegisterScriptMsgD0Ev @ 35 NONAME
- _ZN26CRTSecMgrRegisterScriptMsgD1Ev @ 36 NONAME
- _ZN26CRTSecMgrRegisterScriptMsgD2Ev @ 37 NONAME
- _ZN7CScript12InternalizeLER11RReadStream @ 38 NONAME
- _ZN7CScript13PermissionSetEv @ 39 NONAME
- _ZN7CScript13SetPermDeniedEm @ 40 NONAME
- _ZN7CScript14SetPermGrantedEm @ 41 NONAME
- _ZN7CScript16SetPermissionSetERK14CPermissionSet @ 42 NONAME
- _ZN7CScript4NewLEii @ 43 NONAME
- _ZN7CScript5NewLCEii @ 44 NONAME
- _ZN7CScriptD0Ev @ 45 NONAME
- _ZN7CScriptD1Ev @ 46 NONAME
- _ZN7CScriptD2Ev @ 47 NONAME
- _ZN7CScriptaSERKS_ @ 48 NONAME
- _ZNK11CPermission10CapabilityEv @ 49 NONAME
- _ZNK11CPermission12ExternalizeLER12RWriteStream @ 50 NONAME
- _ZNK11CPermission14PermissionDataEv @ 51 NONAME
- _ZNK11CPermission15CapabilitilitesER6RArrayI11TCapabilityE @ 52 NONAME
- _ZNK11CPermission7DefaultEv @ 53 NONAME
- _ZNK11CPermission8PermNameEv @ 54 NONAME
- _ZNK11CPermission9ConditionEv @ 55 NONAME
- _ZNK14CPermissionSet11PermissionsEv @ 56 NONAME
- _ZNK14CPermissionSet12ExternalizeLER12RWriteStream @ 57 NONAME
- _ZNK14CPermissionSet17UnconditionalCapsER6RArrayI11TCapabilityE @ 58 NONAME
- _ZNK14CPermissionSet17UnconditionalCapsEv @ 59 NONAME
- _ZNK26CRTSecMgrRegisterScriptMsg8PackMsgLEv @ 60 NONAME
- _ZNK7CScript10PermDeniedEv @ 61 NONAME
- _ZNK7CScript11PermGrantedEv @ 62 NONAME
- _ZNK7CScript12ExternalizeLER12RWriteStream @ 63 NONAME
- _ZNK7CScript13PermissionSetEv @ 64 NONAME
- _ZNK7CScript8PolicyIDEv @ 65 NONAME
- _ZNK7CScript8ScriptIDEv @ 66 NONAME
- _ZN19CRTPermGrantMessage11setScriptIDEi @ 67 NONAME
- _ZN19CRTPermGrantMessage12PackMessageLEv @ 68 NONAME
- _ZN19CRTPermGrantMessage15DeniedProvidersER6RArrayI4TUidE @ 69 NONAME
- _ZN19CRTPermGrantMessage16AllowedProvidersER6RArrayI4TUidE @ 70 NONAME
- _ZN19CRTPermGrantMessage18setDeniedProvidersE6RArrayI4TUidE @ 71 NONAME
- _ZN19CRTPermGrantMessage19setAllowedProvidersE6RArrayI4TUidE @ 72 NONAME
- _ZN19CRTPermGrantMessage4NewLE6RArrayI4TUidES2_i @ 73 NONAME
- _ZN19CRTPermGrantMessage4NewLERK6TDesC8 @ 74 NONAME
- _ZN19CRTPermGrantMessage4NewLEv @ 75 NONAME
- _ZN19CRTPermGrantMessage5NewLCE6RArrayI4TUidES2_i @ 76 NONAME
- _ZN19CRTPermGrantMessage5NewLCERK6TDesC8 @ 77 NONAME
- _ZN19CRTPermGrantMessage5NewLCEv @ 78 NONAME
- _ZN19CRTPermGrantMessage8ScriptIDEv @ 79 NONAME
- _ZN19CRTPermGrantMessageD0Ev @ 80 NONAME
- _ZN19CRTPermGrantMessageD1Ev @ 81 NONAME
- _ZN19CRTPermGrantMessageD2Ev @ 82 NONAME
- _ZN7CScript10PermDeniedER6RArrayI4TUidE @ 83 NONAME
- _ZN7CScript11PermGrantedER6RArrayI4TUidE @ 84 NONAME
- _ZN7CScript13SetPermDeniedE6RArrayI4TUidE @ 85 NONAME
- _ZN7CScript14SetPermGrantedE6RArrayI4TUidE @ 86 NONAME
-
--- a/rtsecuritymanager/rtsecuritymanagerutil/group/RTSecMgrUtil.mmp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project definition file for project
-*
-*/
-
-
-
-
-
-
-
-#include <platform_paths.hrh>
-
-TARGET RTSecMgrUtil.dll
-TARGETTYPE dll
-UID 0x1000008D 0x2000F849
-
-CAPABILITY CAP_GENERAL_DLL
-VENDORID VID_DEFAULT
-
-VERSION 10.3
-paged
-
-MW_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE ../inc/
-USERINCLUDE ../../inc/
-
-SOURCEPATH ../src/
-SOURCE rtsecmgrpermission.cpp
-SOURCE rtsecmgrscript.cpp
-SOURCE rtsecmgrmsg.cpp
-
-//MACRO RTSECMGR_TRACE
-
-LIBRARY euser.lib
-LIBRARY efsrv.lib
-LIBRARY estor.lib
-LIBRARY flogger.lib
-
-#if defined(ARMCC)
-deffile ../eabi/
-#elif defined(WINSCW)
-deffile ../bwins/
-#elif defined(WINS)
-deffile ../bwins/
-#else
-deffile ../bmarm/
-#endif
--- a/rtsecuritymanager/rtsecuritymanagerutil/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-#include <platform_paths.hrh>
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-RTSecMgrUtil.mmp
--- a/rtsecuritymanager/rtsecuritymanagerutil/src/rtsecmgrmsg.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines rtsecmgr common client server message types
- *
-*/
-
-
-
-
-
-
-
-#include "rtsecmgrmsg.h"
-
-CRTSecMgrRegisterScriptMsg::CRTSecMgrRegisterScriptMsg(TPolicyID aPolicyID) :
- iPolicyID(aPolicyID)
- {
- // No implementation required
- }
-
-EXPORT_C CRTSecMgrRegisterScriptMsg::~CRTSecMgrRegisterScriptMsg()
- {
- if ( iHashMarker)
- {
- delete iHashMarker;
- }
- }
-
-EXPORT_C CRTSecMgrRegisterScriptMsg* CRTSecMgrRegisterScriptMsg::NewLC(
- TPolicyID aPolicyID, const TDesC& aHashValue)
- {
- CRTSecMgrRegisterScriptMsg* self = new (ELeave)CRTSecMgrRegisterScriptMsg(aPolicyID);
- CleanupStack::PushL (self);
- self->ConstructL (aHashValue);
- return self;
- }
-
-EXPORT_C CRTSecMgrRegisterScriptMsg* CRTSecMgrRegisterScriptMsg::NewL(
- TPolicyID aPolicyID, const TDesC& aHashValue)
- {
- CRTSecMgrRegisterScriptMsg* self=CRTSecMgrRegisterScriptMsg::NewLC (
- aPolicyID, aHashValue);
- CleanupStack::Pop (self); // self;
- return self;
- }
-
-// Creates a CRTSecMgrRegisterScriptMsg initialized with the contents of the
-// descriptor parameter
-EXPORT_C CRTSecMgrRegisterScriptMsg* CRTSecMgrRegisterScriptMsg::NewLC(const TDesC8& aStreamData)
- {
- // Reads descriptor data from a stream
- // and creates a new CRTSecMgrRegisterScriptMsg object
- CRTSecMgrRegisterScriptMsg* self = new (ELeave) CRTSecMgrRegisterScriptMsg();
- CleanupStack::PushL (self);
-
- // Open a read stream for the descriptor
- RDesReadStream stream(aStreamData);
- CleanupClosePushL (stream);
- self->InternalizeL (stream);
- CleanupStack::PopAndDestroy (&stream); // finished with the stream
- return (self);
- }
-
-void CRTSecMgrRegisterScriptMsg::ConstructL(const TDesC& aHashValue)
- {
- if ( iHashMarker)
- {
- delete iHashMarker;
- iHashMarker = NULL;
- }
-
- iHashMarker = aHashValue.AllocL ();
- }
-
-// Creates and returns a heap descriptor which holds contents of ’this’
-EXPORT_C HBufC8* CRTSecMgrRegisterScriptMsg::PackMsgL() const
- {
- // Dynamic data buffer
- CBufFlat* buf = CBufFlat::NewL(KMaxMsgLength);
- CleanupStack::PushL(buf);
- RBufWriteStream stream(*buf); // Stream over the buffer
- CleanupClosePushL(stream);
- ExternalizeL(stream);
- CleanupStack::PopAndDestroy(&stream);
- // Create a heap descriptor from the buffer
- HBufC8* des = HBufC8::NewL(buf->Size());
- TPtr8 ptr(des->Des());
- buf->Read(0, ptr, buf->Size());
- CleanupStack::PopAndDestroy(buf); // Finished with the buffer
- return (des);
- }
-
-// Writes ’this’ to aStream
-void CRTSecMgrRegisterScriptMsg::ExternalizeL(RWriteStream& aStream) const
- {
- if ( iHashMarker)
- aStream << *iHashMarker;
- else
- aStream << KNullDesC8;
-
- aStream.WriteInt32L (iPolicyID); // Write iPolicyID to the stream
- }
-
-// Initializes ’this’ with the contents of aStream
-void CRTSecMgrRegisterScriptMsg::InternalizeL(RReadStream& aStream)
- {
- iHashMarker = HBufC::NewL (aStream, KMaxHashValueDesLen);
- iPolicyID = aStream.ReadInt32L (); // Read iPolicyID
- }
-
-EXPORT_C CRTPermGrantMessage::~CRTPermGrantMessage()
- {
- iAllowedProviders.Close();
- iDeniedProviders.Close();
- }
-
-EXPORT_C CRTPermGrantMessage* CRTPermGrantMessage::NewL()
- {
- CRTPermGrantMessage* self = CRTPermGrantMessage::NewLC();
- CleanupStack::Pop(self);
- return self;
- }
-
-EXPORT_C CRTPermGrantMessage* CRTPermGrantMessage::NewLC()
- {
- CRTPermGrantMessage* self = new(ELeave) CRTPermGrantMessage();
- CleanupStack::PushL(self);
- return self;
- }
-
-EXPORT_C CRTPermGrantMessage* CRTPermGrantMessage::NewL(const TDesC8& aBuf)
- {
- CRTPermGrantMessage* self = CRTPermGrantMessage::NewLC(aBuf);
- CleanupStack::Pop(self);
- return self;
- }
-
-EXPORT_C CRTPermGrantMessage* CRTPermGrantMessage::NewLC(const TDesC8& aBuf)
- {
- CRTPermGrantMessage* self = new(ELeave) CRTPermGrantMessage();
- CleanupStack::PushL(self);
- self->ConstructL(aBuf);
- return self;
- }
-
-EXPORT_C CRTPermGrantMessage* CRTPermGrantMessage::NewL(RProviderArray aAllowedProviders, RProviderArray aDeniedProviders,TExecutableID aScriptId)
- {
- CRTPermGrantMessage* self = CRTPermGrantMessage::NewLC(aAllowedProviders,aDeniedProviders,aScriptId);
- CleanupStack::Pop(self);
- return self;
- }
-
-EXPORT_C CRTPermGrantMessage* CRTPermGrantMessage::NewLC(RProviderArray aAllowedProviders, RProviderArray aDeniedProviders,TExecutableID aScriptId)
- {
- CRTPermGrantMessage* self = new(ELeave) CRTPermGrantMessage(aAllowedProviders,aDeniedProviders,aScriptId);
- CleanupStack::PushL(self);
- return self;
- }
-
-CRTPermGrantMessage::CRTPermGrantMessage()
- {
-
- }
-
-CRTPermGrantMessage::CRTPermGrantMessage(RProviderArray aAllowedProviders,RProviderArray aDeniedProviders,TExecutableID aScriptId)
- {
- iAllowedProviders.Reset();
- for(TInt i(0); i < aAllowedProviders.Count(); i++)
- iAllowedProviders.Append(aAllowedProviders[i]);
- iDeniedProviders.Reset();
- for(TInt i(0); i < aDeniedProviders.Count(); i++)
- iDeniedProviders.Append(aDeniedProviders[i]);
- iScriptId = aScriptId;
- }
-
-void CRTPermGrantMessage::ConstructL(const TDesC8& aBuf)
- {
- RDesReadStream stream(aBuf);
- CleanupClosePushL (stream);
- InternalizeL (stream);
- CleanupStack::PopAndDestroy (&stream);
- }
-
-EXPORT_C void CRTPermGrantMessage::AllowedProviders(RProviderArray& aAllowedProviders)
- {
- aAllowedProviders.Reset();
- for(TInt i(0); i < iAllowedProviders.Count(); i++)
- aAllowedProviders.Append(iAllowedProviders[i]);
- }
-
-EXPORT_C void CRTPermGrantMessage::DeniedProviders(RProviderArray& aDeniedProviders)
- {
- aDeniedProviders.Reset();
- for(TInt i(0); i < iDeniedProviders.Count(); i++)
- aDeniedProviders.Append(iDeniedProviders[i]);
- }
-
-EXPORT_C TExecutableID CRTPermGrantMessage::ScriptID()
- {
- return iScriptId;
- }
-
-EXPORT_C void CRTPermGrantMessage::setAllowedProviders(RProviderArray aAllowedProviders)
- {
- iAllowedProviders.Reset();
- for(TInt i(0); i < aAllowedProviders.Count(); i++)
- iAllowedProviders.Append(aAllowedProviders[i]);
- }
-
-EXPORT_C void CRTPermGrantMessage::setDeniedProviders(RProviderArray aDeniedProviders)
- {
- iDeniedProviders.Reset();
- for(TInt i(0); i < aDeniedProviders.Count(); i++)
- iDeniedProviders.Append(aDeniedProviders[i]);
- }
-
-EXPORT_C void CRTPermGrantMessage::setScriptID(TExecutableID aScriptId)
- {
- iScriptId = aScriptId;
- }
-
-void CRTPermGrantMessage::InternalizeL(RReadStream& aSource)
- {
- iScriptId = aSource.ReadInt32L();
- TInt allowCnt = aSource.ReadInt32L();
- iAllowedProviders.Reset();
- for(TInt i(0); i < allowCnt; i++)
- {
- TInt uid = aSource.ReadInt32L();
- TUid allowPid = TUid::Uid(uid);
- iAllowedProviders.Append(allowPid);
- }
- TInt denyCnt = aSource.ReadInt32L();
- iDeniedProviders.Reset();
- for(TInt i(0); i < denyCnt; i++)
- {
- TInt uid = aSource.ReadInt32L();
- TUid denyPid = TUid::Uid(uid);
- iDeniedProviders.Append(denyPid);
- }
- }
-
-void CRTPermGrantMessage::ExternalizeL(RWriteStream& aSink)
- {
- aSink.WriteInt32L(iScriptId);
- TInt cnt = iAllowedProviders.Count();
- aSink.WriteInt32L(cnt);
- for(TInt i(0); i < iAllowedProviders.Count(); i++)
- aSink.WriteInt32L(iAllowedProviders[i].iUid);
- cnt = iDeniedProviders.Count();
- aSink.WriteInt32L(cnt);
- for(TInt i(0); i < iDeniedProviders.Count(); i++)
- aSink.WriteInt32L(iDeniedProviders[i].iUid);
- }
-
-EXPORT_C HBufC8* CRTPermGrantMessage::PackMessageL()
- {
- // Dynamic data buffer
- CBufFlat* buf = CBufFlat::NewL(KMaxMsgLength);
- CleanupStack::PushL(buf);
- RBufWriteStream stream(*buf); // Stream over the buffer
- CleanupClosePushL(stream);
- ExternalizeL(stream);
- CleanupStack::PopAndDestroy(&stream);
- // Create a heap descriptor from the buffer
- HBufC8* des = HBufC8::NewL(buf->Size());
- TPtr8 ptr(des->Des());
- buf->Read(0, ptr, buf->Size());
- CleanupStack::PopAndDestroy(buf); // Finished with the buffer
- return (des);
- }
--- a/rtsecuritymanager/rtsecuritymanagerutil/src/rtsecmgrpermission.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,585 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines permission data structure
- *
-*/
-
-
-
-
-
-
-#include <s32mem.h>
-#include <rtsecmgrutility.h>
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPermission* CPermission::NewL()
- {
- CPermission* self = CPermission::NewLC();
- CleanupStack::Pop(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPermission* CPermission::NewLC()
- {
- CPermission* self = new (ELeave) CPermission();
- CleanupStack::PushL(self);
- return self;
- }
-
-CPermission::CPermission(const CPermission& aPermission)
- {
- if ( iPermName)
- {
- delete iPermName;
- iPermName = NULL;
- }
-
- iPermName = aPermission.PermName().Alloc();
- iPermissionData = aPermission.PermissionData();
- }
-CPermission::CPermission(const RCapabilityArray& aCapabilities) :iPermName(NULL)
- {
- for(TInt i(0);i!=aCapabilities.Count();++i)
- {
- TUint32 capBit = LOWBIT << (aCapabilities[i]);
- iPermissionData = KDefaultNullBit;
- iPermissionData |= capBit;
- }
- }
-
-CPermission::CPermission(const RCapabilityArray& aCapabilities, TUserPromptOption aDefOpt) :iPermName(NULL)
- {
- iPermissionData = KDefaultNullBit;
- for(TInt i(0);i!=aCapabilities.Count();++i)
- {
- TUint32 capBit = LOWBIT << (aCapabilities[i]);
- iPermissionData |= capBit;
-
- if ( aDefOpt&RTUserPrompt_OneShot)
- iPermissionData |= DEFAULT_ONESHOT;
- else
- if ( aDefOpt&RTUserPrompt_Session)
- iPermissionData |= DEFAULT_SESSION;
- else
- if ( aDefOpt&RTUserPrompt_Permanent)
- iPermissionData |= DEFAULT_BLANKET;
- }
- }
-
-CPermission::CPermission(const RCapabilityArray& aCapabilities, TUserPromptOption aDefOpt,TUserPromptOption aCondition) :iPermName(NULL)
- {
- iPermissionData = KDefaultNullBit;
- for(TInt i(0);i!=aCapabilities.Count();++i)
- {
- TUint32 capBit = LOWBIT << (aCapabilities[i]);
- iPermissionData |= capBit;
- iPermissionData |= aCondition;
-
- if ( aDefOpt&RTUserPrompt_OneShot)
- iPermissionData |= DEFAULT_ONESHOT;
- else
- if ( aDefOpt&RTUserPrompt_Session)
- iPermissionData |= DEFAULT_SESSION;
- else
- if ( aDefOpt&RTUserPrompt_Permanent)
- iPermissionData |= DEFAULT_BLANKET;
- }
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPermission::~CPermission()
- {
- if(iPermName)
- {
- delete iPermName;
- iPermName = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// Overloaded constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPermission* CPermission::NewL(const CPermission& aPermission)
- {
- CPermission* self = CPermission::NewLC(aPermission);
- CleanupStack::Pop(self);
- return self;
- }
-
-EXPORT_C CPermission* CPermission::NewLC(const CPermission& aPermission)
- {
- CPermission* self = new (ELeave) CPermission(aPermission);
- CleanupStack::PushL(self);
- return self;
- }
-// ---------------------------------------------------------------------------
-// Overloaded constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPermission* CPermission::NewL(const RCapabilityArray& aCapabilities)
- {
- CPermission* self = CPermission::NewLC(aCapabilities);
- CleanupStack::Pop(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Overloaded constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPermission* CPermission::NewLC(const RCapabilityArray& aCapabilities)
- {
- CPermission* self = new (ELeave) CPermission(aCapabilities);
- CleanupStack::PushL(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Overloaded constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPermission* CPermission::NewL(const RCapabilityArray& aCapabilities, TUserPromptOption aDefOpt)
- {
- CPermission* self = CPermission::NewLC(aCapabilities, aDefOpt);
- CleanupStack::Pop(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Overloaded constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPermission* CPermission::NewLC(const RCapabilityArray& aCapabilities, TUserPromptOption aDefOpt)
- {
- CPermission* self = new (ELeave) CPermission(aCapabilities ,aDefOpt);
- CleanupStack::PushL(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Overloaded constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPermission* CPermission::NewL(const RCapabilityArray& aCapabilities, TUserPromptOption aDefOpt,
- TUserPromptOption aCondition)
- {
- CPermission* self = CPermission::NewLC(aCapabilities, aDefOpt, aCondition);
- CleanupStack::Pop(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Overloaded constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPermission* CPermission::NewLC(const RCapabilityArray& aCapabilities, TUserPromptOption aDefOpt,
- TUserPromptOption aCondition)
- {
- CPermission* self = new (ELeave) CPermission(aCapabilities, aDefOpt, aCondition);
- CleanupStack::PushL(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Returns default condition
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUserPromptOption CPermission::Default() const
- {
- TUint32 ret(iPermissionData & DEFAULT_ALL);
- if(DEFAULT_ONESHOT&ret)
- {
- return RTUserPrompt_OneShot;
- }
- else if(DEFAULT_SESSION&ret)
- {
- return RTUserPrompt_Session;
- }
- else if(DEFAULT_BLANKET&ret)
- {
- return RTUserPrompt_Permanent;
- }
- return (TUserPromptOption)ret;
- }
-
-// ---------------------------------------------------------------------------
-// Returns condition set of the permission
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUserPromptOption CPermission::Condition() const
- {
- return (TUserPromptOption)(iPermissionData & CONDITION_ALL);
- }
-
-// ---------------------------------------------------------------------------
-// Returns capability of the permission
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TCapability CPermission::Capability() const
- {
- TCapability retValue = (TCapability)(iPermissionData & CAPABILITY_ALL);
-
- for(TInt i(ECapabilityTCB);i<=ECapabilityUserEnvironment;++i)
- {
- TUint32 temp = LOWBIT << i;
- if(retValue & temp)
- {
- return (TCapability)i;
- }
- }
- return ECapability_None;
- }
-
-// ---------------------------------------------------------------------------
-// Returns capability of the permission
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPermission::Capabilitilites(RCapabilityArray& aCapabilities) const
- {
- TCapability retValue = (TCapability)(iPermissionData & CAPABILITY_ALL);
-
- for(TInt i(ECapabilityTCB) ;i <= ECapabilityUserEnvironment ;i++)
- {
- TUint32 temp = LOWBIT << i;
- if(retValue & temp)
- {
- aCapabilities.Append((TCapability)i);
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// Sets default condition of the permission
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPermission::SetDefault(TUserPromptOption aDefOpt)
- {
- if ( RTUserPrompt_OneShot==aDefOpt)
- {
- iPermissionData |= DEFAULT_ONESHOT;
- iPermissionData |= CONDITION_ONESHOT;
- }
- else
- if ( RTUserPrompt_Session==aDefOpt)
- {
- iPermissionData |= DEFAULT_SESSION;
- iPermissionData |= CONDITION_SESSION;
- }
- else
- if ( RTUserPrompt_Permanent==aDefOpt)
- {
- iPermissionData |= DEFAULT_BLANKET;
- iPermissionData |= CONDITION_BLANKET;
- }
- }
-
-// ---------------------------------------------------------------------------
-// Sets condition of the permission
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPermission::SetCondition(TUserPromptOption aCondition)
- {
- iPermissionData |= aCondition;
- }
-
-// ---------------------------------------------------------------------------
-// Sets name of the permission
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPermission::SetPermName(const TDesC& aPermName)
- {
- if ( iPermName)
- {
- delete iPermName;
- iPermName = NULL;
- }
-
- iPermName = aPermName.AllocL ();
- }
-
-// ---------------------------------------------------------------------------
-// Returns name of the permission
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CPermission::PermName() const
- {
- if ( iPermName)
- return *iPermName;
- else
- return KNullDesC ();
- }
-
-// ---------------------------------------------------------------------------
-// Adds an unconditional capability
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPermission::AppendCapPermData(TCapability aCap)
- {
- if ( (aCap>=ECapabilityTCB)&&(aCap<=ECapabilityUserEnvironment))
- {
- iPermissionData = iPermissionData | (LOWBIT << aCap);
- }
- }
-
-// ---------------------------------------------------------------------------
-// Sets the permission data
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPermission::SetPermissionData(TPermissionData aPermData)
- {
- iPermissionData = aPermData;
- }
-
-// ---------------------------------------------------------------------------
-// Returns PermissionData of the permission
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TPermissionData CPermission::PermissionData() const
- {
- return iPermissionData;
- }
-
-// ---------------------------------------------------------------------------
-// Internalizes permission data from stream
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPermission::InternalizeL(RReadStream& aInStream)
- {
- TInt32 len = aInStream.ReadInt32L ();
- if ( iPermName)
- {
- delete iPermName;
- iPermName = NULL;
- }
-
- iPermName = HBufC::NewL (aInStream, len);
-
- iPermissionData = aInStream.ReadUint32L ();
- }
-
-// ---------------------------------------------------------------------------
-// ExternalizeLs permission data to stream
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPermission::ExternalizeL(RWriteStream& aOutStream) const
- {
- if(iPermName)
- {
- aOutStream.WriteInt32L (iPermName->Des().MaxLength ());
- aOutStream << *iPermName;
- }
- else
- {
- aOutStream.WriteInt32L (0);
- aOutStream << KNullDesC;
- }
-
- aOutStream.WriteUint32L (iPermissionData);
- }
-
-// ---------------------------------------------------------------------------
-// Copy constructor
-// ---------------------------------------------------------------------------
-//
-CPermissionSet::CPermissionSet(const CPermissionSet& aPermSet)
- {
- iUncondCapSet = aPermSet.iUncondCapSet;
- }
-
-void CPermissionSet::ConstructL(const CPermissionSet& aPermSet)
- {
- iPermissions.ResetAndDestroy ();
- //iPermissions.Close();
-
- for (TInt idx(0); idx!=aPermSet.iPermissions.Count ();++idx)
- {
- CPermission *temp = CPermission::NewL(*(aPermSet.iPermissions[idx]));
- iPermissions.Append (temp);
- }
-
- }
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPermissionSet* CPermissionSet::NewL()
- {
- CPermissionSet* self = CPermissionSet::NewLC();
- CleanupStack::Pop(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPermissionSet* CPermissionSet::NewLC()
- {
- CPermissionSet* self = new (ELeave) CPermissionSet();
- CleanupStack::PushL(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPermissionSet* CPermissionSet::NewL(const CPermissionSet& aPermSet)
- {
- CPermissionSet* self = CPermissionSet::NewLC(aPermSet);
- CleanupStack::Pop(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPermissionSet* CPermissionSet::NewLC(const CPermissionSet& aPermSet)
- {
- CPermissionSet* self = new (ELeave) CPermissionSet(aPermSet);
- CleanupStack::PushL(self);
- self->ConstructL(aPermSet);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPermissionSet::~CPermissionSet()
-{
- iPermissions.ResetAndDestroy();
-}
-
-// ---------------------------------------------------------------------------
-// Adds an unconditional capability
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPermissionSet::AppendUncondCap(TCapability aCap)
- {
- if ( (aCap>=ECapabilityTCB)&&(aCap<=ECapabilityUserEnvironment))
- {
- iUncondCapSet = iUncondCapSet | (LOWBIT << aCap);
- }
- }
-
-// ---------------------------------------------------------------------------
-// Adds an unconditional capability
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPermissionSet::AppendUncondCapabilities(TUnConditionalPermission aUnConditionals)
- {
- iUncondCapSet = aUnConditionals;
- }
-
-// ---------------------------------------------------------------------------
-// Returns unconditional capabilities of thhe permissionset
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUnConditionalPermission CPermissionSet::UnconditionalCaps() const
- {
- return iUncondCapSet;
- }
-// ---------------------------------------------------------------------------
-// Returns unconditional capabilities of thhe permissionset
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPermissionSet::UnconditionalCaps(RUnConditionals& aUnConditionals) const
- {
- for (TInt i(ECapabilityTCB); i!=ECapability_Limit;++i)
- {
- TUint32 capBitToCheck(KDefaultEnableBit);
- capBitToCheck = capBitToCheck << i;
-
- if ( capBitToCheck&iUncondCapSet)
- {
- aUnConditionals.Append ((TCapability)i);
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// ExternalizeLs permissionset data to stream
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPermissionSet::ExternalizeL(RWriteStream& aSink) const
- {
- aSink.WriteInt32L (iPermissions.Count ());
- for (TInt idx(0); idx!=iPermissions.Count ();++idx)
- {
- iPermissions[idx]->ExternalizeL (aSink);
- }
-
- aSink.WriteUint32L (iUncondCapSet);
- }
-
-// ---------------------------------------------------------------------------
-// InternalizeL permissionset data from stream
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPermissionSet::InternalizeL(RReadStream& aSource)
- {
- iPermissions.Reset ();
- TInt cnt(aSource.ReadInt32L ());
-
- for (TInt idx(0); idx!=cnt;++idx)
- {
- CPermission* permission = CPermission::NewL();
- permission->InternalizeL (aSource);
- iPermissions.Append (permission);
- }
-
- iUncondCapSet = aSource.ReadUint32L ();
- }
-
-// ---------------------------------------------------------------------------
-// Adds a permission data to the permissionset
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPermissionSet::AppendPermission(CPermission& aPermission)
- {
- iPermissions.Append (&aPermission);
- }
-
-// ---------------------------------------------------------------------------
-// Returns permission data
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const RPermissions& CPermissionSet::Permissions() const
- {
- return iPermissions;
- }
-
-// ---------------------------------------------------------------------------
-// Returns permission data
-// ---------------------------------------------------------------------------
-//
-EXPORT_C RPermissions& CPermissionSet::Permissions()
- {
- return iPermissions;
- }
--- a/rtsecuritymanager/rtsecuritymanagerutil/src/rtsecmgrscript.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,320 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-#include <rtsecmgrutility.h>
-#include <rtsecmgrscript.h>
-#include <s32mem.h>
-
-const TReal DEFAULT_VERSION(1.0);
-const TReal VERSION_TWO(2.0);
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CScript::~CScript()
- {
- delete iPermissionSet;
- if(iHashMark)
- delete iHashMark;
- iAllowedProviders.Close();
- iDeniedProviders.Close();
- }
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CScript* CScript::NewL(TPolicyID aPolicyID,TExecutableID aScriptID)
- {
- CScript* self = CScript::NewLC(aPolicyID,aScriptID);
- CleanupStack::Pop(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CScript* CScript::NewLC(TPolicyID aPolicyID,TExecutableID aScriptID)
- {
- CScript* self = new (ELeave) CScript(aPolicyID,aScriptID);
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor
-// ---------------------------------------------------------------------------
-//
-void CScript::ConstructL()
- {
- iPermissionSet = CPermissionSet::NewL ();
- }
-
-// ---------------------------------------------------------------------------
-// Overloaded assignment operator
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const CScript& CScript::operator=(const CScript& aRhs)
- {
- if(iPermissionSet )
- {
- delete iPermissionSet;
- iPermissionSet = NULL;
- }
-
- iPermissionSet = CPermissionSet::NewL(*aRhs.iPermissionSet);
- iScriptID = aRhs.iScriptID;
- iPolicyID = aRhs.iPolicyID;
- iPermGrant = aRhs.iPermGrant;
- iPermDenied = aRhs.iPermDenied;
- iAllowedProviders.Reset();
- for(TInt i(0); i < aRhs.iAllowedProviders.Count(); i++)
- iAllowedProviders.Append(aRhs.iAllowedProviders[i]);
- iDeniedProviders.Reset();
- for(TInt i(0); i < aRhs.iDeniedProviders.Count(); i++)
- iDeniedProviders.Append(aRhs.iDeniedProviders[i]);
-
- if(iHashMark)
- {
- delete iHashMark;
- iHashMark = NULL;
- }
-
- if(aRhs.iHashMark)
- {
- iHashMark = aRhs.iHashMark->AllocLC();
- CleanupStack::Pop(iHashMark);
- }
- return *this;
- }
-
-// ---------------------------------------------------------------------------
-// Gets script identifier
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TExecutableID CScript::ScriptID() const
- {
- return iScriptID;
- }
-
-// ---------------------------------------------------------------------------
-// Gets policy identifier
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TPolicyID CScript::PolicyID() const
- {
- return iPolicyID;
- }
-
-// ---------------------------------------------------------------------------
-// Sets permission set data of the script
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CScript::SetPermissionSet(const CPermissionSet& aPermSet)
- {
- if ( iPermissionSet)
- {
- delete iPermissionSet;
- iPermissionSet=NULL;
- }
-
- iPermissionSet = CPermissionSet::NewL (aPermSet);
- }
-
-// ---------------------------------------------------------------------------
-// Gets permission set data of the script
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const CPermissionSet& CScript::PermissionSet() const
- {
- return *iPermissionSet;
- }
-// ---------------------------------------------------------------------------
-// Gets permission set data of the script
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPermissionSet& CScript::PermissionSet()
- {
- return *iPermissionSet;
- }
-
-// ---------------------------------------------------------------------------
-// Gets permanently granted permissions of the script
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TPermGrant CScript::PermGranted() const
- {
- return iPermGrant;
- }
-
-// ---------------------------------------------------------------------------
-// Gets permanently denied permissions of the script
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TPermGrant CScript::PermDenied() const
- {
- return iPermDenied;
- }
-
-// ---------------------------------------------------------------------------
-// Gets permanently granted permissions of the script
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CScript::PermGranted(RProviderArray& aAllowedProviders)
- {
- aAllowedProviders.Reset();
- for(TInt i(0); i < iAllowedProviders.Count(); i++)
- aAllowedProviders.Append(iAllowedProviders[i]);
- }
-
-// ---------------------------------------------------------------------------
-// Gets permanently denied permissions of the script
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CScript::PermDenied(RProviderArray& aDeniedProviders)
- {
- aDeniedProviders.Reset();
- for(TInt i(0); i < iDeniedProviders.Count(); i++)
- aDeniedProviders.Append(iDeniedProviders[i]);
- }
-
-// ---------------------------------------------------------------------------
-// ExternalizeLs script data to stream
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CScript::ExternalizeL(RWriteStream& aSink) const
- {
- aSink.WriteReal32L(VERSION_TWO);
- iPermissionSet->ExternalizeL (aSink);
- aSink.WriteInt32L (iScriptID);
- aSink.WriteInt32L (iPolicyID);
- aSink.WriteUint32L (iPermGrant);
- aSink.WriteUint32L (iPermDenied);
- if(iHashMark)
- {
- aSink.WriteUint32L(iHashMark->Length());
- aSink.WriteL(*iHashMark,iHashMark->Length());
- }
- else
- aSink.WriteInt32L(0);
-
- //Present only in version 2 and forward.
- aSink.WriteInt32L(iAllowedProviders.Count());
- for(TInt i(0); i < iAllowedProviders.Count(); i++)
- aSink.WriteInt32L(iAllowedProviders[i].iUid);
- aSink.WriteInt32L(iDeniedProviders.Count());
- for(TInt i(0); i < iDeniedProviders.Count(); i++)
- aSink.WriteInt32L(iDeniedProviders[i].iUid);
- }
-
-// ---------------------------------------------------------------------------
-// InternalizeLs script data from stream
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CScript::InternalizeL(RReadStream& aSource)
- {
- if ( iPermissionSet)
- {
- delete iPermissionSet;
- iPermissionSet=NULL;
- iPermissionSet = CPermissionSet::NewL ();
- }
- TReal version(aSource.ReadReal32L());
- iPermissionSet->InternalizeL (aSource);
- iScriptID = aSource.ReadInt32L ();
- iPolicyID = aSource.ReadInt32L ();
- iPermGrant = aSource.ReadUint32L ();
- iPermDenied = aSource.ReadUint32L ();
- TInt hashMarkLen(aSource.ReadUint32L());
- if(iHashMark)
- {
- delete iHashMark;
- iHashMark = NULL;
- }
-
- if(hashMarkLen)
- {
- iHashMark = HBufC::NewL(hashMarkLen);
- TPtr ptr(iHashMark->Des());
- aSource.ReadL(ptr,hashMarkLen);
- }
- if(version >= VERSION_TWO)
- {
- TInt allowCnt = aSource.ReadInt32L();
- iAllowedProviders.Reset();
- for(TInt i(0); i < allowCnt; i++)
- {
- TInt uid = aSource.ReadInt32L();
- TUid allowPid = TUid::Uid(uid);
- iAllowedProviders.Append(allowPid);
- }
- TInt denyCnt = aSource.ReadInt32L();
- iDeniedProviders.Reset();
- for(TInt i(0); i < denyCnt; i++)
- {
- TInt uid = aSource.ReadInt32L();
- TUid denyPid = TUid::Uid(uid);
- iDeniedProviders.Append(denyPid);
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// Sets permanently granted permissions of the script
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CScript::SetPermGranted(TPermGrant aPermGrant)
- {
- iPermGrant = aPermGrant;
- }
-
-// ---------------------------------------------------------------------------
-// Sets permanently denied permissions of the script
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CScript::SetPermDenied(TPermGrant aPermDenied)
- {
- iPermDenied = aPermDenied;
- }
-
-// ---------------------------------------------------------------------------
-// Sets permanently granted permissions of the script
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CScript::SetPermGranted(RProviderArray aPermGrantProvider)
- {
- iAllowedProviders.Reset();
- for(TInt i(0); i < aPermGrantProvider.Count(); i++)
- iAllowedProviders.Append(aPermGrantProvider[i]);
- }
-
-// ---------------------------------------------------------------------------
-// Sets permanently denied permissions of the script
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CScript::SetPermDenied(RProviderArray aPermDeniedProvider)
- {
- iDeniedProviders.Reset();
- for(TInt i(0); i < aPermDeniedProvider.Count(); i++)
- iDeniedProviders.Append(aPermDeniedProvider[i]);
- }
--- a/serviceapifw_plat/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-#include "../rtsecuritymanager_common_api/group/bld.inf"
-#include "../rtsecuritymanager_utility_api/group/bld.inf"
-#include "../rtsecuritymanager_client_api/group/bld.inf"
-#include "../liw_provider_utility_api/group/bld.inf"
-#include "../liw_service_interface_base_api/group/bld.inf"
-#include "../liw_service_interface_menu_api/group/bld.inf"
-#include "../liw_criteria_api/group/bld.inf"
-#include "../liw_generic_parameter_api/group/bld.inf"
-#include "../liw_service_handler_api/group/bld.inf"
--- a/serviceapifw_plat/liw_criteria_api/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: File that exports the files belonging to
-: LIW Criteria API
-*
-*/
-
-
-
-
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/liwcommon.hrh MW_LAYER_PLATFORM_EXPORT_PATH(liwcommon.hrh)
-../inc/liwcommon.rh MW_LAYER_PLATFORM_EXPORT_PATH(liwcommon.rh)
-../inc/liwcommon.h MW_LAYER_PLATFORM_EXPORT_PATH(liwcommon.h)
--- a/serviceapifw_plat/liw_criteria_api/inc/liwcommon.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,368 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Declares common constants, types, classes etc. to be used both
-* consumer and provider side.
-*
-*/
-
-
-
-
-
-
-
-#ifndef LIW_COMMON_H
-#define LIW_COMMON_H
-
-// INCLUDES
-#include <liwcommon.hrh>
-#include <barsread.h>
-#include <liwgenericparam.h>
-
-// CONSTANTS
-
-// MACROS
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-class CEikMenuPane;
-class CLiwGenericParamList;
-
-// CLASS DECLARATION
-
-/**
- * Criteria item data.
- * This class encapsulates an LIW criteria item. Criteria items are building
- * blocks for LIW interests, i.e. an interest is a list of criteria items.
- * A criteria item can be defined dynamically (by using this class) or
- * in a resource file.
- *
- * @lib ServiceHandler.lib
- * @since Series 60 2.6
- */
-class CLiwCriteriaItem : public CBase
- {
- public: // Constructors and destructor
- /**
- * Constructs a criteria item instance with null items.
- *
- * @return A pointer to the new object.
- */
- IMPORT_C static CLiwCriteriaItem* NewL();
-
- /**
- * Constructs a criteria item instance with null items. Leaves the
- * pointer to the cleanup stack.
- *
- * @return A pointer to the new object.
- */
- IMPORT_C static CLiwCriteriaItem* NewLC();
-
- /**
- * Constructs a criteria item instance.
- *
- * @param aCriteriaId The criteria ID.
- * @param aServiceCmd The service command.
- * @param aContentType The content type.
- * @return A pointer to the new object.
- */
- IMPORT_C static CLiwCriteriaItem* NewL(
- TInt aCriteriaId,
- TInt aServiceCmd,
- const TDesC8& aContentType);
-
- /**
- * Constructs a criteria item instance. Leaves the pointer to the
- * cleanup stack.
- *
- * @param aCriteriaId The criteria ID.
- * @param aServiceCmd The service command.
- * @param aContentType The content type.
- * @return A pointer to the new object.
- */
- IMPORT_C static CLiwCriteriaItem* NewLC(
- TInt aCriteriaId,
- TInt aServiceCmd,
- const TDesC8& aContentType);
-
- /**
- * Constructs a criteria item instance.
- *
- * @param aCriteriaId The criteria ID.
- * @param aServiceCmd The service command.
- * @param aContentType Content type.
- * @return A pointer to the new object.
- */
- IMPORT_C static CLiwCriteriaItem* NewL(
- TInt aCriteriaId,
- const TDesC8& aServiceCmd,
- const TDesC8& aContentType);
-
- /**
- * Constructs a criteria item instance.
- *
- * @param aCriteriaId The criteria ID.
- * @param aServiceCmd The service command.
- * @param aContentType Content type.
- * @return A pointer to the new object.
- */
- IMPORT_C static CLiwCriteriaItem* NewLC(
- TInt aCriteriaId,
- const TDesC8& aServiceCmd,
- const TDesC8& aContentType);
-
- /**
- * Destructor.
- */
- IMPORT_C virtual ~CLiwCriteriaItem();
-
- public: // New functions
- /**
- * Sets the criteria ID.
- *
- * @param aId The criteria ID.
- */
- IMPORT_C void SetId(TInt aId);
-
- /**
- * Sets the service class.
- *
- * @param aServiceUid The service class, see TLiwServiceClass.
- */
- IMPORT_C void SetServiceClass(const TUid& aServiceUid);
-
- /**
- * Sets the service command UID.
- *
- * @param aServiceCmd The LIW service command, see TLiwServiceCommands.
- */
- IMPORT_C void SetServiceCmd(TInt aServiceCmd);
-
- /**
- * Sets the service command name.
- *
- * @param aServiceCmd The LIW service command.
- */
- IMPORT_C void SetServiceCmdL(const TDesC8& aServiceCmd);
-
- /**
- * Sets the content type. Makes a copy of the string data.
- *
- * @param aContentType Content MIME type, event type or any agreed one.
- */
- IMPORT_C void SetContentTypeL(const TDesC8& aContentType);
-
- /**
- * Gets the criteria ID, 0 if not defined.
- *
- * @return The criteria ID.
- */
- IMPORT_C TInt Id() const;
-
- /**
- * Gets the service class UID.
- *
- * @return The service class UID, see TLiwServiceClass.
- */
- IMPORT_C const TUid& ServiceClass() const;
-
- /**
- * Gets the service command UID. KNullUid, if not defined.
- *
- * @return The service command UID, see TLiwServiceCommands.
- */
- IMPORT_C TInt ServiceCmd() const;
-
- /**
- * Gets the service command name.
- *
- * @return The service command name.
- */
- IMPORT_C const TDesC8& ServiceCmdStr() const;
-
- /**
- * Gets the content type.
- *
- * @return The content type.
- */
- IMPORT_C const TDesC8& ContentType() const;
-
- /**
- * Sets the options.
- *
- * @param aOptions Options.
- */
- IMPORT_C void SetOptions(TUint aOptions);
-
- /**
- * Gets the options.
- *
- * @return Options.
- */
- IMPORT_C TUint Options() const;
-
- /**
- * Maximum number of providers allowed for this criteria item.
- *
- * @return Maximum number of providers allowed for this criteria item.
- */
- IMPORT_C TInt MaxProviders() const;
-
- /**
- * Reads a criteria item from a resource.
- *
- * @param aReader A resource reader pointing to a criteria item.
- */
- IMPORT_C void ReadFromResoureL(TResourceReader& aReader);
-
- /**
- * Returns the default provider.
- *
- * @return The default provider UID.
- */
- IMPORT_C TUid DefaultProvider() const;
-
- /**
- * Sets the default provider.
- *
- * @param aDefault The UID of a default provider.
- */
- IMPORT_C void SetDefaultProvider(TInt aDefault);
-
- /**
- * Equality operator. Two criteria items are considered equal only if all
- * parameters match. The parameters are: criteria id, service command,
- * content type, service class, default provider, max providers and options).
- *
- * @param aItem Criteria item to compare.
- * @return ETrue if criteria items are equal, EFalse otherwise.
- */
- IMPORT_C TBool operator==(const CLiwCriteriaItem& aItem);
-
- /**
- * Sets the maximum number of providers.
- *
- * @param aMaxProviders The maximum number of providers.
- */
- IMPORT_C void SetMaxProviders(TInt aMaxProviders);
-
- public:
- /**
- * If set, only ROM based providers can be attached to this criteria.
- *
- * @return ETrue if LIW_OPTIONS_ROM_ONLY bit is set, EFalse otherwise.
- */
- inline TBool RomOnly() const;
-
- IMPORT_C void SetMetaDataOptions(const TLiwVariant& aMetaDataOptions);
-
- IMPORT_C void GetMetaDataOptions(TLiwVariant& aMetaDataOptions) const;
-
- private:
- /**
- * C++ default constructor.
- */
- CLiwCriteriaItem();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL(
- TInt aCriteriaId,
- TInt aServiceCmd,
- const TDesC8& aContentType);
-
- void ConstructL(
- TInt aCriteriaId,
- const TDesC8& aServiceCmd,
- const TDesC8& aContentType);
-
- private:
- // Criteria ID.
- TInt iCriteriaId;
- // Service class UID
- TUid iServiceClass;
- // Service command UID
- TInt iServiceCmd;
- // Content type (MIME type).
- HBufC8* iContentType;
- // Additional options for ROM
- TLiwVariant iOptions;
- //Default provider implementation uid
- TUid iDefaultProvider;
- // Reserved member
- TLiwVariant iReserved;
- // Max providers
- TInt iMaxProviders;
- // Metadata Options
- TLiwVariant iMetadataOptions;
- };
-
-
-inline TBool CLiwCriteriaItem::RomOnly() const
- {
- return (Options() & LIW_OPTIONS_ROM_ONLY) != 0;
- }
-
-
-/**
-* Interest is an array of criteria items.
-*/
-typedef RPointerArray<CLiwCriteriaItem> RCriteriaArray;
-
-/**
-* Abstact callback interface to handle callbacks or events
-* from providers. This callback is needed when
-* - Consumer wants to pre-check output parameters before returning
-* synchronous Handle*Cmd.
-* - Asynchronous Handle*Cmd is used.
-* - An asynchronous event occurs in the system.
-*
-* @lib ServiceHandler.lib
-* @since Series 60 2.6
-*/
-class MLiwNotifyCallback // needs to handle this as well?
- {
- public:
- /**
- * Handles notifications caused by an asynchronous Execute*CmdL call
- * or an event.
- *
- * @param aCmdId The service command associated to the event.
- * @param aEventId Occured event, see LiwCommon.hrh.
- * @param aEventParamList Event parameters, if any, as defined per
- * each event.
- * @param aInParamList Input parameters, if any, given in the
- * related HandleCommmandL.
- * @return Error code for the callback.
- */
- virtual TInt HandleNotifyL(
- TInt aCmdId,
- TInt aEventId,
- CLiwGenericParamList& aEventParamList,
- const CLiwGenericParamList& aInParamList) = 0;
- IMPORT_C static TInt32 GetTransactionID();
- };
-
-#endif // LIW_COMMON_H
-
-// End of File
-
-
--- a/serviceapifw_plat/liw_criteria_api/inc/liwcommon.hrh Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,418 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Declares common constants to be used in both resources and
-* C++ code of consumers and providers.
-*
-*/
-
-
-
-
-
-
-
-#ifndef LIW_COMMON_HRH
-#define LIW_COMMON_HRH
-
-// DATA TYPES
-
-// CONSTANTS
-
-/**
-* Predefined service commands (UIDs).
-*/
-enum TLiwServiceCommands
- {
- /** Null value. */
- KLiwCmdNone = 0,
-
- /** String Based command */
- KLiwCmdAsStr = 1,
-
- /** Create new content. */
- KLiwCmdNew = 0x101F864C,
-
- /** Edit existing content. */
- KLiwCmdEdit = 0x101F864D,
-
- /** Select content. */
- KLiwCmdSelect = 0x101F864E,
-
- /** View content. */
- KLiwCmdView = 0x101F864F,
-
- /** Create call. */
- KLiwCmdCall = 0x101F86B0,
-
- /** Send content. */
- KLiwCmdSend = 0x101F86B3,
-
- /** Print content. */
- KLiwCmdPrint = 0x101F8666,
-
- /** Assign content. */
- KLiwCmdAssign = 0x101F8716,
-
- /** Share content. */
- KLiwCmdShare = 0x101F871E,
-
- /** Synchronize content. */
- KLiwCmdSynchronize = 0x101F8724,
-
- /** Synchronize selected. */
- KLiwCmdSynchronizeSelected = 0x1020720C,
-
- /** Search content. */
- KLiwCmdSearch = 0x101F87DF,
-
- /** Copy content. */
- KLiwCmdCopy = 0x101F87DE,
-
- /** Show print preview. */
- KLiwCmdPrintPreview = 0x101FD656,
-
- /** Push to talk. */
- KLiwCmdPoC = 0x101FD657,
-
- /** View content in online store. */
- KLiwCmdViewOnline = 0x102072EA,
-
- /** Upload content. */
- KLiwCmdUpload = 0x102072EB,
-
- /** Transfer a range of media files to a remote storage device. */
- KLiwCmdXpressTransfer = 0x10207430,
-
- /** UPnP copy content. */
- KLiwCmdUPnPCopy = 0x10207431,
-
- /** UPnP move content. */
- KLiwCmdUPnPMove = 0x10207432,
-
- /** UPnP play content. */
- KLiwCmdUPnPPlay = 0x10207433,
-
- /** UPnP open content. */
- KLiwCmdUPnPOpen = 0x10207434,
-
- /** UPnP enable external. */
- KLiwCmdUPnPEnableExternal = 0x10207435,
-
- /** Show help content. */
- KLiwCmdHelp = 0x10275075,
-
- /** Add or remove items from intent. (Should be used as a menu service command). */
- KLiwCmdIntent = 0x10275114,
-
- /** Add items to intent. (Should be used as a base service command). */
- KLiwCmdAddToIntent = 0x10275115,
-
- /** Remove items from intent. (Should be used as a base service command). */
- KLiwCmdRemoveFromIntent = 0x10275116,
-
- /** Client can request that map should be displayed on screen. */
- KLiwCmdMnShowMap = 0x10206904,
-
- /** Allows to start navigation to desired destination. */
- KLiwCmdMnNavigateTo = 0x10206905,
-
- /** Starts reverse geocoding request: finding address for given coordinate. */
- KLiwCmdMnAddrByCoord = 0x10206906,
-
- /** Starts geocoding request: finding coordinate by given address. */
- KLiwCmdMnCoordByAddr = 0x10206907,
-
- /** Allows client to request that user shall select a location from map. */
- KLiwCmdMnSelectFromMap = 0x10206908,
-
- /** Send via Bluetooth. */
- KLiwCmdSendViaBT = 0x10281894,
-
- /** Send via Irda. */
- KLiwCmdSendViaIR = 0x10281895,
-
- /** Enterprise telephony. */
- KLiwCmdEnterpriseTel = 0x20001FC6,
-
- /** Rotate image etc. */
- KLiwCmdRotate = 0x10281F96,
-
- /** Rotate device screen. */
- KLiwCmdRotateScreen = 0x10281F97,
-
- /** Set call image. */
- KLiwCmdCallImage = 0x1028245E,
-
- /** Give different objects to another device using Near Field Communications. */
- KLiwCmdNFCGive = 0x1028245F,
-
- /** SettingWizard Email view activation. */
- KLiwCmdSettingWizardEmailView = 0x10281C95,
-
- /** In-device search. */
- KLiwCmdContentSearch = 0x10282844,
-
- /** A special service command enabling consumer to attach for all relevant
- LIW services for a certain object. */
- KLiwCmdAnyCmdForObject = 0x102823F1,
-
- /** To support VoIP settings provisioning with plugins **/
- KLiwCmdEasyVoIPProvisioning = 0x10283099,
-
- /** Assign Screensaver*/
- KLiwCmdAssignScreenSaver = 0x1028309A,
-
- /** Converged service plugin and UI extension plugin*/
- KLiwCmdCSCServicePlugins = 0x1020E56F,
- KLiwCmdCSCUiExtensionPlugins = 0x10282EF7
- };
-
-enum TLiwBufferType
-{
- KLiwBufferNone = 0,
- KLiwBufferBitmap = 1,
- KLiwBufferFile = 2
-};
-
-
-// Service command strings. These strings are used in service provider's
-// opaque data field to specify what service command(s) the provider implements.
-
-#define KLiwCmdNoneStr "00000000"
-#define KLiwCmdAsStrStr "00000001"
-#define KLiwCmdNewStr "101F864C"
-#define KLiwCmdEditStr "101F864D"
-#define KLiwCmdSelectStr "101F864E"
-#define KLiwCmdViewStr "101F864F"
-#define KLiwCmdPrintStr "101F8666"
-#define KLiwCmdCallStr "101F86B0"
-#define KLiwCmdSendStr "101F86B3"
-#define KLiwCmdAssignStr "101F8716"
-#define KLiwCmdShareStr "101F871E"
-#define KLiwCmdSynchronizeStr "101F8724"
-#define KLiwCmdSearchStr "101F87DF"
-#define KLiwCmdCopy "101F87DE"
-#define KLiwCmdPrintPreviewStr "101FD656"
-#define KLiwCmdPoCStr "101FD657"
-#define KLiwCmdSynchronizeSelectedStr "1020720C"
-#define KLiwCmdViewOnlineStr "102072EA"
-#define KLiwCmdUploadStr "102072EB"
-#define KLiwCmdXpressTransferStr "10207430"
-#define KLiwCmdUPnPCopyStr "10207431"
-#define KLiwCmdUPnPMoveStr "10207432"
-#define KLiwCmdUPnPPlayStr "10207433"
-#define KLiwCmdUPnPOpenStr "10207434"
-#define KLiwCmdUPnPEnableExternalStr "10207435"
-#define KLiwCmdHelpStr "10275075"
-#define KLiwCmdIntentStr "10275114"
-#define KLiwCmdAddToIntentStr "10275115"
-#define KLiwCmdRemoveFromIntentStr "10275116"
-#define KLiwCmdMnShowMapStr "10206904"
-#define KLiwCmdMnNavigateToStr "10206905"
-#define KLiwCmdMnAddrByCoordStr "10206906"
-#define KLiwCmdMnCoordByAddrStr "10206907"
-#define KLiwCmdMnSelectFromMapStr "10206908"
-#define KLiwCmdSendViaBTStr "10281894"
-#define KLiwCmdSendViaIRStr "10281895"
-#define KLiwCmdEnterpriseTelStr "20001FC6"
-#define KLiwCmdRotateStr "10281F96"
-#define KLiwCmdRotateScreenStr "10281F97"
-#define KLiwCmdCallImageStr "1028245E"
-#define KLiwCmdNFCGiveStr "1028245F"
-#define KLiwCmdSettingWizardEmailViewStr "10281C95"
-#define KLiwCmdContentSearchStr "10282844"
-#define KLiwCmdAnyCmdForObjectStr "102823F1"
-#define KLiwCmdEasyVoIPProvisioningStr "10283099"
-#define KLiwCmdAssignScreenSaverStr "1028309A"
-#define KLiwCmdCSCServicePluginsStr "1020E56F"
-#define KLiwCmdCSCUiExtensionPluginsStr "10282EF7"
-
-/**
-* Service command options (bits) to alter command handling behaviour.
-*/
-enum TLiwServiceCmdOptions
- {
- /**
- * Consumer wants asynchronous command handling.
- * The default is synchronous command handling.
- * In asynchronous case consumer needs to pass a callback to provider.
- */
- KLiwOptASyncronous = 0x0001,
-
- /**
- * Consumer wants provider to make a callback to check coming output
- * parameters prior returning from service command handling.
- * Consumer needs to pass a callback to provider.
- */
- KLiwOptOutParamCheck = 0x0002,
-
- /**
- * Consumer tells provider that it is prepared to handle
- * callback events for possibly incomplete/wrong parameter list.
- */
- KLiwOptInParamCheck = 0x0004,
-
- /**
- * Consumer wants to cancel an asynchronous LIW service.
- * When a consumer wants to cancel the asynchronous service that a provider
- * is executing, it should call ExecuteMenuCmdL() or ExecuteServiceCmdL()
- * with the same parameters as when requesting the service, but set this
- * cancel bit on. The cancel operation itself is synchronous, i.e. the
- * provider must call the consumer's callback with KLiwEventCanceled before
- * the Execute*CmdL() returns.
- */
- KLiwOptCancel = 0x0008
- };
-
-
-/**
-* Service classes (UID). Technically these are same as service interface UIDs.
-*/
-enum TLiwServiceClass
- {
- /**
- * None.
- */
- KLiwClassNone = 0x0,
-
- /**
- * Base service (no UI expected).
- * Every other class must implement this always!
- */
- KLiwClassBase = 0x200159f5,
-
- /**
- * Filter service class.
- */
- KLiwClassFilter = 0x101F8651,
-
- /**
- * Menu service class (offers menu based services).
- */
- KLiwClassMenu = 0x101F8652,
-
- /**
- * Stub service class.
- */
- KLiwClassStub = 0x101F8653,
-
- /**
- * View service class (offers view based services).
- */
- KLiwClassView = 0x101F8654,
-
- /**
- * This class is for R&D purposes.
- */
- KLiwClassDebug = 0x101F866B
- };
-
-
-/**
-* Event codes. To be used with HandleNotifyL method.
-*/
-enum
- {
- /**
- * Asynchronous service informs consumer to prepare itself for
- * action.
- */
- KLiwEventStarted = 1,
-
- /**
- * Asynchronous service request completed.
- */
- KLiwEventCompleted = 2,
-
- /**
- * Asynchronous service request canceled.
- */
- KLiwEventCanceled = 3,
-
- /**
- * Error during asynchronous service request.
- */
- KLiwEventError = 4,
-
- /**
- * Relates to KLiwOptOutParamCheck.
- */
- KLiwEventOutParamCheck = 5,
-
- /**
- * Relates to KLiwOptInParamCheck.
- */
- KLiwEventInParamCheck = 6,
-
- /**
- * Provider informs consumer that service is no longer available or
- * has stopped.
- */
- KLiwEventStopped = 7,
-
- /**
- * Provider asks consumer whether Exit can be done (needed at least in
- * embedded use cases where server application offers Exit possibility
- * to end user, but consumer can not allow Exit due to fact that for
- * example network connections owned by consumer are open and they need
- * to be kept alive).
- */
- KLiwEventQueryExit = 8,
-
- /**
- * Provider informs consumer about the ongoing asynchronous
- * service execution.
- */
- KLiwEventInProgress = 9
- };
-
-// ============================================================================
-// Menu item flags for LIW consumers.
-// ============================================================================
-/**
- * Always keep the provider menu items in a submenu.
- */
-#define LIW_CASCADE_ID 0x01010001
-
-/**
- * Menu item is placed intelligently either to the main level or a submenu.
- */
-#define LIW_INTELLIGENT_CASCADE_ID 0x01010010
-
-/**
- * Consumer defines the menu title.
- */
-#define LIW_LOCK_SUBMENU_TITLE 0x00000020
-
-// ============================================================================
-// Criteria item flags for LIW consumers.
-// ============================================================================
-/**
- * Criteria item loadOptions bit, only providers in ROM are accepted.
- */
-#define LIW_OPTIONS_ROM_ONLY 0x01
-
-// ============================================================================
-// Menu item flags for LIW providers.
-// ============================================================================
-/**
- * For providers only: Provider suggests the submenu title.
- */
-#define LIW_SUBMENU_TITLE 0x0ff11012
-
-#endif // LIW_COMMON_HRH
-
-// End of file
-
-
--- a/serviceapifw_plat/liw_criteria_api/inc/liwcommon.rh Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Contains common resource declarations for the LIWFW.
-*
-*/
-
-
-
-
-
-
-
-// INCLUDES
-#include <liwcommon.hrh>
-
-// MACROS
-
-// STRUCTURE DEFINITIONS
-
-// -----------------------------------------------------------------------------
-// Option item for a criteria.
-// -----------------------------------------------------------------------------
-STRUCT LIW_CRITERIA_OPTION
- {
- }
-
-// -----------------------------------------------------------------------------
-// Criteria item.
-// Resource structure to define criteria item consumer.
-// -----------------------------------------------------------------------------
-//
-// Criteria item
-//
-STRUCT LIW_CRITERIA_ITEM
- {
- // Criteria ID to be used in UI elements referring to this criteria
- // By default the ID should be same as the serviceCmd, but it can be
- // different as well e.g. for mapping old menu items to use LIW
- // This can be consumer defined or predefined, if common interest
- // is allocated.
- LONG id;
-
- // --------------------------------------------------------------
- // Actual criteria data used when resolving providers from which
- // a consumer is interested in.
- // --------------------------------------------------------------
-
- // Command ID for service command, mandatory.
- LONG serviceCmd = KLiwCmdNone;
-
- // Content MIME type, event type or any agreed one.
- LTEXT8 contentType = "";
-
- // Services class tells what kind of service is expected from
- // provider. See TLiwServiceClass enum for allowed values.
- // Optional, if not defined the default (KLiwClassMenu) is used.
- LONG serviceClass = KLiwClassMenu;
-
- // --------------------------------------------------------------
- // Additional options, if any.
- // --------------------------------------------------------------
-
- // Defines UID for default provider. If provider for this
- // UID exists, all the setup calls will be forwarded to it
- // first (eg. if default provider implements 'menu' service class, it will
- // be the first provider to insert its menu items to the consumer menu).
- LONG defaultProvider = 0;
-
- // The maximum number of providers allowed for the criteria item.
- // There might be cases to limit the number of providers, e.g. for
- // limiting the number of menu items. Maximum is 255 providers per interest.
- BYTE maxProviders = 0xff;
-
- // Other options bits (8 bits reserved).
- BYTE loadOptions=0;
-
- // Reserved for extensions.
- LLINK reserved = 0;
- }
-
-//
-// Criteria item with command name as string
-//
-STRUCT LIW_CRITERIA_ITEM_2
- {
- LONG id;
- LONG serviceCmd = KLiwCmdAsStr;
- // Service name.
- LTEXT8 serviceName = "";
- LTEXT8 contentType = "";
- LONG serviceClass = KLiwClassMenu;
-
- LONG defaultProvider = 0;
- BYTE maxProviders = 0xff;
- BYTE loadOptions=0;
-
- LLINK reserved = 0;
- }
-
-//
-// Interest is an array of criteria items.
-//
-STRUCT LIW_INTEREST
- {
- STRUCT items[]; // LIW_CRITERIA_ITEM's
- }
-
-// End of File
--- a/serviceapifw_plat/liw_criteria_api/liw_criteria_api.metaxml Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<api id="632ce9a07247d9bc295ac3cbcf13fce5" dataversion="1.0">
-<name>liw_criteria_api</name>
-<description>Criteria API offers access to a criteria element, which contains command ID, MIME type etc. of data items.</description>
-<type>c++</type>
-<subsystem>languageinterworkingfw</subsystem>
-<libs><lib name="liwservicehandler.lib"/>
-</libs>
-<release category="domain" sinceversion=""/>
-<attributes>
-<htmldocprovided>yes</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/serviceapifw_plat/liw_criteria_api/tsrc/bmarm/liwtestcasesu.def Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
-
--- a/serviceapifw_plat/liw_criteria_api/tsrc/bwins/liwtestcasesu.def Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- ?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
-
--- a/serviceapifw_plat/liw_criteria_api/tsrc/conf/tliwtestcases.cfg Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,475 +0,0 @@
-[Test]
-title LIW_DATA_TYPES_001
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_001
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_002
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_002
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_003
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_003
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_004
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_004
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_005
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_005
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_006
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_006
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_007
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_007
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_008
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_008
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_009
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_009
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_Map_AtLNew
-create liwtestcases foobar
-foobar LIW_Map_AtL_New
-delete foobar
-[Endtest]
-
-
-[Test]
-title LIW_DATA_TYPES_0010
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_010
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_011
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_011
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_012
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_012
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_013
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_013
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_014
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_014
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_016
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_016
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_017
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_017
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_018
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_018
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_020
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_020
-delete foobar
-[Endtest]
-
-
-[Test]
-title LIW_DATA_TYPES_021
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_021
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_022
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_022
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_023
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_023
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_024
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_024
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_025
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_025
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_026
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_026
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_029
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_029
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_030
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_030
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_033
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_033
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_034
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_034
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_037
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_037
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_038
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_038
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_039
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_039
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_041
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_041
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_042
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_042
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_043
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_043
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_045
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_045
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_046
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_046
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_047
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_047
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_048
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_048
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_TYPES_049
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_049
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_MDAT_VER1
-create liwtestcases foobar
-foobar LIW_MDAT_VER1
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_MDAT_VER2
-create liwtestcases foobar
-foobar LIW_MDAT_VER2
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_MDAT_VER3
-create liwtestcases foobar
-foobar LIW_MDAT_VER3
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_MDAT_VER4
-create liwtestcases foobar
-foobar LIW_MDAT_VER4
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_MDAT_VER5
-create liwtestcases foobar
-foobar LIW_MDAT_VER5
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_MDAT_CAP1
-create liwtestcases foobar
-foobar LIW_MDAT_CAP1
-delete foobar
-[Endtest]
-
-
-[Test]
-title LIW_ContainerCleanup
-create liwtestcases foobar
-foobar LIW_ContainerCleanup
-delete foobar
-[Endtest]
-
-
-[Test]
-title LIW_ParamCleanup
-create liwtestcases foobar
-foobar LIW_ParamCleanup
-delete foobar
-[Endtest]
-
-
-[Test]
-title LIW_VariantCleanup
-create liwtestcases foobar
-foobar LIW_VariantCleanup
-delete foobar
-[Endtest]
-
-
-[Test]
-title LIW_ASYNC_001
-create liwtestcases foobar
-foobar LIW_ASYNC_001
-delete foobar
-[Endtest]
-
-
-[Test]
-title LIW_ASYNC_002
-create liwtestcases foobar
-foobar LIW_ASYNC_002
-delete foobar
-[Endtest]
-
-
-[Test]
-title LIW_ASYNC_003
-create liwtestcases foobar
-foobar LIW_ASYNC_003
-delete foobar
-[Endtest]
-
-
-[Test]
-title LIW_ASYNC_004
-create liwtestcases foobar
-foobar LIW_ASYNC_004
-delete foobar
-[Endtest]
-[Test]
-title LIW_ASYNC_LongServiceCmd
-create liwtestcases foobar
-foobar LIW_ASYNC_LongServiceCmd
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_ASYNC_LongInterface
-create liwtestcases foobar
-foobar LIW_ASYNC_LongInterface
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_ASYNC_LongInterface1
-create liwtestcases foobar
-foobar LIW_ASYNC_LongInterface1
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_ASYNC_LongInvalidServiceCmd
-create liwtestcases foobar
-foobar LIW_ASYNC_LongInvalidServiceCmd
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_ASYNC_LongInvalidInterface
-create liwtestcases foobar
-foobar LIW_ASYNC_LongInvalidInterface
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_ParamCleanup1
-create liwtestcases foobar
-foobar LIW_ParamCleanup1
-delete foobar
-[Endtest]
-
-
-[Test]
-title LIW_GetInterest
-create liwtestcases foobar
-foobar LIW_GetInterest
-delete foobar
-[Endtest]
-
-
-[Test]
-title LIW_Defaut_list_externalize
-create liwtestcases foobar
-foobar LIW_Defaut_list_externalize
-delete foobar
-[Endtest]
-
-
-[Test]
-title LIW_DATA_TYPES_013_A
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_013_A
-delete foobar
-[Endtest]
-
-
-[Test]
-title LIW_DATA_TYPES_015_A
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_015_A
-delete foobar
-[Endtest]
-
-
-[Test]
-title LIW_DATA_TYPES_015
-create liwtestcases foobar
-foobar LIW_DATA_TYPES_015
-delete foobar
-[Endtest]
-
-
-[Test]
-title LIW_DATA_GenericParamList
-create liwtestcases foobar
-foobar LIW_DATA_GenericParamList
-delete foobar
-[Endtest]
-
-[Test]
-title LIW_DATA_NewLOverLoad
-create liwtestcases foobar
-foobar LIW_DATA_NewLOverLoad
-delete foobar
-[Endtest]
\ No newline at end of file
--- a/serviceapifw_plat/liw_criteria_api/tsrc/data/liwaccesspolicy.xml Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<policy>
- <!-- specify a protection domain -->
- <domain name="UnTrusted">
- <!-- always allowed capabilities for this domain -->
- <!-- there can be only one "allow" node under "domain" node -->
- <allow>
- <capabilities>
- <capability>ReadUserData</capability>
- <capability>WriteUserData</capability>
- </capabilities>
- </allow>
-
- <!-- user-grantable capabilities for this domain -->
- <user>
- <condition>oneshot</condition>
- <defaultCondition>oneshot</defaultCondition>
- <capabilities>
- <capability>DRM</capability>
- </capabilities>
- </user>
-
- <user>
- <condition>session</condition>
- <defaultCondition>session</defaultCondition>
- <capabilities>
- <capability>ReadDeviceData</capability>
- <capability>WriteDeviceData</capability>
- <capability>Location</capability>
- </capabilities>
- </user>
-
- <!-- could extend this to other types of conditional capabilities -->
- </domain>
-
- <domain name="Nokia">
- <!-- always allowed capabilities for this domain -->
- <allow>
- <capabilities>
- <capability>ReadUserData</capability>
- </capabilities>
- </allow>
-
- <!-- user-grantable capabilities for this domain -->
- <user>
- <condition>session</condition>
- <defaultCondition>session</defaultCondition>
- <capabilities>
- <capability>WriteUserData</capability>
- </capabilities>
- </user>
- </domain>
-
-</policy>
-
-
--- a/serviceapifw_plat/liw_criteria_api/tsrc/eabi/liwtestcasesu.def Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
- _Z9LibEntryLR13CTestModuleIf @ 1 NONAME
- _ZTI12CLiw_AsyncTC @ 2 NONAME ; #<TI>#
- _ZTV12CLiw_AsyncTC @ 3 NONAME ; #<VT>#
-
--- a/serviceapifw_plat/liw_criteria_api/tsrc/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ?Description
-*
-*/
-
-
-
-
-
-
-
-
-PRJ_PLATFORMS
-// specify the platforms your component needs to be built for here
-// defaults to WINS MARM so you can ignore this if you just build these
-DEFAULT
-
-PRJ_TESTEXPORTS
-// NOTE: If using ARS requirements all export operations should be done under this.
-// 'abld test export'
-../data/liwaccesspolicy.xml /epoc32/winscw/c/data/others/liwaccesspolicy.xml
-//../init/testframework.ini /epoc32/WINSCW/C/TestFramework/testframework.ini
-../conf/tliwtestcases.cfg /epoc32/WINSCW/C/TestFramework/tliwtestcases.cfg
-
-PRJ_EXPORTS
-
-PRJ_TESTMMPFILES
-// NOTE: If using ARS requirements .mmp file operation should be done under this.
-// 'abld test build'
-liwtestcases.mmp
-
-PRJ_MMPFILES
-// Specify the .mmp files required for building the important component
-// releasables.
-//
-// Specify "tidy" if the component you need to build doesn't need to be
-// released. Specify "ignore" if the MMP file exists but should be
-// ignored.
-// Example:
-/*
-/agnmodel/group/agnmodel.mmp
-#if defined(MARM)
-/agnmodel/group/agsvexe.mmp
-#endif
-*/
-
-
-// End of File
\ No newline at end of file
--- a/serviceapifw_plat/liw_criteria_api/tsrc/group/liwtestcases.mmp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-/*TYPE TESTCLASS*//*
-* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ?Description
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET liwtestcases.dll
-TARGETTYPE dll
-UID 0x1000008D 0x101FB3E3
-
-CAPABILITY ALL -TCB
-/* Remove comments and replace 0x00000000 with correct vendor id */
-VENDORID VID_DEFAULT
-/* Remove comments and replace 0x00000000 with correct secure id */
-// SECUREID 0x00000000
-
-//TARGETPATH ?target_path
-DEFFILE liwtestcases.def
-
-USERINCLUDE ../inc
-
-
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH ../src
-SOURCE liwtestcases.cpp
-SOURCE liwtestcasesblocks.cpp
-SOURCE liwtestcasesasync.cpp
-
-//RESOURCE resource_file
-//RESOURCE resource_file2
-
-LIBRARY euser.lib
-LIBRARY stiftestinterface.lib
-LIBRARY stiftestengine.lib
-LIBRARY liwServiceHandler.lib
-LIBRARY RTSecMgrClient.lib
-LIBRARY RTSecMgrUtil.lib
-LIBRARY estor.lib
-LIBRARY efsrv.lib
-
-EPOCALLOWDLLDATA
-
-LANG SC
-
-/*
-START WINS
-?wins_specific_information
-END
-
-START MARM
-?marm_specific_information
-END
-*/
-// Other possible keywords:
-
-// DOCUMENT ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes)
-/*
-START BITMAP ?target
-TARGETPATH ?emulated_path_on_target_machine
-HEADER
-SOURCE ?color_depth ?source_bitmap
-END
-*/
-// DEFFILE ?filename
-// AIF ?filename
-
-// End of File
--- a/serviceapifw_plat/liw_criteria_api/tsrc/inc/liw_async_testcase.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-#ifndef LIWTC_ASYNC_H
-#define LIWTC_ASYNC_H
-
-// INCLUDES
-#include <liwcommon.h>
-#include <e32base.h>
-#include <liwgenericparam.h>
-
-// FORWARD DECLARATIONS
-class CLiwServiceHandler;
-
-// CLASS DECLARATION
-
-/**
-* CLiwTC2 class.
-*
-*/
-class CLiw_AsyncTC : public CActive, public MLiwNotifyCallback/*, public MLiwTest*/
- {
- public:
- enum TRequestType {ECount, EStop=1000} ;
-
- public: // Constructors and destructor
- /**
- * Symbian default constructor.
- */
- // void ConstructL(CLiwTestLogHandler& aLogger, CLiwTestAppContainer& aContainer);
-
- /**
- * Constructor.
- */
- CLiw_AsyncTC( CLiwServiceHandler *iServiceHandler, TRequestType aRequest = ECount, TInt aPriority = EPriorityStandard);
-
- /**
- * Destructor.
- */
- ~CLiw_AsyncTC();
-
- TUid Id() const;
-
- public:
- void DoCancel();
- void RunL();
- void RequestFunction( TRequestType aRequest );
- void ReadyToGo();
- void SetIncrementCounter( TInt aCount = 1 );
- TUint CountValue () const;
- TRequestType iRequest;
- TInt iCmdID;
-
- TInt HandleNotifyL(
- TInt aCmdId,
- TInt aEventId,
- CLiwGenericParamList& aEventParamList,
- const CLiwGenericParamList& aInParamList);
-
- public: // MLiwTest
- TInt AsyncCase(TInt aTcNo);
-
- /*Test Items*/
- void LIW_ASYNC_001();
- void LIW_ASYNC_002();
- void LIW_ASYNC_003(TInt aEventState=0);
- void LIW_ASYNC_004();
-
- private: // Data
- CLiwServiceHandler* iServiceHandler;
- TInt iTransID;
- TInt iAsyncCount;
- TInt tcNo;
- TInt iResult;
- TUint iCount;
- TUint iIncrementCount;
-
- };
-
-#endif
-
-// End of File
--- a/serviceapifw_plat/liw_criteria_api/tsrc/inc/liwtestapplit.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains literal macros of TestCases in LiwTestApp.
-* The file can be included in C++ or resource file.
-*
-*/
-
-
-
-
-
-
-
-#ifndef LIWTESTAPPLIT_H
-#define LIWTESTAPPLIT_H
-
-_LIT8(KContentTypeTxt, "text/str");
-_LIT8(KWild, "*");
-
-_LIT8(KTestCommandTC1,"S60.Messaging");
-_LIT8(KContact,"Contact %d");
-_LIT8(KTestPARAMNanmeTC1,"TestResult");
-_LIT8(KTestCommandTC2,"S60.Messaging");
-_LIT8(KContentTypeTxt2, "text/str");
-
-_LIT8(KTestParamKey, "Testi");
-_LIT8(KTestParamName, "hello_name");
-_LIT8(KTestParamValue, "hello_val");
-
-_LIT8(KLIW_DATA_TYPES_001,"LIW_DATA_TYPES_001");
-_LIT8(KLIW_DATA_TYPES_002,"LIW_DATA_TYPES_002");
-_LIT8(KLIW_DATA_TYPES_003,"LIW_DATA_TYPES_003");
-_LIT8(KLIW_DATA_TYPES_004,"LIW_DATA_TYPES_004");
-_LIT8(KLIW_DATA_TYPES_005,"LIW_DATA_TYPES_005");
-_LIT8(KLIW_DATA_TYPES_006,"LIW_DATA_TYPES_006");
-_LIT8(KLIW_DATA_TYPES_007,"LIW_DATA_TYPES_007");
-_LIT8(KLIW_DATA_TYPES_008,"LIW_DATA_TYPES_008");
-_LIT8(KLIW_DATA_TYPES_009,"LIW_DATA_TYPES_009");
-_LIT8(KLIW_DATA_TYPES_010,"LIW_DATA_TYPES_010");
-_LIT8(KLIW_DATA_TYPES_011,"LIW_DATA_TYPES_011");
-_LIT8(KLIW_DATA_TYPES_012,"LIW_DATA_TYPES_012");
-_LIT8(KLIW_DATA_TYPES_013,"LIW_DATA_TYPES_013");
-_LIT8(KLIW_DATA_TYPES_014,"LIW_DATA_TYPES_014");
-
-_LIT8(KLIW_DATA_TYPES_019,"LIW_DATA_TYPES_019");
-_LIT8(KLIW_DATA_TYPES_023,"LIW_DATA_TYPES_023");
-
-_LIT8(KLIW_MDAT_VER1,"LIW_MDAT_VER1");
-_LIT8(KLIW_MDAT_VER2,"LIW_MDAT_VER2");
-_LIT8(KLIW_MDAT_VER3,"LIW_MDAT_VER3");
-_LIT8(KLIW_MDAT_VER4,"LIW_MDAT_VER4");
-_LIT8(KLIW_MDAT_VER5,"LIW_MDAT_VER5");
-
-#endif // LIWTESTAPPLIT_H
--- a/serviceapifw_plat/liw_criteria_api/tsrc/inc/liwtestcases.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,371 +0,0 @@
-/*
-* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ?Description
-*
-*/
-
-
-
-
-
-
-
-
-#ifndef LIWTESTCASES_H
-#define LIWTESTCASES_H
-
-// INCLUDES
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-#include <TestclassAssert.h>
-#include <liwservicehandler.h>
-#include <rtsecmgrscriptsession.h>
-
-#include <eikapp.h>
-#include <eikdoc.h>
-#include <e32std.h>
-#include <coeccntx.h>
-#include <aknViewAppUi.h>
-#include <akntabgrp.h>
-#include <aknnavide.h>
-#include <AknTabObserver.h>
-
-#include "liw_async_testcase.h"
-
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-#define TEST_CLASS_VERSION_MAJOR 0
-#define TEST_CLASS_VERSION_MINOR 0
-#define TEST_CLASS_VERSION_BUILD 0
-
-// Logging path
-_LIT( KliwtestcasesLogPath, "\\logs\\testframework\\liwtestcases\\" );
-// Log file
-_LIT( KliwtestcasesLogFile, "liwtestcases.txt" );
-_LIT( KliwtestcasesLogFileWithTitle, "liwtestcases_[%S].txt" );
-
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-class Cliwtestcases;
-
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
-// CLASS DECLARATION
-
-/**
-* Cliwtestcases test class for STIF Test Framework TestScripter.
-* ?other_description_lines
-*
-* @lib ?library
-* @since ?Series60_version
-*/
-NONSHARABLE_CLASS(Cliwtestcases) : public CScriptBase, public MLiwNotifyCallback, public MSecMgrPromptHandler
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static Cliwtestcases* NewL( CTestModuleIf& aTestModuleIf );
-
- /**
- * Destructor.
- */
- virtual ~Cliwtestcases();
-
- public: // New functions
-
- /**
- * ?member_description.
- * @since ?Series60_version
- * @param ?arg1 ?description
- * @return ?description
- */
- //?type ?member_function( ?type ?arg1 );
-
- public: // Functions from base classes
-
- /**
- * From CScriptBase Runs a script line.
- * @since ?Series60_version
- * @param aItem Script line containing method name and parameters
- * @return Symbian OS error code
- */
- virtual TInt RunMethodL( CStifItemParser& aItem );
-
- public: // Functions from base classes
-
- TInt Prompt(const RCapabilityArray& /*aCapsToCheck*/,CScript& /*aScript*/)
- {
- return EAccessNok;
- }
-
- TInt Prompt(const RCapabilityArray& /*aCapsToCheck*/,RCapabilityArray& /*aCapsNotMatching*/, CScript& /*aScript*/)
- {
- return EAccessNok;
- }
-
- TInt Prompt(RPromptDataList& aPromptDataList , TExecutableID /*aExecID = KAnonymousScript*/)
- {
- // CEikonEnv::Static()->InfoMsg(_L("Custom Prompt"));
-
- for(TInt i(0);i!=aPromptDataList.Count();++i)
- {
- aPromptDataList[i]->SetUserSelection(RTUserPrompt_OneShot);
- //aPromptDataList[i]->iUserSelection = RTUserPrompt_OneShot;
- }
-
- return EAccessOk;
- }
-
- void SetPromptOption(TSecMgrPromptUIOption)
- {
-
- }
-
- TSecMgrPromptUIOption PromptOption() const
- {
- return RTPROMPTUI_DEFAULT;
- }
-
- TInt HandleNotifyL(
- TInt aCmdId,
- TInt aEventId,
- CLiwGenericParamList& aEventParamList,
- const CLiwGenericParamList& aInParamList);
-
- protected: // New functions
-
- /**
- * ?member_description.
- * @since ?Series60_version
- * @param ?arg1 ?description
- * @return ?description
- */
- //?type ?member_function( ?type ?arg1 );
-
- protected: // Functions from base classes
-
- /**
- * From ?base_class ?member_description
- */
- //?type ?member_function();
-
- private:
-
- /**
- * C++ default constructor.
- */
- Cliwtestcases( CTestModuleIf& aTestModuleIf );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- // Prohibit copy constructor if not deriving from CBase.
- // ?classname( const ?classname& );
- // Prohibit assigment operator if not deriving from CBase.
- // ?classname& operator=( const ?classname& );
-
- /**
- * Frees all resources allocated from test methods.
- * @since ?Series60_version
- */
- void Delete();
-
- /**
- * Test methods are listed below.
- */
-
- /**
- * Example test method.
- * @since ?Series60_version
- * @param aItem Script line containing parameters.
- * @return Symbian OS error code.
- */
- virtual TInt ExampleL( CStifItemParser& aItem );
- virtual TBool LIW_DATA_TYPES_001();
- virtual TBool LIW_DATA_TYPES_002();
- virtual TBool LIW_DATA_TYPES_003();
- virtual TBool LIW_DATA_TYPES_004();
- virtual TBool LIW_DATA_TYPES_005();
- virtual TBool LIW_DATA_TYPES_006();
- virtual TBool LIW_DATA_TYPES_007();
- virtual TBool LIW_DATA_TYPES_008();
- virtual TBool LIW_DATA_TYPES_009();
- virtual TBool LIW_DATA_TYPES_010();
-
- virtual TBool LIW_DATA_TYPES_011();
- virtual TBool LIW_DATA_TYPES_012();
-
- //List comparision
- virtual TBool LIW_DATA_TYPES_013();
-
- //Map comparison
- virtual TBool LIW_DATA_TYPES_014();
-
- //Negative case for TLiwVariant::Get
- virtual TBool LIW_DATA_TYPES_015();
-
- //Negative case for TLiwVariant::AsXYZ interfaces
- virtual TBool LIW_DATA_TYPES_016();
-
- //ServiceCmdStr on integeral service commmand ID
- virtual TBool LIW_DATA_TYPES_017();
- virtual TBool LIW_DATA_TYPES_018();
-
- //HasCriteria check
- virtual TBool LIW_DATA_TYPES_019();
-
- //TLiwVariant::operator == check
- virtual TBool LIW_DATA_TYPES_020();
-
- //CLiwGenericParamList::FindFirst and FindNext
- virtual TBool LIW_DATA_TYPES_021();
-
- //CLiwGenericParamList::FindFirst and FindNext and AppendL(CLiwGenericParamList&)
- virtual TBool LIW_DATA_TYPES_022();
-
- //CLiwContainer::ExternalizeL
- virtual TBool LIW_DATA_TYPES_023();
-
- //TLiwVariant::Dump // only for debug version
- virtual TBool LIW_DATA_TYPES_024();
-
- //Should be called as the last case
- virtual TBool LIW_CLEANUP_LIW_001();
-
- //for conversion utilities
- virtual TBool LIW_DATA_TYPES_025();
- virtual TBool LIW_DATA_TYPES_026();
- //virtual TBool LIW_DATA_TYPES_027();
- //virtual TBool LIW_DATA_TYPES_028();
- virtual TBool LIW_DATA_TYPES_029();
- virtual TBool LIW_DATA_TYPES_030();
- //virtual TBool LIW_DATA_TYPES_031();
- //virtual TBool LIW_DATA_TYPES_032();
- virtual TBool LIW_DATA_TYPES_033();
- virtual TBool LIW_DATA_TYPES_034();
- //virtual TBool LIW_DATA_TYPES_035();
- //virtual TBool LIW_DATA_TYPES_036();
- virtual TBool LIW_DATA_TYPES_037();
- virtual TBool LIW_DATA_TYPES_038();
- virtual TBool LIW_DATA_TYPES_039();
- //virtual TBool LIW_DATA_TYPES_040();
- virtual TBool LIW_DATA_TYPES_041();
- virtual TBool LIW_DATA_TYPES_042();
- virtual TBool LIW_DATA_TYPES_043();
- //virtual TBool LIW_DATA_TYPES_044();
-
- //QueryImplementation TestCases
- virtual TBool LIW_DATA_TYPES_045();
- virtual TBool LIW_DATA_TYPES_046();
- virtual TBool LIW_DATA_TYPES_047();
- virtual TBool LIW_DATA_TYPES_048();
- virtual TBool LIW_DATA_TYPES_049();
-
- //Versioning TestCases
- virtual TBool LIW_MDAT_VER1();
- virtual TBool LIW_MDAT_VER2();
- virtual TBool LIW_MDAT_VER3();
- virtual TBool LIW_MDAT_VER4();
- virtual TBool LIW_MDAT_VER5();
-
- //Generic Metadata TestCases
- virtual TBool LIW_MDAT_CAP1();
- virtual TBool LIW_MDAT_CAP2();
-
- //Test case for Data Type - Map AtL returning const TDesC8&
- virtual TBool LIW_Map_AtL_New();
-
- //Test case for Data Type - Cleanup check
- virtual TBool LIW_ContainerCleanup();
- virtual TBool LIW_ParamCleanup();
- virtual TBool LIW_VariantCleanup();
-
- //Checking TInt64 datatype & conversion utilities
- virtual TBool LIW_DATA_TYPES_050();
-
- virtual void TestL(CLiwMap *map);
- virtual void TestParamL(CLiwGenericParamList *param);
- virtual void TestVariantL(CLiwMap* map);
-
- virtual TInt LIW_ASYNC_001();
- virtual TInt LIW_ASYNC_002();
- virtual TInt LIW_ASYNC_003();
- virtual TInt LIW_ASYNC_004();
-
- virtual TInt LIW_ASYNC_LongServiceCmd();
- virtual TInt LIW_ASYNC_LongInterface();
- virtual TInt LIW_ASYNC_LongInvalidServiceCmd();
- virtual TInt LIW_ASYNC_LongInvalidInterface();
- virtual TInt LIW_ASYNC_LongInterface1();
- virtual TInt LIW_ParamCleanup1();
- virtual void TestParam1L();
- virtual TInt LIW_GetInterest();
- virtual TBool LIW_Defaut_list_externalize();
- virtual TBool LIW_DATA_TYPES_013_A();
- virtual TBool LIW_DATA_TYPES_015_A();
- virtual TInt LIW_DATA_GenericParamList();
- virtual TInt LIW_DATA_NewLOverLoad();
- /**
- * Method used to log version of test class
- */
- void SendTestClassVersion();
- TInt LoadL();
-
- //ADD NEW METHOD DEC HERE
- //[TestMethods] - Do not remove
-
- public: // Data
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- protected: // Data
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- private: // Data
- CLiwServiceHandler *iServiceHandler;
- CLiw_AsyncTC *asyObj;
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- // Reserved pointer for future extension
- //TAny* iReserved;
-
- public: // Friend classes
- //?friend_class_declaration;
- protected: // Friend classes
- //?friend_class_declaration;
- private: // Friend classes
- //?friend_class_declaration;
-
- };
-
-#endif // LIWTESTCASES_H
-
-// End of File
--- a/serviceapifw_plat/liw_criteria_api/tsrc/init/testframework.ini Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +0,0 @@
-#
-# This is STIFTestFramework initialization file
-# Comment lines start with '#'-character.
-# See STIF TestFramework users guide.doc for instructions
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set following test engine settings:
-# - Set Test Reporting mode. TestReportMode's possible values are:
-# + 'Summary': Summary of the tested test cases.
-# + 'Environment': Hardware and software info.
-# + 'TestCases': Test case report.
-# + 'FullReport': Set of all above ones.
-# + Example 'TestReportMode= Summary TestCases'
-#
-# - CreateTestReport setting controls report creation mode
-# + YES, Test report will created.
-# + NO, No Test report.
-#
-# - File path indicates the base path of the test report.
-# - File name indicates the name of the test report.
-#
-# - File format indicates the type of the test report.
-# + TXT, Test report file will be txt type, for example 'TestReport.txt'.
-# + HTML, Test report will be html type, for example 'TestReport.html'.
-#
-# - File output indicates output source of the test report.
-# + FILE, Test report logging to file.
-# + RDEBUG, Test report logging to using rdebug.
-#
-# - File Creation Mode indicates test report overwriting if file exist.
-# + OVERWRITE, Overwrites if the Test report file exist.
-# + APPEND, Continue logging after the old Test report information if
-# report exist.
-# - Sets a device reset module's dll name(Reboot).
-# + If Nokia specific reset module is not available or it is not correct one
-# StifHWResetStub module may use as a template for user specific reset
-# module.
-
-[Engine_Defaults]
-
-TestReportMode= FullReport # Possible values are: 'Empty', 'Summary', 'Environment',
- 'TestCases' or 'FullReport'
-
-CreateTestReport= YES # Possible values: YES or NO
-
-TestReportFilePath= C:\LOGS\TestFramework\
-TestReportFileName= TestReport
-
-TestReportFormat= TXT # Possible values: TXT or HTML
-TestReportOutput= FILE # Possible values: FILE or RDEBUG
-TestReportFileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND
-
-DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
-
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Module configurations start
-# Modules are added between module tags
-# tags. Module name is specified after ModuleName= tag, like
-# ModuleName= XXXXXXXXX
-# Modules might have initialisation file, specified as
-# IniFile= c:\testframework\YYYYYY
-# Modules might have several configuration files, like
-# TestCaseFile= c:\testframework\NormalCases.txt
-# TestCaseFile= c:\testframework\SmokeCases.txt
-# TestCaseFile= c:\testframework\ManualCases.txt
-
-# (TestCaseFile is synonym for old term ConfigFile)
-
-# Following case specifies demo module settings. Demo module
-# does not read any settings from file, so tags
-# IniFile and TestCaseFile are not used.
-# In the simplest case it is enough to specify only the
-# name of the test module when adding new test module
-
-#[New_Module]
-#ModuleName= demomodule
-#[End_Module]
-
-
-UITestingSupport= YES
-SeparateProcesses= YES
-
-# Load testmoduleXXX, optionally with initialization file and/or test case files
-[New_Module]
-ModuleName= testscripter
-
-#TestModuleXXX used initialization file
-IniFile= c:\testframework\Testframework.ini
-
-
-
-TestCaseFile= c:\testframework\tliwtestcases.cfg
-
-
-[End_Module]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set STIFTestFramework logging overwrite parameters for Logger.
-# Hardware and emulator environment logging path and styles can
-# be configured from here to overwrite the Logger's implemented values.
-#
-# Settings description:
-# - Indicates option for creation log directory/directories. If log directory/directories
-# is/are not created by user they will make by software.
-# + YES, Create log directory/directories if not allready exist.
-# + NO, Log directory/directories not created. Only created one is used.
-#
-# - Overwrite emulator path setting.
-# + Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined
-# Logger's path 'D:\\LOGS\\Module\\' with those definition the path
-# will be 'C:\LOGS\TestFramework\LOGS\Module\'
-#
-# - Overwrite emulator's logging format.
-# + TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
-# + HTML, Log file(s) will be html type(s), for example 'Module.html'.
-#
-# - Overwrited emulator logging output source.
-# + FILE, Logging to file(s).
-# + RDEBUG, Logging to using rdebug(s).
-#
-# - Overwrite hardware path setting (Same description as above in emulator path).
-# - Overwrite hardware's logging format(Same description as above in emulator format).
-# - Overwrite hardware's logging output source(Same description as above in emulator output).
-#
-# - File Creation Mode indicates file overwriting if file exist.
-# + OVERWRITE, Overwrites if file(s) exist.
-# + APPEND, Continue logging after the old logging information if file(s) exist.
-#
-# - Will thread id include to the log filename.
-# + YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
-# + NO, No thread id to log file(s), Example filename 'Module.txt'.
-#
-# - Will time stamps include the to log file.
-# + YES, Time stamp added to each line in log file(s). Time stamp is
-# for example'12.Nov.2003 115958 LOGGING INFO'
-# + NO, No time stamp(s).
-#
-# - Will line breaks include to the log file.
-# + YES, Each logging event includes line break and next log event is in own line.
-# + NO, No line break(s).
-#
-# - Will event ranking include to the log file.
-# + YES, Event ranking number added to each line in log file(s). Ranking number
-# depends on environment's tics, for example(includes time stamp also)
-# '012 12.Nov.2003 115958 LOGGING INFO'
-# + NO, No event ranking.
-#
-
-[Logger_Defaults]
-
-#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#'
-
-#CreateLogDirectories= YES # Possible values: YES or NO
-
-#EmulatorBasePath= C:\LOGS\TestFramework\
-#EmulatorFormat= HTML # Possible values: TXT or HTML
-#EmulatorOutput= FILE # Possible values: FILE or RDEBUG
-
-#HardwareBasePath= D:\LOGS\TestFramework\
-#HardwareFormat= HTML # Possible values: TXT or HTML
-#HardwareOutput= FILE # Possible values: FILE or RDEBUG
-
-#FileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND
-
-#ThreadIdToLogFile= YES # Possible values: YES or NO
-#WithTimeStamp= YES # Possible values: YES or NO
-#WithLineBreak= YES # Possible values: YES or NO
-#WithEventRanking= YES # Possible values: YES or NO
-
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
\ No newline at end of file
--- a/serviceapifw_plat/liw_criteria_api/tsrc/liwtestcases.pkg Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of the License "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description:
-;
-&EN
-;
-; UID is the app's UID
-;
-#{"Liwtestcases"},(0x2000B5D4),1,0,0
-
-;
-; List of localised vendor names
-%{"Vendor-EN"}
-
-; The non-localised, globally unique vendor name (mandatory)
-:"Nokia OY"
-;Supports Series 60 v 3.x
-;This line indicates that this installation is for the Series 60 platform v3.x
-;This line must appear _exactly_ as shown below in the sis file
-;If this line is missing or incorrect, the sis file will not be able
-;to be installed on Series 60 v3.x platforms
-(0x101F7961), 0, 0, 0, {"Series60ProductID"}
-;
-; Two files to install
-;
-"\epoc32\release\armv5\urel\liwtestcases.dll" -"!:\sys\bin\liwtestcases.dll"
-"\epoc32\winscw\c\data\others\liwaccesspolicy.xml" -"!:\data\others\liwaccesspolicy.xml"
-"\epoc32\WINSCW\C\TestFramework\testframework.ini" -"!:\TestFramework\testframework.ini"
-"\epoc32\WINSCW\C\TestFramework\tliwtestcases.cfg" -"!:\TestFramework\tliwtestcases.cfg"
--- a/serviceapifw_plat/liw_criteria_api/tsrc/src/liwtestcases.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,212 +0,0 @@
-/*
-* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ?Description
-*
-*/
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <StifTestInterface.h>
-#include "liwtestcases.h"
-#include <SettingServerClient.h>
-
-// EXTERNAL DATA STRUCTURES
-//extern ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-// ?value_n: ?description_line1
-// ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
- ?arg_type arg, // ?description
- ?arg_type arg) // ?description
- {
-
- ?code // ?comment
-
- // ?comment
- ?code
- }
-*/
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// Cliwtestcases::Cliwtestcases
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-Cliwtestcases::Cliwtestcases(
- CTestModuleIf& aTestModuleIf ):
- CScriptBase( aTestModuleIf )
- {
- }
-
-// -----------------------------------------------------------------------------
-// Cliwtestcases::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void Cliwtestcases::ConstructL()
- {
- //Read logger settings to check whether test case name is to be
- //appended to log file name.
- RSettingServer settingServer;
- TInt ret = settingServer.Connect();
- if(ret != KErrNone)
- {
- User::Leave(ret);
- }
- // Struct to StifLogger settigs.
- TLoggerSettings loggerSettings;
- // Parse StifLogger defaults from STIF initialization file.
- ret = settingServer.GetLoggerSettings(loggerSettings);
- if(ret != KErrNone)
- {
- User::Leave(ret);
- }
- // Close Setting server session
- settingServer.Close();
-
- TFileName logFileName;
-
- if(loggerSettings.iAddTestCaseTitle)
- {
- TName title;
- TestModuleIf().GetTestCaseTitleL(title);
- logFileName.Format(KliwtestcasesLogFileWithTitle, &title);
- }
- else
- {
- logFileName.Copy(KliwtestcasesLogFile);
- }
-
- iLog = CStifLogger::NewL( KliwtestcasesLogPath,
- logFileName,
- CStifLogger::ETxt,
- CStifLogger::EFile,
- EFalse );
-
- iServiceHandler = CLiwServiceHandler::NewL();
-
- asyObj = new (ELeave) CLiw_AsyncTC(iServiceHandler);
-
- LoadL();
-
- SendTestClassVersion();
- }
-
-// -----------------------------------------------------------------------------
-// Cliwtestcases::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-Cliwtestcases* Cliwtestcases::NewL(
- CTestModuleIf& aTestModuleIf )
- {
- Cliwtestcases* self = new (ELeave) Cliwtestcases( aTestModuleIf );
-
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
-
- return self;
-
- }
-
-// Destructor
-Cliwtestcases::~Cliwtestcases()
- {
-
- // Delete resources allocated from test methods
- Delete();
-
- // Delete logger
- delete iLog;
-
- }
-
-//-----------------------------------------------------------------------------
-// Cliwtestcases::SendTestClassVersion
-// Method used to send version of test class
-//-----------------------------------------------------------------------------
-//
-void Cliwtestcases::SendTestClassVersion()
- {
- TVersion moduleVersion;
- moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
- moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
- moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
-
- TFileName moduleName;
- moduleName = _L("liwtestcases.dll");
-
- TBool newVersionOfMethod = ETrue;
- TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod);
- }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// LibEntryL is a polymorphic Dll entry point.
-// Returns: CScriptBase: New CScriptBase derived object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CScriptBase* LibEntryL(
- CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
- {
-
- return ( CScriptBase* ) Cliwtestcases::NewL( aTestModuleIf );
-
- }
-
-
-// End of File
--- a/serviceapifw_plat/liw_criteria_api/tsrc/src/liwtestcasesasync.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,649 +0,0 @@
-/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <aknViewAppUi.h>
-#include <liwservicehandler.h>
-#include "liw_async_testcase.h"
-//#include "liwtestapp.hrh"
-//#include <liwtestapp.rsg>
-
-TInt success;
-
-using namespace LIW;
-
-//_LIT8(KAsyncService,"S60.MultiMetaData");
-//_LIT8(KSyncService,"S60.SyncServices");
-//_LIT8(KInvalidService,"S60.InvalidService");
-//_LIT8(KSecurityService,"S60.SecurityServices");
-//_LIT8(KInvalidSecurityService,"S60.InvalidSecurityServices");
-
-_LIT8(KAsyncSrv,"Test.AsyncServices");
-_LIT8(KAsyncContent,"Test/Data");
-
-//_LIT8(KTestPARAMNanmeTC2,"TestResult");
-//_LIT8(KSecurityParameter,"SecurityParam");
-
-//_LIT8(KResult_Pass, "Test Provider replied with <tt>EGenericParamError = KErrorNone</tt>");
-//_LIT8(KResult_Fail,"Test Provider replied with Error : <tt>KErrNotFound</tt>");
-
-//_LIT8(KAsyn_TestCmt, "These Test cases are designed to test LIW support for Asynchronous Invocation.\
- <br><br><b>Test:-<b></br>\
- <li>Attaching and Detaching service providers through string based service command</li>\
- <li>Execute the service with callback</li>\
- <li>After checking the event state, next Test Case is invoked</li>\
- <br><b>Check - </b></br> \
- Appropriate State of the event in the HandleNotify Method");
-
-TInt IncomingEventCmdID=1000;
-TInt XmlDataReaderCmdID=2000;
-
-const TInt32 LIWASYNC001=100;
-//const TInt32 LIWASYNC002=200;
-const TInt32 LIWASYNC003=300;
-const TInt32 LIWASYNC004=400;
-//const TInt32 LIWASYNC005=500;
-//const TInt32 LIWASYNC006=600;
-
-const TInt32 KAsyncMaxCount=10;
-
-const TUid KViewId4 = {4};
-
-// ---------------------------------------------------------
-// TUid CLiwtcbase::Id()
-// ?implementation_description
-// ---------------------------------------------------------
-//
-TUid CLiw_AsyncTC::Id() const
- {
- return KViewId4;
- }
-
-//Async event states. New state could be added
-enum TAsyncState
-{
- eAsyncStarted=0,
- eAsyncStopped
-};
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CLiw_AsyncTC::CLiw_AsyncTC
-// Description: CLiw_AsyncTC constructer
-// -----------------------------------------------------------------------------
-//
-CLiw_AsyncTC::CLiw_AsyncTC( CLiwServiceHandler *aServiceHandler, TRequestType aRequest, TInt aPriority): CActive(aPriority)
- {
- iCount = 0;
- iResult = 1;
- iIncrementCount = 1;
- iRequest = aRequest;
- iServiceHandler = aServiceHandler;
- iAsyncCount = 0;
- tcNo = -1;
- CActiveScheduler::Add( this );
- }
-
-TInt CLiw_AsyncTC::AsyncCase(TInt aTcNo)
-{
- tcNo = aTcNo;
- //setactive, user::requestcomplete
-
- SetActive();
-
- iStatus=KRequestPending;
- TRequestStatus* temp=&iStatus;
- User::RequestComplete(temp,KErrNone);
-
- //wait
- CActiveScheduler::Start();
-
- return iResult;
-}
-
-//
-//-----------------------------------------------------------------------------
-// CLiw_AsyncTC::RequestFunction
-// Description: Request Function for CLiw_AsyncTC
-// ----------------------------------------------------------------------------
-//
-void CLiw_AsyncTC::RequestFunction( TRequestType aRequest )
-{
- iRequest = aRequest;
- iStatus = KRequestPending;
- if( !IsActive() )
- SetActive();
-}
-
-//
-//-----------------------------------------------------------------------------
-// CLiw_AsyncTC::ReadyToGo
-// Description: This calls CLiw_AsyncTC's RunL
-//-----------------------------------------------------------------------------
-//
-void CLiw_AsyncTC::ReadyToGo()
-{
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
-}
-
-
-//
-//-----------------------------------------------------------------------------
-// CLiw_AsyncTC::DoCancel
-// Description: This calls CActive's Cancel
-//-----------------------------------------------------------------------------
-//
-void CLiw_AsyncTC::DoCancel()
-{
-}
-
-//
-//-----------------------------------------------------------------------------
-// CLiw_AsyncTC::SetIncrementCounter
-// Description: Sets Increment Counter of CLiw_AsyncTC
-//-----------------------------------------------------------------------------
-//
-void CLiw_AsyncTC::SetIncrementCounter( TInt aCount)
-{
-iIncrementCount = aCount;
-}
-
-//
-//-----------------------------------------------------------------------------
-// CLiw_AsyncTC::CountValue
-// Description: Returns Count Value of CLiw_AsyncTC
-//-----------------------------------------------------------------------------
-//
-TUint CLiw_AsyncTC::CountValue () const
-{
-return iCount;
-}
-
-// ---------------------------------------------------------
-// CLiw_AsyncTC::ConstructL(const TRect& aRect)
-// EPOC two-phased constructor
-// ---------------------------------------------------------
-//
-/*void CLiw_AsyncTC::ConstructL(CLiwTestLogHandler& aLogger, CLiwTestAppContainer& aContainer)
- {
- iLogger = &aLogger;
- iContainer = &aContainer;
-
- // Create service handler instance.
- CLiwServiceHandler* serviceHandler = CLiwServiceHandler::NewLC();
- iServiceHandler = serviceHandler;
- CleanupStack::Pop(serviceHandler);
- }
-*/
-
-// ---------------------------------------------------------
-// CLiw_AsyncTC::~CLiw_AsyncTC()
-// ?implementation_description
-// ---------------------------------------------------------
-//
-CLiw_AsyncTC::~CLiw_AsyncTC()
- {
- delete iServiceHandler;
- iServiceHandler = NULL;
-
- Cancel();
- }
-
-void CLiw_AsyncTC::RunL()
- {
- switch(tcNo)
- {
- case 1:
- LIW_ASYNC_001();
- break;
- case 2:
- LIW_ASYNC_002();
- break;
- case 3:
- LIW_ASYNC_003();
- break;
- case 4:
- LIW_ASYNC_004();
- break;
- default:
- break;
- }
- }
-
-
-// ---------------------------------------------------------
-// CLiw_AsyncTC::HandleCommandL
-// From MLiwNotifyCallback
-// ---------------------------------------------------------
-//
-TInt CLiw_AsyncTC::HandleNotifyL(
- TInt aCmdId,
- TInt aEventId,
- CLiwGenericParamList& /*aEventParamList*/,
- const CLiwGenericParamList& /*aInParamList*/)
- {
-
- if(LIWASYNC001==aCmdId)
- {
- if( (KLiwEventCompleted==aEventId) ||
- (KLiwEventCanceled==aEventId) ||
- (KLiwEventStopped==aEventId) ||
- (KLiwEventError==aEventId) )
- {
- //_LIT8(testCmt,"<b>LIW_ASYNC_001:</b> <br> Create a CLiwCriteriaItem with string command \
- The provider with the same command must be attached with LIW FW.\
- and call <tt>ExecuteServiceCmdL</tt>.</br>\
- <br><b>Test -</b></br> <li>Attaching provider Programmatically</li> <li>string based serviceName</li>\
- <br><b>Check - </b></br> Provider returns asynchronously : <tt>LiwEventCompleted</tt>");
-
- if(KLiwEventCompleted==aEventId)
- {
- iResult = 0;
- //iLogger->AddTestItem(testCmt,KResult_Pass,ETrue, EFalse);
- //Venkat : return true as testcase passed
- }
- else
- {
- iResult = 1;
- //iLogger->AddTestItem(testCmt,KResult_Fail,ETrue, EFalse);
- //Venkat : Test fails
- }
-
- CActiveScheduler::Stop();
- //LIW_ASYNC_002();
- }
- }
- else if(LIWASYNC003==aCmdId)
- {
- //if the counter reaches
- //event notification should be cancelled
- ++iAsyncCount;
-
- if( (KLiwEventCompleted==aEventId) ||
- (KLiwEventCanceled==aEventId) ||
- (KLiwEventStopped==aEventId) ||
- (KLiwEventError==aEventId) )
- {
- //_LIT8(testCmt,"<b>LIW_ASYNC_003:</b> <br> Create a CLiwCriteriaItem with string command \
- The provider with the same command must be attached with LIW FW.\
- and call <tt>ExecuteServiceCmdL</tt>.</br>\
- <br><b>Test -</b></br> <li>Attaching provider Programmatically</li> <li>string based serviceName</li>\
- <br><b>Check - </b></br> Provider returns asynchronously : <tt>LiwEventStopped</tt>");
-
- if(KLiwEventStopped==aEventId)
- {
- iResult = 0;
- //iLogger->AddTestItem(testCmt,KResult_Pass,ETrue, EFalse);
- }
- else
- {
- iResult = 1;
- //iLogger->AddTestItem(testCmt,KResult_Fail,EFalse, EFalse);
- }
-
- //LIW_ASYNC_003((TInt32)eAsyncStopped);
- iAsyncCount=0;
- iTransID=0;
-
- return KErrNone;
- }
-
- if(iAsyncCount >= KAsyncMaxCount)
- {
- LIW_ASYNC_003((TInt32)eAsyncStopped);
- iAsyncCount=0;
- iTransID=0;
- //LIW_ASYNC_004();
-
- CActiveScheduler::Stop();
- }
- }
- else if(LIWASYNC004==aCmdId)
- {
- if( (KLiwEventCanceled==aEventId) ||
- (KLiwEventStopped==aEventId) ||
- (KLiwEventError==aEventId) )
- {
- //_LIT8(testCmt,"<b>LIW_ASYNC_004:</b> <br> Create a CLiwCriteriaItem with string command \
- The provider with the same command must be attached with LIW FW.\
- and call <tt>ExecuteServiceCmdL</tt>.</br>\
- <br><b>Test -</b></br> <li>Attaching provider Programmatically</li> <li>string based serviceName</li>\
- <br><b>Check - </b></br> Provider returns asynchronously : <tt>LiwEventError</tt>");
-
- if(KLiwEventError==aEventId)
- {
- iResult = 0;
- //iLogger->AddTestItem(testCmt,KResult_Pass,ETrue, EFalse);
- }
- else
- {
- iResult = 1;
- //iLogger->AddTestItem(testCmt,KResult_Fail,EFalse, EFalse);
- }
-
- CActiveScheduler::Stop();
- }
- }
- return KErrNone;
- }
-
-// ---------------------------------------------------------
-/*LIW Asynchronous service Test Cases are Defined here*/
-// ---------------------------------------------------------
-
-void CLiw_AsyncTC::LIW_ASYNC_004()
-{
-
- /*Detached all the service provider and reset all the Entries of previous test case*/
- iServiceHandler->Reset();
-
- RCriteriaArray interest;
- CleanupClosePushL(interest);
-
- const TDesC8* cmd = &KAsyncSrv;
-
- //Define Criteria Item Dynamically with string based command
- CLiwCriteriaItem* criteria1 = CLiwCriteriaItem::NewLC(1, *cmd, KAsyncContent);
- criteria1->SetServiceClass(TUid::Uid(KLiwClassBase));
- interest.AppendL(criteria1);
-
- /*Attach the base provider*/
- iServiceHandler->AttachL(interest);
- CleanupStack::PopAndDestroy(criteria1);
- CleanupStack::PopAndDestroy(&interest);
-
- TLiwGenericParam asyncSrvCmdIDParam;
- TLiwGenericParam asyncStateParam;
- TLiwGenericParam asyncTransIDParam;
- TLiwGenericParam testCaseIDParam;
-
- _LIT8(KAsyncCmdID, "AsyncCmdID");
-// _LIT8(KAsyncCmdName, "IncomingEvents");
- _LIT8(KAsyncEventState, "AsyncEventState");
- //_LIT8(KAsyncTransID, "TransactionID");
- _LIT8(KTestCaseID, "TestCaseID");
-
- //_LIT8(KLIW_ASYNC_001, "LIW_ASYNC_001");
- TInt32 testCaseID=LIWASYNC004;
-
- CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
- inps->Reset();
-
- asyncSrvCmdIDParam.SetNameAndValueL(KAsyncCmdID, TLiwVariant((TInt32)XmlDataReaderCmdID));
- asyncStateParam.SetNameAndValueL(KAsyncEventState, TLiwVariant((TInt32)eAsyncStarted));
- testCaseIDParam.SetNameAndValueL(KTestCaseID, TLiwVariant((TInt32)testCaseID));
-
- inps->AppendL(asyncSrvCmdIDParam);
- inps->AppendL(asyncStateParam);
- inps->AppendL(testCaseIDParam);
-
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, *cmd, KAsyncContent);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL());
-
- iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps,KLiwOptASyncronous,this);
-
- asyncSrvCmdIDParam.Reset();
- asyncStateParam.Reset();
- asyncTransIDParam.Reset();
- testCaseIDParam.Reset();
- CleanupStack::PopAndDestroy(crit); // crit
-}
-
-void CLiw_AsyncTC::LIW_ASYNC_003(TInt aEventState)
-{
-
- const TDesC8* cmd = &KAsyncSrv;
-
- if(eAsyncStarted==aEventState)
- {
- /*Detached all the service provider and reset all the Entries of previous test case*/
- iServiceHandler->Reset();
-
- RCriteriaArray interest;
- CleanupClosePushL(interest);
-
-
-
- //Define Criteria Item Dynamically with string based command
- CLiwCriteriaItem* criteria1 = CLiwCriteriaItem::NewLC(1, *cmd, KAsyncContent);
- criteria1->SetServiceClass(TUid::Uid(KLiwClassBase));
- interest.AppendL(criteria1);
-
- /*Attach the base provider*/
- iServiceHandler->AttachL(interest);
- CleanupStack::PopAndDestroy(criteria1);
- CleanupStack::PopAndDestroy(&interest);
- }
-
-
- TLiwGenericParam asyncSrvCmdIDParam;
- TLiwGenericParam asyncStateParam;
- TLiwGenericParam asyncTransIDParam;
- TLiwGenericParam testCaseIDParam;
-
- _LIT8(KAsyncCmdID, "AsyncCmdID");
-// _LIT8(KAsyncCmdName, "IncomingEvents");
- _LIT8(KAsyncEventState, "AsyncEventState");
- //_LIT8(KAsyncTransID, "TransactionID");
- _LIT8(KTestCaseID, "TestCaseID");
-
- TInt32 testCaseID=LIWASYNC003;
-
- CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
- inps->Reset();
-
- asyncSrvCmdIDParam.SetNameAndValueL(KAsyncCmdID, TLiwVariant((TInt32)IncomingEventCmdID));
- asyncStateParam.SetNameAndValueL(KAsyncEventState, TLiwVariant((TInt32)aEventState));
- testCaseIDParam.SetNameAndValueL(KTestCaseID, TLiwVariant((TInt32)testCaseID));
-
- inps->AppendL(asyncSrvCmdIDParam);
- inps->AppendL(asyncStateParam);
- inps->AppendL(testCaseIDParam);
-
- if(eAsyncStopped==aEventState)
- {
- TLiwGenericParam asyncTransIDParam;
- _LIT8(KAsyncTransID, "TransactionID");
- asyncTransIDParam.SetNameAndValueL(KAsyncTransID, TLiwVariant((TInt32)iTransID));
- inps->AppendL(asyncTransIDParam);
- asyncTransIDParam.Reset();
- }
-
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, *cmd, KAsyncContent);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL());
-
- iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps,KLiwOptASyncronous,this);
-
- asyncSrvCmdIDParam.Reset();
- asyncStateParam.Reset();
- asyncTransIDParam.Reset();
- testCaseIDParam.Reset();
- CleanupStack::PopAndDestroy(crit); // crit
-
- if(eAsyncStarted==aEventState)
- {
- TInt pos = 0;
- _LIT8(KAsyncTransID, "TransactionID");
- outps->FindFirst(pos, KAsyncTransID);
-
- TLiwGenericParam transIDParam = outps->operator[](pos);
- iTransID = transIDParam.Value().AsTInt32();
- }
-
- //LIW_ASYNC_004();
-}
-
-void CLiw_AsyncTC::LIW_ASYNC_002()
-{
-
- /*Detached all the service provider and reset all the Entries of previous test case*/
- iServiceHandler->Reset();
-
- RCriteriaArray interest;
- CleanupClosePushL(interest);
-
- const TDesC8* cmd = &KAsyncSrv;
-
- //Define Criteria Item Dynamically with string based command
- CLiwCriteriaItem* criteria1 = CLiwCriteriaItem::NewLC(1, *cmd, KAsyncContent);
- criteria1->SetServiceClass(TUid::Uid(KLiwClassBase));
- interest.AppendL(criteria1);
-
- /*Attach the base provider*/
- iServiceHandler->AttachL(interest);
- CleanupStack::PopAndDestroy(criteria1);
- CleanupStack::PopAndDestroy(&interest);
-
- TLiwGenericParam asyncSrvCmdIDParam;
- TLiwGenericParam asyncStateParam;
- TLiwGenericParam asyncTransIDParam;
- TLiwGenericParam testCaseIDParam;
-
- _LIT8(KAsyncCmdID, "AsyncCmdID");
-// _LIT8(KAsyncCmdName, "IncomingEvents");
- _LIT8(KAsyncEventState, "AsyncEventState");
- //_LIT8(KAsyncTransID, "TransactionID");
- _LIT8(KTestCaseID, "TestCaseID");
-
- //_LIT8(KLIW_ASYNC_001, "LIW_ASYNC_001");
- TInt32 testCaseID=LIWASYNC001;
-
- CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
- inps->Reset();
-
- asyncSrvCmdIDParam.SetNameAndValueL(KAsyncCmdID, TLiwVariant((TInt32)XmlDataReaderCmdID));
- asyncStateParam.SetNameAndValueL(KAsyncEventState, TLiwVariant((TInt32)eAsyncStarted));
- testCaseIDParam.SetNameAndValueL(KTestCaseID, TLiwVariant((TInt32)testCaseID));
-
- inps->AppendL(asyncSrvCmdIDParam);
- inps->AppendL(asyncStateParam);
- inps->AppendL(testCaseIDParam);
-
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, *cmd, KAsyncContent);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL());
-
- iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps,KLiwOptASyncronous);
-
- //Since there is no callback, the control returns here
- //Checking for the success of this testcase
-
- TInt pos=0;
-
- outps->FindFirst(pos, EGenericParamError);
-
- if(pos != KErrNotFound)
- {
- //_LIT8(testCmt,"<b>LIW_ASYNC_001:</b> <br> Create a CLiwCriteriaItem with string command \
- The provider with the same command must be attached with LIW FW.\
- and call <tt>ExecuteServiceCmdL</tt>.</br>\
- <br><b>Test -</b></br> <li>Attaching provider Programmatically</li> <li>string based serviceName</li>\
- <li>No CallBack is mentioned</li><br><b>Check - </b></br>\
- Provider returns control immediately (Synchronous) <tt>EGenericParamError = KErrCancel</tt>");
-
- if ((*outps)[pos].Value().AsTInt32() == KErrCancel)
- {
- iResult = 0;
- //iLogger->AddTestItem(testCmt,KResult_Pass,ETrue, EFalse);
- }
- else
- {
- iResult = 1;
- //iLogger->AddTestItem(testCmt,KResult_Fail,ETrue, EFalse);
- }
- }
- asyncSrvCmdIDParam.Reset();
- asyncStateParam.Reset();
- asyncTransIDParam.Reset();
- testCaseIDParam.Reset();
- CleanupStack::PopAndDestroy(crit); // crit
-
- CActiveScheduler::Stop();
- //LIW_ASYNC_003();
-}
-
-
-void CLiw_AsyncTC::LIW_ASYNC_001()
-{
- /*Detached all the service provider and reset all the Entries of previous test case*/
- iServiceHandler->Reset();
-
- RCriteriaArray interest;
- CleanupClosePushL(interest);
-
- //Define Criteria Item Dynamically with string based command
- CLiwCriteriaItem* criteria1 = CLiwCriteriaItem::NewLC(1, KAsyncSrv, KAsyncContent);
- criteria1->SetServiceClass(TUid::Uid(KLiwClassBase));
- interest.AppendL(criteria1);
-
- /*Attach the base provider*/
- TInt status = iServiceHandler->AttachL(interest);
- CleanupStack::PopAndDestroy(criteria1);
- CleanupStack::PopAndDestroy(&interest);
-
- TLiwGenericParam asyncSrvCmdIDParam;
- TLiwGenericParam asyncStateParam;
- TLiwGenericParam asyncTransIDParam;
- TLiwGenericParam testCaseIDParam;
-
- _LIT8(KAsyncCmdID, "AsyncCmdID");
- //_LIT8(KAsyncCmdName, "IncomingEvents");
- _LIT8(KAsyncEventState, "AsyncEventState");
- //_LIT8(KAsyncTransID, "TransactionID");
- _LIT8(KTestCaseID, "TestCaseID");
-
- //_LIT8(KLIW_ASYNC_001, "LIW_ASYNC_001");
- TInt32 testCaseID=LIWASYNC001;
-
- CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
- inps->Reset();
-
- asyncSrvCmdIDParam.SetNameAndValueL(KAsyncCmdID, TLiwVariant((TInt32)XmlDataReaderCmdID));
- asyncStateParam.SetNameAndValueL(KAsyncEventState, TLiwVariant((TInt32)eAsyncStarted));
- testCaseIDParam.SetNameAndValueL(KTestCaseID, TLiwVariant((TInt32)testCaseID));
-
- inps->AppendL(asyncSrvCmdIDParam);
- inps->AppendL(asyncStateParam);
- inps->AppendL(testCaseIDParam);
-
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, KAsyncSrv, KAsyncContent);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL());
-
- iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps,KLiwOptASyncronous,this);
-
- asyncSrvCmdIDParam.Reset();
- asyncStateParam.Reset();
- asyncTransIDParam.Reset();
- testCaseIDParam.Reset();
-
- CleanupStack::PopAndDestroy(crit); // crit
-}
--- a/serviceapifw_plat/liw_criteria_api/tsrc/src/liwtestcasesblocks.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3526 +0,0 @@
-/*
-* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ?Description
-*
-*/
-
-
-
-
-
-
-
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "liwtestcases.h"
-
-#include <aknViewAppUi.h>
-#include <liwservicehandler.h>
-//#include "liwTC1.h"
-//#include "liwtestapp.hrh"
-//#include <liwtestapp.rsg>
-#include <s32mem.h> // for read write stream
-
-#include <rtsecmanager.h>
-#include <rtsecmgrutility.h>
-#include <rtsecmgrscriptsession.h>
-#include <rtsecmgrcommondef.h>
-#include "liwtestapplit.h"
-
-#include "liw_async_testcase.h"
-
-using namespace LIW;
-
-// EXTERNAL DATA STRUCTURES
-//extern ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-// ?value_n: ?description_line1
-// ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
- ?arg_type arg, // ?description
- ?arg_type arg) // ?description
- {
-
- ?code // ?comment
-
- // ?comment
- ?code
- }
-*/
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// Cliwtestcases::Delete
-// Delete here all resources allocated and opened from test methods.
-// Called from destructor.
-// -----------------------------------------------------------------------------
-//
-void Cliwtestcases::Delete()
- {
- if(iServiceHandler)
- {
- iServiceHandler->Reset();
- delete iServiceHandler;
- iServiceHandler = NULL;
- }
-
- }
-
-// ---------------------------------------------------------
-// CLiwtcbase::HandleNotifyL
-// From - MLiwNotifyCallback
-// ---------------------------------------------------------
-TInt Cliwtestcases::HandleNotifyL
- (
- TInt /*aCmdId*/,
- TInt /*aEventId*/,
- CLiwGenericParamList& /*aEventParamList*/,
- const CLiwGenericParamList& /*aInParamList*/)
- {
- return KErrNone;
- }
-
-
-TInt Cliwtestcases::LoadL( )
- {
- RCriteriaArray interest;
- CleanupClosePushL(interest);
-
- CLiwCriteriaItem* criteria = CLiwCriteriaItem::NewLC(1, KTestCommandTC1, KContentTypeTxt);
- criteria->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- interest.AppendL(criteria);
-
- // Attach the MyServiceName provider to the LIW framework.
- TInt status = iServiceHandler->AttachL(interest);
-
- // Detach The MyServiceName Provider
- //iServiceHandler->DetachL(interest);
- CleanupStack::PopAndDestroy(criteria);
- CleanupStack::PopAndDestroy(&interest);
- return status;
- }
-
-// -----------------------------------------------------------------------------
-// Cliwtestcases::RunMethodL
-// Run specified method. Contains also table of test mothods and their names.
-// -----------------------------------------------------------------------------
-//
-TInt Cliwtestcases::RunMethodL(
- CStifItemParser& aItem )
- {
- TestModuleIf().SetBehavior( CTestModuleIf::ETestLeaksHandles );
-
- static TStifFunctionInfo const KFunctions[] =
- {
- // Copy this line for every implemented function.
- // First string is the function name used in TestScripter script file.
- // Second is the actual implementation member function.
- ENTRY( "LIW_DATA_TYPES_001", Cliwtestcases::LIW_DATA_TYPES_001 ),
- ENTRY( "LIW_DATA_TYPES_002", Cliwtestcases::LIW_DATA_TYPES_002 ),
- ENTRY( "LIW_DATA_TYPES_003", Cliwtestcases::LIW_DATA_TYPES_003 ),
- ENTRY( "LIW_DATA_TYPES_004", Cliwtestcases::LIW_DATA_TYPES_004 ),
- ENTRY( "LIW_DATA_TYPES_005", Cliwtestcases::LIW_DATA_TYPES_005 ),
- ENTRY( "LIW_DATA_TYPES_006", Cliwtestcases::LIW_DATA_TYPES_006 ),
- ENTRY( "LIW_DATA_TYPES_007", Cliwtestcases::LIW_DATA_TYPES_007 ),
- ENTRY( "LIW_DATA_TYPES_008", Cliwtestcases::LIW_DATA_TYPES_008 ),
- ENTRY( "LIW_DATA_TYPES_009", Cliwtestcases::LIW_DATA_TYPES_009 ),
- ENTRY( "LIW_Map_AtL_New", Cliwtestcases::LIW_Map_AtL_New ),
- ENTRY( "LIW_DATA_TYPES_010", Cliwtestcases::LIW_DATA_TYPES_010 ),
- ENTRY( "LIW_DATA_TYPES_011", Cliwtestcases::LIW_DATA_TYPES_011 ),
- ENTRY( "LIW_DATA_TYPES_012", Cliwtestcases::LIW_DATA_TYPES_012 ),
- ENTRY( "LIW_DATA_TYPES_013", Cliwtestcases::LIW_DATA_TYPES_013 ),
- ENTRY( "LIW_DATA_TYPES_014", Cliwtestcases::LIW_DATA_TYPES_014 ),
- ENTRY( "LIW_DATA_TYPES_016", Cliwtestcases::LIW_DATA_TYPES_016 ),
- ENTRY( "LIW_DATA_TYPES_017", Cliwtestcases::LIW_DATA_TYPES_017 ),
- ENTRY( "LIW_DATA_TYPES_018", Cliwtestcases::LIW_DATA_TYPES_018 ),
- ENTRY( "LIW_DATA_TYPES_020", Cliwtestcases::LIW_DATA_TYPES_020 ),
- ENTRY( "LIW_DATA_TYPES_021", Cliwtestcases::LIW_DATA_TYPES_021 ),
- ENTRY( "LIW_DATA_TYPES_022", Cliwtestcases::LIW_DATA_TYPES_022 ),
- ENTRY( "LIW_DATA_TYPES_023", Cliwtestcases::LIW_DATA_TYPES_023 ),
- ENTRY( "LIW_DATA_TYPES_024", Cliwtestcases::LIW_DATA_TYPES_024 ),
- ENTRY( "LIW_DATA_TYPES_025", Cliwtestcases::LIW_DATA_TYPES_025 ),
- ENTRY( "LIW_DATA_TYPES_026", Cliwtestcases::LIW_DATA_TYPES_026 ),
- ENTRY( "LIW_DATA_TYPES_029", Cliwtestcases::LIW_DATA_TYPES_029 ),
- ENTRY( "LIW_DATA_TYPES_030", Cliwtestcases::LIW_DATA_TYPES_030 ),
- ENTRY( "LIW_DATA_TYPES_033", Cliwtestcases::LIW_DATA_TYPES_033 ),
- ENTRY( "LIW_DATA_TYPES_034", Cliwtestcases::LIW_DATA_TYPES_034 ),
- ENTRY( "LIW_DATA_TYPES_037", Cliwtestcases::LIW_DATA_TYPES_037 ),
- ENTRY( "LIW_DATA_TYPES_038", Cliwtestcases::LIW_DATA_TYPES_038 ),
- ENTRY( "LIW_DATA_TYPES_039", Cliwtestcases::LIW_DATA_TYPES_039 ),
- ENTRY( "LIW_DATA_TYPES_041", Cliwtestcases::LIW_DATA_TYPES_041 ),
- ENTRY( "LIW_DATA_TYPES_042", Cliwtestcases::LIW_DATA_TYPES_042 ),
- ENTRY( "LIW_DATA_TYPES_043", Cliwtestcases::LIW_DATA_TYPES_043 ),
- ENTRY( "LIW_DATA_TYPES_045", Cliwtestcases::LIW_DATA_TYPES_045 ),
- ENTRY( "LIW_DATA_TYPES_046", Cliwtestcases::LIW_DATA_TYPES_046 ),
- ENTRY( "LIW_DATA_TYPES_047", Cliwtestcases::LIW_DATA_TYPES_047 ),
- ENTRY( "LIW_DATA_TYPES_048", Cliwtestcases::LIW_DATA_TYPES_048 ),
- ENTRY( "LIW_DATA_TYPES_049", Cliwtestcases::LIW_DATA_TYPES_049 ),
- ENTRY( "LIW_MDAT_VER1", Cliwtestcases::LIW_MDAT_VER1 ),
- ENTRY( "LIW_MDAT_VER2", Cliwtestcases::LIW_MDAT_VER2 ),
- ENTRY( "LIW_MDAT_VER3", Cliwtestcases::LIW_MDAT_VER3 ),
- ENTRY( "LIW_MDAT_VER4", Cliwtestcases::LIW_MDAT_VER4 ),
- ENTRY( "LIW_MDAT_VER5", Cliwtestcases::LIW_MDAT_VER5 ),
- ENTRY( "LIW_MDAT_CAP1", Cliwtestcases::LIW_MDAT_CAP1 ),
- ENTRY( "LIW_ContainerCleanup", Cliwtestcases::LIW_ContainerCleanup ),
- ENTRY( "LIW_ParamCleanup", Cliwtestcases::LIW_ParamCleanup ),
- ENTRY( "LIW_VariantCleanup", Cliwtestcases::LIW_VariantCleanup ),
- ENTRY( "LIW_ASYNC_001", Cliwtestcases::LIW_ASYNC_001 ),
- ENTRY( "LIW_ASYNC_002", Cliwtestcases::LIW_ASYNC_002 ),
- ENTRY( "LIW_ASYNC_003", Cliwtestcases::LIW_ASYNC_003 ),
- ENTRY( "LIW_ASYNC_004", Cliwtestcases::LIW_ASYNC_004 ),
- ENTRY( "LIW_ASYNC_LongServiceCmd", Cliwtestcases::LIW_ASYNC_LongServiceCmd ),
- ENTRY( "LIW_ASYNC_LongInterface", Cliwtestcases::LIW_ASYNC_LongInterface ),
- ENTRY( "LIW_ASYNC_LongInterface1", Cliwtestcases::LIW_ASYNC_LongInterface1 ),
- ENTRY( "LIW_ASYNC_LongInvalidServiceCmd", Cliwtestcases::LIW_ASYNC_LongInvalidServiceCmd ),
- ENTRY( "LIW_ASYNC_LongInvalidInterface", Cliwtestcases::LIW_ASYNC_LongInvalidInterface ),
- ENTRY( "LIW_ParamCleanup1", Cliwtestcases::LIW_ParamCleanup1 ),
- ENTRY( "LIW_GetInterest", Cliwtestcases::LIW_GetInterest ),
- ENTRY( "LIW_Defaut_list_externalize", Cliwtestcases::LIW_Defaut_list_externalize ),
- ENTRY( "LIW_DATA_TYPES_013_A", Cliwtestcases::LIW_DATA_TYPES_013_A ),
- ENTRY( "LIW_DATA_TYPES_015_A", Cliwtestcases::LIW_DATA_TYPES_015_A ),
- ENTRY( "LIW_DATA_TYPES_015", Cliwtestcases::LIW_DATA_TYPES_015 ),
- ENTRY( "LIW_DATA_GenericParamList", Cliwtestcases::LIW_DATA_GenericParamList ),
- ENTRY( "LIW_DATA_NewLOverLoad", Cliwtestcases::LIW_DATA_NewLOverLoad )
-
- //ADD NEW ENTRY HERE
- // [test cases entries] - Do not remove
-
- };
-
- const TInt count = sizeof( KFunctions ) /
- sizeof( TStifFunctionInfo );
-
- return RunInternalL( KFunctions, count, aItem );
-
- }
-
-// -----------------------------------------------------------------------------
-// Cliwtestcases::ExampleL
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt Cliwtestcases::ExampleL( CStifItemParser& aItem )
- {
-
- // Print to UI
- _LIT( Kliwtestcases, "liwtestcases" );
- _LIT( KExample, "In Example" );
- TestModuleIf().Printf( 0, Kliwtestcases, KExample );
- // Print to log file
- iLog->Log( KExample );
-
- TInt i = 0;
- TPtrC string;
- _LIT( KParam, "Param[%i]: %S" );
- while ( aItem.GetNextString ( string ) == KErrNone )
- {
- TestModuleIf().Printf( i, Kliwtestcases,
- KParam, i, &string );
- i++;
- }
-
- return KErrNone;
-
- }
-
-// ---------------------------------------------------------
-// Test Case Deffinition for LIW Data Types
-//
-// ---------------------------------------------------------
-TBool Cliwtestcases::LIW_DATA_TYPES_001()
- {
- TBool flag = 0;
- /*Testing String Based Command*/
- //LoadL();
- TLiwGenericParam param;
- param.Value().Set(KLIW_DATA_TYPES_001);
- param.SetNameL(KTestPARAMNanmeTC1);
- CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
- CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL());
- inps->AppendL(param);
- param.Reset();
-
- // Get the Test result from MyServiceName provider "ExecuteServiceCmdL"
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, KTestCommandTC1, KContentTypeTxt);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
- iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps);
- CleanupStack::PopAndDestroy(crit); // crit
-
- TInt pos = 0;
- outps->FindFirst(pos, EGenericParamError);
- if(pos != KErrNotFound)
- if ((*outps)[pos].Value().AsTInt32() == KErrNone)
- {
- flag = 1;
- }
- else
- {
- flag = 0;
- }
- else
- {
- flag = 0;
- }
-
- // Detach The MyServiceName Provider
- //iServiceHandler->DetachL(interest);
- //CleanupStack::PopAndDestroy(criteria);
- //CleanupStack::PopAndDestroy(&interest);
- return !flag;
- }
-
-TBool Cliwtestcases::LIW_DATA_TYPES_002()
- {
- TBool flag = 0;
- /*Testing Boolean data Type*/
-
- //LoadL();
-
- TLiwGenericParam param;
- param.Value().Set(KLIW_DATA_TYPES_002);
- param.SetNameL(KTestPARAMNanmeTC1);
- CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
- CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL());
- inps->AppendL(param);
- param.Reset();
-
- // Set up Tbool varient and append TBool parameter (EGenericParamError).
- // One Argument constructer
- TLiwVariant boolVarient(ETrue);
- // Test TLiwVariant::SetL(TLiwVariant&)
- TLiwGenericParam boolParam(EGenericParamError);
- boolParam.Value().SetL(boolVarient);
-
- inps->AppendL(boolParam);
-
- boolVarient.Reset();
- boolParam.Reset();
-
- // Call ExecuteServiceCmdL TO GET THE RESULT
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, KTestCommandTC1, KContentTypeTxt);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
- iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps);
- CleanupStack::PopAndDestroy(crit); // crit
-
- // CHECK RESULT
- TInt pos = 0;
- outps->FindFirst(pos, EGenericParamError);
-
- if(pos != KErrNotFound)
- if ((*outps)[pos].Value().AsTInt32() == KErrNone)
- flag = 1;
- else
- flag = 0;
- else
- flag = 0;
-
- return !flag;
- }
-
-TBool Cliwtestcases::LIW_DATA_TYPES_003( )
- {
- TBool flag = 0;
- CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
- CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL());
-
- //LoadL();
-
- /*Testing List Data Type for TLiwVariant interface and container interface*/
- TLiwGenericParam param;
- param.Value().Set(KLIW_DATA_TYPES_003);
- param.SetNameL(KTestPARAMNanmeTC1);
- inps->AppendL(param);
- param.Reset();
- /*Checks Default constructer "CLiwDefaultList" Creation*/
- CLiwList* listType = CLiwDefaultList::NewL();
-
- /*Create list of 10 integer Varient Checks CLiwList::AppendL*/
- TLiwVariant intVairent;
- for (TInt32 index = 100; index < 110; index++)
- {
- intVairent.Set(index);
- listType->AppendL(intVairent);
- }
-
- /*Checks CLiwList::TLiwVariant.Set(CLiwList*)*/
- param.Value().Set(listType);
- param.SetNameL(_L8("IntegerList"));
- inps->AppendL(param);
-
- intVairent.Reset();
- param.Reset();
-
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, KTestCommandTC1, KContentTypeTxt);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
- iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps);
- CleanupStack::PopAndDestroy(crit); // crit
-
- TInt pos = 0;
- TBool result = FALSE;
- listType->Remove(listType->Count() - 1);
- outps->FindFirst(pos, _L8("IntegerList"));
- if(pos != KErrNotFound)
- {
- const CLiwList* resultList = (*outps)[pos].Value().AsList();
- if(resultList != NULL )
- {
- if(resultList->Count() == listType->Count() && listType->Size() == resultList->Size())
- {
- result = TRUE;
- }
- }
- }
- /*Decrement count to delete the instance of list its self managed memory allocation*/
- if (listType) listType->DecRef();
- pos = 0;
- outps->FindFirst(pos, EGenericParamError);
-
- if(pos != KErrNotFound)
- if ((*outps)[pos].Value().AsTInt32() == KErrNone && result)
- flag = 1;
- else
- flag = 0;
- else
- flag = 0;
-
- // Detach The MyServiceName Provider
- //iServiceHandler->DetachL(interest);
- //CleanupStack::PopAndDestroy(criteria);
- //CleanupStack::PopAndDestroy(&interest);
-
- return !flag;
- }
-
-TBool Cliwtestcases::LIW_DATA_TYPES_004( )
- {
- TBool flag = 0;
- CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
- CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL());
-
- /*Testing List Data Type for TLiwVariant interface and container interface*/
- TLiwGenericParam param;
- param.Value().Set(KLIW_DATA_TYPES_004);
- param.SetNameL(KTestPARAMNanmeTC1);
- inps->AppendL(param);
- param.Reset();
- /*Checks Default constructer "CLiwDefaultMap" Creation*/
- CLiwMap* mapType = CLiwDefaultMap::NewL();
-
- /*Create Map of 10 integer Varient Checks CLiwMap::InsertL*/
- TLiwVariant contactNbr;
- TBuf8<32> contactName;
- for (TInt32 index = 100; index < 110; index++)
- {
- contactName.Format(KContact, index - 99);
- contactNbr.Set(index);
- mapType->InsertL(contactName, contactNbr);
- }
-
- /*Checks CLiwList::TLiwVariant.Set(CLiwMap*)*/
- param.Value().Set(mapType);
- param.SetNameL(_L8("ContactNumbers"));
- inps->AppendL(param);
-
- contactNbr.Reset();
- param.Reset();
-
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, KTestCommandTC1, KContentTypeTxt);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
- iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps);
- CleanupStack::PopAndDestroy(crit); // crit
-
- TInt pos = 0;
- TBool result = FALSE;
- mapType->Remove(_L8("Contact 10"));
- outps->FindFirst(pos, _L8("ContactNumbers"));
- if(pos != KErrNotFound)
- {
- const CLiwMap* resultMap = (*outps)[pos].Value().AsMap();
- if(resultMap != NULL )
- {
- if( resultMap->Count() == mapType->Count() && mapType->Size() == resultMap->Size())
- {
- result = TRUE;
- }
- }
- }
- /*Decrement count to delete the instance of Map its self managed memory allocation*/
- if (mapType) mapType->DecRef();
-
- pos = 0;
- outps->FindFirst(pos, EGenericParamError);
-
- if(pos != KErrNotFound)
- if ((*outps)[pos].Value().AsTInt32() == KErrNone && result)
- flag = 1;
- else
- flag = 0;
- else
- flag = 0;
-
- return !flag;
- }
-
-TBool Cliwtestcases::LIW_DATA_TYPES_005( )
- {
- TBool flag = 0;
- CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
- CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL());
-
- /*Testing List Data Type for TLiwVariant interface and container interface*/
- TLiwGenericParam param;
- param.Value().Set(KLIW_DATA_TYPES_005);
- param.SetNameL(KTestPARAMNanmeTC1);
- inps->AppendL(param);
- param.Reset();
-
- /*Checks Default constructer "CLiwDefaultMap" and "CLiwDefaultMap" Creation*/
- CLiwMap* mapType = CLiwDefaultMap::NewL();
- CLiwList* listType = CLiwDefaultList::NewL();
-
- /*Create list of 10 integer Varient Checks CLiwList::AppendL*/
- TLiwVariant intVairent;
- for (TInt32 index2 = 100; index2 < 110; index2++)
- {
- intVairent.Set(index2);
- listType->AppendL(intVairent);
- }
-
- TBuf8<32> listName;
- TLiwVariant listVarient;
- listVarient.Set(listType);
-
- for (TInt32 index = 1; index < 11; index++)
- {
- listName.Format(KContact, index);
- mapType->InsertL(listName, listVarient);
- }
-
- listVarient.Reset();
- /*Checks CLiwList::TLiwVariant.Set(CLiwMap*)*/
- param.Value().Set(mapType);
- param.SetNameL(_L8("MapOfLists"));
-
- inps->AppendL(param);
-
- param.Reset();
-
-
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, KTestCommandTC1, KContentTypeTxt);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
- iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps);
- CleanupStack::PopAndDestroy(crit); // crit
-
- //remove the last list (10) and remove the last entry (9)in first List (0)
- mapType->Remove(_L8("Contact 10"));
- mapType->FindL(_L8("Contact 1"), listVarient);
- listVarient.Get(*listType);
- listType->Remove(9);
-
- listVarient.Reset();
-
- TInt pos = 0;
- TBool result = FALSE;
- outps->FindFirst(pos, _L8("MapOfLists"));
- if(pos != KErrNotFound)
- {
- const CLiwMap* resultMap = (*outps)[pos].Value().AsMap();
- if(resultMap != NULL && resultMap->Count() == mapType->Count() && mapType->Size() == resultMap->Size())
- {
- TBuf8<32> mapKey;
- resultMap->AtL(0, mapKey);
- resultMap->FindL(mapKey, listVarient);
- if(listVarient.AsList() != NULL )
- {
- if (listVarient.AsList()->Count() == listType->Count() && listType->Size() == listVarient.AsList()->Size())
- {
- result = TRUE;
- }
- }
- }
- listVarient.Reset();
- }
-
-
- pos = 0;
- outps->FindFirst(pos, EGenericParamError);
-
- if(pos != KErrNotFound)
- if ((*outps)[pos].Value().AsTInt32() == KErrNone && result)
- flag = 1;
- else
- flag = 0;
- else
- flag = 0;
-
- //Decrement count to delete the instance of Map its self managed memory allocation
- inps->Reset();
- outps->Reset();
- if (mapType) mapType->DecRef();
- if (listType) listType->DecRef();
-
- return !flag;
- }
-
-TBool Cliwtestcases::LIW_DATA_TYPES_006( )
- {
- TBool flag = 0;
- CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
- CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL());
- TLiwGenericParam param;
- param.Value().Set(KLIW_DATA_TYPES_006);
- param.SetNameL(KTestPARAMNanmeTC1);
- inps->AppendL(param);
- param.Reset();
-
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, KTestCommandTC1, KContentTypeTxt);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
- iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps);
- CleanupStack::PopAndDestroy(crit); // crit
-
- TInt pos = 0;
- MLiwInterface* ifp = NULL;
- outps->FindFirst(pos, KLIW_DATA_TYPES_006);
- if(pos != KErrNotFound)
- {
- ifp = (*outps)[pos].Value().AsInterface();
- outps->Reset();
- ifp->ExecuteCmdL(KLIW_DATA_TYPES_006, *inps, *outps);
- }
- else
- {
- flag = 0;
- }
- pos = 0;
- outps->FindFirst(pos, EGenericParamError);
- if(pos != KErrNotFound)
- if ((*outps)[pos].Value().AsTInt32() == KErrNone)
- flag = 1;
- else
- flag = 0;
- else
- flag = 0;
-
- if(ifp) ifp->Close();
- inps->Reset();
- outps->Reset();
- return !flag;
- }
-
-TBool Cliwtestcases::LIW_DATA_TYPES_007( )
- {
- TBool flag = 0;
- CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
- TLiwGenericParam param;
- CLiwList* listType = CLiwDefaultList::NewL();
- CLiwMap* mapType = CLiwDefaultMap::NewL();
- listType->AppendL(TLiwVariant(_L8("Testing Stream Operations")));
- mapType->InsertL(KLIW_DATA_TYPES_007, TLiwVariant(listType));
- param.Value().Set(mapType);
- param.SetNameL(KTestPARAMNanmeTC1);
- inps->AppendL(param);
-
- param.Reset();
- if (listType) listType->DecRef();
- if (mapType) mapType->DecRef();
-
- TInt sz = inps->Size();
- TAny* buf = User::AllocL(sz);
- RMemWriteStream ws(buf, sz);
- inps->ExternalizeL(ws);
- RMemReadStream rs(buf, sz);
- CLiwGenericParamList* ltmp = &(iServiceHandler->OutParamListL());
- ltmp->InternalizeL(rs);
- if ((ltmp->Count() == inps->Count()) && ((*inps)[0] == (*ltmp)[0]))
- flag = 1;
- else
- flag = 0;
- User::Free(buf);
- return !flag;
- }
-
-TBool Cliwtestcases::LIW_DATA_TYPES_008( )
- {
- TBool flag = 0;
- /*Checks Default constructer "CLiwDefaultList" Creation*/
- CLiwList* listType = CLiwDefaultList::NewL();
- CLiwList* resultList;
-
- /*Create list of 10 integer Varient Checks CLiwList::AppendL*/
- TLiwVariant intVairent;
- for (TInt32 index = 100; index < 110; index++)
- {
- intVairent.Set(index);
- listType->AppendL(intVairent);
- }
-
- intVairent.Reset();
- TBool result = TRUE;
-
- // Checking Bound conditions
- resultList = listType;
- resultList->Remove(listType->Count() + 1);
- resultList->Remove(-1);
- if (resultList != listType)
- result = FALSE;
- result ? result = !(listType->AtL(listType->Count() + 1, intVairent)): result = FALSE;
- result ? result = !(listType->AtL(-1, intVairent)) : result = FALSE;
-
- if(result == TRUE)
- {
- flag = 1;
- }
- else
- {
- flag = 0;
- }
- /*Decrement count to delete the instance of list its self managed memory allocation*/
- if (listType) listType->DecRef();
- return !flag;
- }
-
-TBool Cliwtestcases::LIW_DATA_TYPES_009( )
- {
- TBool flag = 0;
- /*Checks Default constructer "CLiwDefaultMap" Creation*/
- CLiwMap* mapType = CLiwDefaultMap::NewL();
- CLiwMap* resultMap;
-
- /*Create Map of 10 integer Varient Checks CLiwMap::InsertL*/
- TLiwVariant contactNbr;
- TBuf8<32> contactName;
- for (TInt32 index = 100; index < 110; index++)
- {
- contactName.Format(KContact, index - 99);
- contactNbr.Set(index);
- mapType->InsertL(contactName, contactNbr);
- }
-
- /*Checks CLiwList::TLiwVariant.Set(CLiwMap*)*/
-
- contactNbr.Reset();
- contactName.FillZ();
- contactName.Zero();
- TBool result = TRUE;
-
- // Checking Bound conditions
- resultMap = mapType;
- resultMap->Remove(_L8("Contact 11"));
- if (resultMap != mapType)
- result = FALSE;
- result ? result = !(mapType->AtL(mapType->Count() + 1, contactName)) : result = FALSE;
- result ? result = !(mapType->AtL(-1, contactName) ): result = FALSE;
-
-
- if(result == TRUE)
- {
- flag = 1;
- }
- else
- {
- flag = 0;
- }
- /*Decrement count to delete the instance of list its self managed memory allocation*/
- if (mapType) mapType->DecRef();
- return !flag;
- }
-
-TBool Cliwtestcases::LIW_Map_AtL_New( )
- {
- TBool flag = 0;
- /*Checks Default constructer "CLiwDefaultMap" Creation*/
- CLiwDefaultMap* mapType = CLiwDefaultMap::NewL();
- CLiwDefaultMap* resultMap;
-
- /*Create Map of 10 integer Varient Checks CLiwMap::InsertL*/
- TLiwVariant contactNbr;
- TBuf8<32> contactName;
- for (TInt32 index = 100; index < 110; index++)
- {
- contactName.Format(KContact, index - 99);
- contactNbr.Set(index);
- mapType->InsertL(contactName, contactNbr);
- }
-
- /*Checks CLiwList::TLiwVariant.Set(CLiwMap*)*/
-
- contactNbr.Reset();
- contactName.FillZ();
- contactName.Zero();
- TBool result = TRUE;
-
- // Checking Bound conditions
- resultMap = mapType;
- resultMap->Remove(_L8("Contact 11"));
- if (resultMap != mapType)
- result = FALSE;
-
- TRAPD(err1, contactName = mapType->AtL(mapType->Count() + 1));
-
- //result ? result = !(contactName.operator==(KNullDesC8)) : result = FALSE;
-
- TRAPD(err2, contactName = mapType->AtL(-1));
-
- //result ? result = !(contactName.operator==(KNullDesC8)): result = FALSE;
-
- if(err1 && err2)
- flag = 1;
- else
- flag = 0;
-
-
- /*
- if(err)
- flag = 0;
-
- if(result == TRUE)
- {
- flag = 1;
- }
- else
- {
- flag = 0;
- }
- */
-
- //Decrement count to delete the instance of list its self managed memory allocation
- if (mapType) mapType->DecRef();
- return !flag;
- }
-
-TBool Cliwtestcases::LIW_DATA_TYPES_010()
- {
- TBool flag = 0;
- /*Testing Unsigned Integer data Type*/
- TLiwGenericParam param;
- param.Value().Set(KLIW_DATA_TYPES_010);
- param.SetNameL(KTestPARAMNanmeTC1);
- CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
- CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL());
- inps->AppendL(param);
- param.Reset();
-
- // Set up Tbool varient and append Unsigned Integer parameter (EGenericParamError).
- // One Argument constructer
- TUint arg = 10;
- TLiwVariant uIntVarient(arg);
- // Test TLiwVariant::SetL(TLiwVariant&)
- TLiwGenericParam uIntParam(EGenericParamError);
- uIntParam.Value().SetL(uIntVarient);
-
- inps->AppendL(uIntParam);
-
- uIntVarient.Reset();
- uIntParam.Reset();
-
- // Call ExecuteServiceCmdL TO GET THE RESULT
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, KTestCommandTC1, KContentTypeTxt);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
- iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps);
- CleanupStack::PopAndDestroy(crit); // crit
-
- // CHECK RESULT
- TInt pos = 0;
- outps->FindFirst(pos, EGenericParamError);
-
- if(pos != KErrNotFound)
- {
- if ((*outps)[pos].Value().AsTInt32() == KErrNone)
- {
- flag = 1;
- }
- else
- {
-
- flag = 0;
- }
- }
- else
- {
-
- flag = 0;
- }
- return !flag;
- }
-
-//CHECK FROM HERE
-
-TBool Cliwtestcases::LIW_DATA_TYPES_011()
- {
- TBool flag = 0;
- TLiwGenericParam param;
- param.Value().Set(KLIW_DATA_TYPES_011);
- param.SetNameL(KTestPARAMNanmeTC1);
- CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
- CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL());
- inps->AppendL(param);
- param.Reset();
-
- // Call ExecuteServiceCmdL TO GET THE RESULT
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, KTestCommandTC1, KContentTypeTxt);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
- iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps);
- CleanupStack::PopAndDestroy(crit); // crit
-
- // CHECK RESULT
- TInt pos = 0;
- outps->FindFirst(pos, EGenericParamError);
-
- if(pos != KErrNotFound)
- {
- if ((*outps)[pos].Value().AsTInt32() == KErrNone)
- {
-
- _LIT8(KIter,"Iterator");
- TInt iterPos=0;
- outps->FindFirst(iterPos, KIter);
- if(pos != KErrNotFound)
- {
- CLiwIterable* pIter=(*outps)[iterPos].Value().AsIterable();
-
- //Iterate over the list
- TLiwVariant var;
-
- while(EFalse != pIter->NextL(var))
- {
- TPtrC8 entry;
- var.Get(entry);
-
- if(0==entry.Length())
- {
- flag = 0;
- }
- }
-
- var.Reset();
-
- }
- else
- {
- flag = 0;
- }
-
- flag = 1;
- }
- else
- {
- flag = 0;
- }
- }
- else
- {
-
- flag = 0;
- }
- return !flag;
- }
-
- TBool Cliwtestcases::LIW_DATA_TYPES_012()
- {
- TBool flag = 0;
- TLiwGenericParam param;
- param.Value().Set(KLIW_DATA_TYPES_012);
- param.SetNameL(KTestPARAMNanmeTC1);
- CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
- CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL());
- inps->AppendL(param);
- param.Reset();
-
- // Call ExecuteServiceCmdL TO GET THE RESULT
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, KTestCommandTC1, KContentTypeTxt);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
- iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps);
- CleanupStack::PopAndDestroy(crit); // crit
-
- // CHECK RESULT
- TInt pos = 0;
- outps->FindFirst(pos, EGenericParamError);
-
- if(pos != KErrNotFound)
- {
- if ((*outps)[pos].Value().AsTInt32() == KErrNone)
- {
- flag = 1;
- }
- else
- {
- flag = 0;
- }
- }
- else
- {
-
- flag = 0;
- }
- return !flag;
- }
-
-
- TBool Cliwtestcases::LIW_DATA_TYPES_013()
- {
- TBool flag = 0;
- CLiwList* pList = CLiwDefaultList::NewL();
-
- {
- TLiwVariant intVairent;
- for (TInt32 index = 100; index < 110; index++)
- {
- intVairent.Set(index);
- pList->AppendL(intVairent);
- }
- }
-
- if(EFalse == (pList->operator==(*pList)))
- {
- flag = 0;
- }
-
- CLiwList* pAnotherList = CLiwDefaultList::NewL();
-
- {
- TLiwVariant intVairent;
- for (TInt32 index = 100; index < 110; index++)
- {
- intVairent.Set(index);
- pAnotherList->AppendL(intVairent);
- }
- }
-
-
- if(EFalse == (pList->operator==(*pAnotherList)))
- {
- flag = 0;
- }
-
- pAnotherList->Remove(0);
-
- if(EFalse == (pList->operator==(*pAnotherList)))
- {
- flag = 1;
- }
- else
- {
- flag = 0;
- }
- if(pList) pList->DecRef();
- if(pAnotherList) pAnotherList->DecRef();
- return !flag;
- }
-
-TBool Cliwtestcases::LIW_DATA_TYPES_014()
- {
- TBool flag = 0;
- CLiwMap* pMap = CLiwDefaultMap::NewL();
-
- {
- /*Create Map of 10 integer Varient Checks CLiwMap::InsertL*/
- TLiwVariant contactNbr;
- TBuf8<32> contactName;
- for (TInt32 index = 100; index < 110; index++)
- {
- contactName.Format(KContact, index - 99);
- contactNbr.Set(index);
- pMap->InsertL(contactName, contactNbr);
- }
- }
-
- if(EFalse == (pMap->operator==(*pMap)))
- {
- flag = 0;
- }
-
- CLiwMap* pAnotherMap = CLiwDefaultMap::NewL();
- TBuf8<32> keyToRem;
-
- {
- /*Create Map of 10 integer Varient Checks CLiwMap::InsertL*/
- TLiwVariant contactNbr;
- TBuf8<32> contactName;
- for (TInt32 index = 100; index < 110; index++)
- {
- contactName.Format(KContact, index - 99);
- contactNbr.Set(index);
- pAnotherMap->InsertL(contactName, contactNbr);
-
- if(100==index)
- keyToRem.Copy(contactName);
- }
- }
-
- if(EFalse == (pMap->operator==(*pAnotherMap)))
- {
- flag = 0;
- }
-
- pAnotherMap->Remove(keyToRem);
-
- if(EFalse == (pMap->operator==(*pAnotherMap)))
- {
- flag = 1;
- }
- else
- {
- flag = 0;
- }
- if(pMap) pMap->DecRef();
- if(pAnotherMap) pAnotherMap->DecRef();
- return !flag;
- }
-
-TBool Cliwtestcases::LIW_DATA_TYPES_015()
- {
-
- TBool flag = 1;
- TInt32 intVal=10;
- TLiwVariant intVar((TInt32)intVal);
-
- {//integer check
- TInt32 intRet;
- intVar.Get(intRet);
-
- Dump(intVar);
-
- if(intRet!=intVal)
- {
- flag = 0;
- }
-
- }
-
- {//RFile check
- RFile fileRet;
- if(EFalse!=intVar.Get(fileRet))
- {
- flag = 0;
- }
- fileRet.Close();
- }
-
- {//Uid check
- TUid uidRet;
- if(EFalse!=intVar.Get(uidRet))
- {
- flag = 0;
- }
- }
-
- {//TUint check
- TUint uintRet;
- if(EFalse==intVar.Get(uintRet))
- {
- flag = 0;
- }
- }
-
- {//TBool check
- TBool boolRet=EFalse;
- if(EFalse!=intVar.Get(boolRet))
- {
- flag = 0;
- }
- }
-
- {//TPtrC check
- TPtrC ptrcRet;
- if(EFalse!=intVar.Get(ptrcRet))
- {
- flag = 0;
- }
- }
-
- {//TTime check
- TTime timeRet;
- if(EFalse!=intVar.Get(timeRet))
- {
- flag = 0;
- }
- }
-
- {//TPtrC8 check
- TPtrC8 ptrcRet;
- if(EFalse!=intVar.Get(ptrcRet))
- {
- flag = 0;
- }
- }
-
- {
- TLiwVariant boolVar((TBool)EFalse);
-
- /*TInt32 intRet;
- if(EFalse!=boolVar.Get((TInt32)intRet))
- {
- flag = 0;
- }*/
- }
-
- {//TInt64 check
- TInt64 int64Ret;
- if(EFalse==intVar.Get(int64Ret))
- {
- flag = 0;
- }
- }
-
- {//TReal check
- TReal realRet;
- if(EFalse==intVar.Get(realRet))
- {
- flag = 0;
- }
- }
- return !flag;
- }
-
-TBool Cliwtestcases::LIW_DATA_TYPES_016()
-{
- TBool flag = 1;
- TInt32 intVal=10;
- TLiwVariant intVar((TInt32)intVal);
-
- {//AsList check
- const CLiwList* pRetList=intVar.AsList();
-
- if(NULL!=pRetList)
- {
- flag = 0;
- }
- }
-
- {//AsMap check
- const CLiwMap* pRetMap=intVar.AsMap();
-
- if(NULL!=pRetMap)
- {
- flag = 0;
- }
- }
-
- {//AsIterable check
- CLiwIterable* pRet=intVar.AsIterable();
-
- if(NULL!=pRet)
- {
- flag = 0;
- }
- }
-
- {//AsInterface check
- MLiwInterface* pRet=intVar.AsInterface();
-
- if(NULL!=pRet)
- {
- flag = 0;
- }
- }
-
- {//AsFileHandle check
- RFile pRet=intVar.AsFileHandle();
-
- //Don't check pRet for RFile
- }
-
- {
- CLiwBuffer* pRet = intVar.AsBuffer();
- if(NULL!=pRet)
- {
- flag = 0;
- }
- }
-
- {
- TInt64 pRet = intVar.AsTInt64();
- if(pRet != NULL)
- flag = 1;
- }
-
- {
- const TTime pRet = intVar.AsTTime();
- }
-
- {
- TUid pRet = intVar.AsTUid();
- }
-
- {
- TBool pRet = intVar.AsTBool();
- }
- return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_017()
-{
- TBool flag = 0;
- TInt intServiceCmd=100;
- CLiwCriteriaItem* criteria = CLiwCriteriaItem::NewLC(1, intServiceCmd, KContentTypeTxt);
-
- TBuf8<8> retStr=criteria->ServiceCmdStr();
- if(0!=retStr.Length())
- {
- CleanupStack::PopAndDestroy(criteria);
- flag = 0;
- }
-
- if(intServiceCmd==criteria->ServiceCmd())
- {
- CleanupStack::PopAndDestroy(criteria);
- flag = 1;
- }
- return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_018()
-{
- TBool flag = 1;
- CLiwCriteriaItem* criteria = CLiwCriteriaItem::NewL();
- CleanupStack::PushL(criteria);
-
-
- TBuf8<8> retStr=criteria->ServiceCmdStr();
- if(0!=retStr.Length())
- {
- flag = 0;
- }
-
- if(0!=criteria->ServiceCmd())
- {
- flag = 0;
- }
-
- CleanupStack::PopAndDestroy(criteria);
-
- return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_019()
-{
- TBool flag = 0;
- /*Testing String Based Command*/
- RCriteriaArray interest;
- CleanupClosePushL(interest);
-
- CLiwCriteriaItem* criteria = CLiwCriteriaItem::NewLC(1, KTestCommandTC1, KContentTypeTxt);
-
- criteria->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- interest.AppendL(criteria);
-
- // Attach the MyServiceName provider to the LIW framework.
- TInt status = iServiceHandler->AttachL(interest);
-
- TLiwGenericParam param;
- param.Value().Set(KLIW_DATA_TYPES_019);
- param.SetNameL(KTestPARAMNanmeTC1);
- CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
- CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL());
- inps->AppendL(param);
- param.Reset();
-
- // Get the Test result from MyServiceName provider "ExecuteServiceCmdL"
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, KTestCommandTC1, KContentTypeTxt);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
- iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps);
- CleanupStack::PopAndDestroy(crit); // crit
-
-
- TInt pos = 0;
- outps->FindFirst(pos, EGenericParamError);
-
- if(pos != KErrNotFound)
- {
- if ((*outps)[pos].Value().AsTInt32() == KErrNone)
- {
- flag = 1;
- }
- else
- {
-
- flag = 0;
- }
- }
- else
- {
- flag = 0;
- }
-
- // Detach The MyServiceName Provider
- iServiceHandler->DetachL(interest);
-
- CleanupStack::PopAndDestroy(criteria);
- CleanupStack::PopAndDestroy(&interest);
- return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_020()
-{
- TBool flag = 1;
- TLiwVariant lhsVar;
- TLiwVariant rhsVar;
-
- if(EFalse == (lhsVar==rhsVar))
- {
- //Not matching - test case fails
- flag = 0;
- }
-
-
- {//For TUint check
- lhsVar.Set(TUint(10));
- rhsVar.Set(TUint(0));
-
- if(EFalse != (lhsVar==rhsVar))
- {
- //Not matching - test case fails
- flag = 0;
- }
-
- rhsVar.Set(TUint(10));
-
- //should match this time
- if(EFalse == (lhsVar==rhsVar))
- {
- flag = 0;
- }
-
- }
-
- {//For TInt32 check
- lhsVar.Set(TInt32(10));
- rhsVar.Set(TInt32(0));
-
- if(EFalse != (lhsVar==rhsVar))
- {
- //Not matching - test case fails
- flag = 0;
- }
-
- rhsVar.Set(TInt32(10));
-
- //should match this time
- if(EFalse == (lhsVar==rhsVar))
- {
- //Not matching - test case fails
- flag = 0;
- }
-
- }
-
- {//For TBool check
- lhsVar.Set(TBool(EFalse));
- rhsVar.Set(TBool(ETrue));
-
- if(EFalse != (lhsVar==rhsVar))
- {
- //Not matching - test case fails
- flag = 0;
- }
-
- rhsVar.Set(TBool(EFalse));
-
- //should match this time
- if(EFalse == (lhsVar==rhsVar))
- {
- //Not matching - test case fails
- flag = 0;
- }
-
- }
-
- {//For TTime check
- lhsVar.Set(TTime(100));
- rhsVar.Set(TTime(200));
-
- if(EFalse != (lhsVar==rhsVar))
- {
- //Not matching - test case fails
- flag = 0;
- }
-
- rhsVar.Set(TTime(100));
-
- //should match this time
- if(EFalse == (lhsVar==rhsVar))
- {
- //Not matching - test case fails
- flag = 0;
- }
-
- }
- return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_021()
-{
- TBool flag = 1;
- /*
- TLiwGenericParam param;
- param.Value().Set(KLIW_DATA_TYPES_001);
- param.SetNameL(KTestPARAMNanmeTC1);
- */
-
- //CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
- CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL());
-
- //inps->AppendL(param);
- //param.Reset();
-
- TInt pos = -1;
- outps->FindFirst(pos, EGenericParamError);
-
-
- if(pos != KErrNotFound)
- {
- flag = 0;
- }
-
- pos = 0;
- outps->FindFirst(pos, EGenericParamError);
- if(pos != KErrNotFound)
- {
- flag = 0;
- }
-
- pos = -1;
- outps->FindNext(pos, EGenericParamError);
-
- if(pos != KErrNotFound)
- {
- flag = 0;
- }
-
- pos = 0;
- outps->FindNext(pos, EGenericParamError);
- if(pos != KErrNotFound)
- {
- flag = 0;
- }
- return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_022()
-{
- TBool flag = 0;
- TLiwGenericParam param;
- param.Value().Set(TInt32(100));
-
- Dump(param.Value());
-
- param.SetNameL(KTestPARAMNanmeTC1);
-
- CLiwGenericParamList* pParamList = CLiwGenericParamList::NewLC();
- pParamList->AppendL(param);
-
- CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
-
- inps->AppendL(*pParamList);
-
- TInt cnt = inps->Count();
-
- if(cnt != 0)
- {
- flag = 1;
- }
- else
- {
- flag = 0;
- }
-
- param.Reset();
- inps->Reset();
- CleanupStack::PopAndDestroy(pParamList);
- return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_023()
-{
- TBool flag = 0;
- //Reusing LIW_DATA_TYPES_011 test case
- TLiwGenericParam param;
- param.Value().Set(KLIW_DATA_TYPES_011);
-
- Dump(param.Value());
-
- param.SetNameL(KTestPARAMNanmeTC1);
- CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
- CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL());
- inps->AppendL(param);
- param.Reset();
-
- // Call ExecuteServiceCmdL TO GET THE RESULT
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, KTestCommandTC1, KContentTypeTxt);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
- iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps);
- CleanupStack::PopAndDestroy(crit); // crit
-
- // CHECK RESULT
- TInt pos = 0;
- outps->FindFirst(pos, EGenericParamError);
-
- if(pos != KErrNotFound)
- {
- if ((*outps)[pos].Value().AsTInt32() == KErrNone)
- {
-
- _LIT8(KIter,"Iterator");
- TInt iterPos=0;
- outps->FindFirst(iterPos, KIter);
- if(pos != KErrNotFound)
- {
- CLiwIterable* pIter=(*outps)[iterPos].Value().AsIterable();
-
- RWriteStream wstream;
- TRAPD(err,pIter->ExternalizeL(wstream));
-
- if(KErrNotSupported!=err)
- {
- flag = 0;
- }
- else
- {
- flag = 1;
- }
- }
- else
- {
- flag = 0;
- }
- }
- else
- {
- flag = 0;
- }
- }
- else
- {
- flag = 0;
- }
- return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_024()
-{
- TBool flag = 1;
- TLiwVariant intVar(TInt32(100));
- Dump(intVar);
-
- TLiwVariant nullVar;
- Dump(nullVar);
-
- Dump(TLiwVariant(TBool(ETrue)));
-
- TLiwVariant uintVar(TUint(200));
- Dump(uintVar);
-
- Dump(TLiwVariant(TUid::Uid(0x00)));
-
- TLiwVariant timeVar(TTime(100));
- Dump(timeVar);
-
- RFile fHdl;
- TLiwVariant fHdlVar;
- fHdlVar.Set(fHdl);
-
- Dump(fHdlVar);
-
- TBuf8<16> buff(_L8("Hello"));
- TLiwVariant bufVar(buff);
-
- Dump(bufVar);
-
- CLiwList* listType = CLiwDefaultList::NewL();
-
- /*Create list of 10 integer Varient Checks CLiwList::AppendL*/
- TLiwVariant intVairent;
- for (TInt32 index = 100; index < 110; index++)
- {
- intVairent.Set(index);
- listType->AppendL(intVairent);
- }
-
- Dump(TLiwVariant(listType));
-
- listType->DecRef();
-
- CLiwMap* mapType = CLiwDefaultMap::NewL();
-
- /*Create Map of 10 integer Varient Checks CLiwMap::InsertL*/
- TLiwVariant contactNbr;
- TBuf8<32> contactName;
- for (TInt32 index = 100; index < 110; index++)
- {
- contactName.Format(KContact, index - 99);
- contactNbr.Set(index);
- mapType->InsertL(contactName, contactNbr);
- }
-
- Dump(TLiwVariant(mapType));
- mapType->DecRef();
- return !flag;
-}
-
-TBool Cliwtestcases::LIW_CLEANUP_LIW_001()
-{
- TBool flag = 1;
- iServiceHandler->Reset();
- delete iServiceHandler;
- iServiceHandler=NULL;
- return !flag;
-}
-
-//for conversion utils
-TBool Cliwtestcases::LIW_DATA_TYPES_025()
-{
- TLiwVariant a1;
- TUint varUint;
- TInt32 varInt;
- TBool flag = 0;
-
- //conversion check
- //set variant for one type and get it in other types
- varUint = 45;
- a1.Set(varUint); //set TUint
-
- varInt = a1.AsTInt32();
-
- if(varUint == varInt)
- flag = 1;
-
- a1.Reset(); return !flag;
-
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_026()
-{
- TLiwVariant a1;
- TUint varUint;
- TReal varReal;
- TBool flag = 0;
-
- //conversion check
- //set variant for one type and get it in other types
- varUint = 45;
- a1.Set(varUint); //set TUint
-
- varReal = a1.AsTReal();
-
- if(varUint == varReal)
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-
-/*TBool Cliwtestcases::LIW_DATA_TYPES_027()
-{
- TLiwVariant a1;
- TUint varUint;
- TBuf<255> varBuf;
- _LIT(KResult, "45");
- TBool flag = 0;
-
- //conversion check
- //set variant for one type and get it in other types
- varUint = 45;
- a1.Set(varUint); //set TUint
-
- //varBuf = a1.AsDes(); //Does not work. Use Get method
- a1.Get(varBuf);
-
- if(0 == varBuf.Compare(KResult))
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_028()
-{
- TLiwVariant a1;
- TUint varUint;
- TBuf8<255> varBuf8;
- _LIT8(KResult, "45");
- TBool flag = 0;
-
- //conversion check
- //set variant for one type and get it in other types
- varUint = 45;
- a1.Set(varUint); //set TUint
-
- //varBuf8 = a1.AsData();
- a1.Get(varBuf8 );
-
- if(0 == varBuf8.Compare(KResult))
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-*/
-
-TBool Cliwtestcases::LIW_DATA_TYPES_029()
-{
- TLiwVariant a1;
- TBool flag = 0;
- TUint varUint;
- TInt32 varInt;
-
- //conversion check
- //set variant for one type and get it in other types
- varInt = 55;
- a1.Set(varInt); //set TInt
-
- varUint = a1.AsTUint();
-
- if(varUint == varInt)
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_030()
-{
- TLiwVariant a1;
- TInt32 varInt;
- TReal varReal;
- TBool flag = 0;
-
- //conversion check
- //set variant for one type and get it in other types
- varInt = 55;
- a1.Set(varInt); //set TInt
- varReal = a1.AsTReal();
-
- if(varInt == varReal)
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-
-/*
-TBool Cliwtestcases::LIW_DATA_TYPES_031()
-{
- TLiwVariant a1;
- TInt32 varInt;
- TBuf<255> varBuf;
-
- _LIT(KResult, "55");
- TBool flag = 0;
-
- //conversion check
- //set variant for one type and get it in other types
- varInt = 55;
- a1.Set(varInt); //set TInt
-
- //varBuf = a1.AsDes(); //Does not work. Use Get method
- a1.Get(varBuf);
-
- if(0 == varBuf.Compare(KResult))
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_032()
-{
- TLiwVariant a1;
- TInt32 varInt;
- TBuf8<255> varBuf8;
- _LIT8(KResult, "55");
- TBool flag = 0;
-
- //conversion check
- //set variant for one type and get it in other types
- varInt = 55;
- a1.Set(varInt); //set TInt
-
- //varBuf8 = a1.AsData();
- a1.Get(varBuf8 ); a1.Get(varBuf8 );
-
- if(0 == varBuf8.Compare(KResult))
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-*/
-
-TBool Cliwtestcases::LIW_DATA_TYPES_033()
-{
- TLiwVariant a1;
- TUint varUint;
- TReal varReal;
- TBool flag = 0;
-
- //conversion check
- //set variant for one type and get it in other types
- varReal = 65.2345;
- a1.Set(varReal); //set TReal
- varUint = a1.AsTUint();
-
- if(65 == varUint)
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_034()
-{
- TLiwVariant a1;
- TInt32 varInt;
- TReal varReal;
- TBool flag = 0;
-
- //conversion check
- //set variant for one type and get it in other types
- varReal = 65.2345;
- a1.Set(varReal); //set TReal
- varInt = a1.AsTInt32();
-
- if(65 == varInt)
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-
-/*
-TBool Cliwtestcases::LIW_DATA_TYPES_035()
-{
- TLiwVariant a1;
- TReal varReal;
- TBuf<255> varBuf;
- _LIT(KResult, "65.2345");
- TBool flag = 0;
-
- //conversion check
- //set variant for one type and get it in other types
- varReal = 65.2345;
- a1.Set(varReal); //set TReal
-
- //varBuf = a1.AsDes(); //Does not work. Use Get method
- a1.Get(varBuf);
-
- if(0 == varBuf.Compare(KResult))
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_036()
-{
- TLiwVariant a1;
- TReal varReal;
- TBuf8<255> varBuf8;
- _LIT8(KResult, "65.2345");
- TBool flag = 0;
-
- //conversion check
- //set variant for one type and get it in other types
- varReal = 65.2345;
- a1.Set(varReal); //set TReal
- //varBuf8 = a1.AsData();
- a1.Get(varBuf8 );
-
- if(0 == varBuf8.Compare(KResult))
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-*/
-
-TBool Cliwtestcases::LIW_DATA_TYPES_037()
-{
- TLiwVariant a1;
- TReal varUint;
- TBuf8<255> varBuf8;
- _LIT8(KTest, "75");
- TBool flag = 0;
- varBuf8 = KTest;
-
- //conversion check
- //set variant for one type and get it in other types
- a1.Set(varBuf8); //set TDes8
- varUint = a1.AsTUint();
-
- if(75 == varUint)
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_038()
-{
- TLiwVariant a1;
- TInt32 varInt;
- TBuf8<255> varBuf8;
- _LIT8(KTest, "75");
- TBool flag = 0;
- varBuf8 = KTest;
-
- //conversion check
- //set variant for one type and get it in other types
- a1.Set(varBuf8); //set TDes8
- varInt = a1.AsTInt32();
-
- if(75 == varInt)
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_039()
-{
- TLiwVariant a1;
- TReal varReal;
- TBuf8<255> varBuf8;
- _LIT8(KTest, "75.897");
- TBool flag = 0;
- varBuf8 = KTest;
-
- //conversion check
- //set variant for one type and get it in other types
- a1.Set(varBuf8); //set TDes8
- varReal = a1.AsTReal();
-
- if(75.897 == varReal)
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-
-/*
-TBool Cliwtestcases::LIW_DATA_TYPES_040()
-{
- TLiwVariant a1;
- TBuf<255> varBuf;
- TBuf8<255> varBuf8;
- _LIT8(KTest, "test");
- _LIT(KResult, "test");
- TBool flag = 0;
-
- varBuf8 = KTest;
- //conversion check
- //set variant for one type and get it in other types
- a1.Set(varBuf8); //set TDes8
- //varBuf = a1.AsDes(); //Does not work. Use Get method
- a1.Get(varBuf);
-
- if(0 == varBuf.Compare(KResult))
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-*/
-
-TBool Cliwtestcases::LIW_DATA_TYPES_041()
-{
- TLiwVariant a1;
- TReal varUint;
- TBuf<255> varBuf;
- _LIT(KTest, "75");
- TBool flag = 0;
- varBuf = KTest;
-
- //conversion check
- //set variant for one type and get it in other types
- a1.Set(varBuf); //set TDes
- varUint = a1.AsTUint();
-
- if(75 == varUint)
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_042()
-{
- TLiwVariant a1;
- TInt32 varInt;
- TBuf<255> varBuf;
- _LIT(KTest, "75");
- TBool flag = 0;
- varBuf = KTest;
-
- //conversion check
- //set variant for one type and get it in other types
- a1.Set(varBuf); //set TDes
- varInt = a1.AsTInt32();
-
- if(75 == varInt)
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_043()
-{
- TLiwVariant a1;
- TReal varReal;
- TBuf<255> varBuf;
- _LIT(KTest, "75.897");
- TBool flag = 0;
- varBuf = KTest;
-
- //conversion check
- //set variant for one type and get it in other types
- a1.Set(varBuf); //set TDes
- varReal = a1.AsTReal();
-
- if(75.897 == varReal)
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-
-/*
-TBool Cliwtestcases::LIW_DATA_TYPES_044()
-{
- TLiwVariant a1;
- TBuf<255> varBuf;
- TBuf8<255> varBuf8;
- _LIT(KTest, "test");
- _LIT8(KResult, "test");
- TBool flag = 0;
- varBuf = KTest;
-
- //conversion check
- //set variant for one type and get it in other types
- a1.Set(varBuf); //set TDes
- //varBuf8 = a1.AsData();
- a1.Get(varBuf8 );
-
- if(0 == varBuf8.Compare(KResult))
- flag = 1;
-
- a1.Reset(); return !flag;
-}
-*/
-
-TBool Cliwtestcases::LIW_DATA_TYPES_045()
-{
- TBool flag = 0;
- /*Testing String Based Command*/
- RCriteriaArray interest, providerList;
-
- CLiwCriteriaItem* criteria = CLiwCriteriaItem::NewL(1, KTestCommandTC1, KContentTypeTxt);
- criteria->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- interest.AppendL(criteria);
-
- iServiceHandler->QueryImplementationL(interest, providerList);
-
- if(providerList.Count())
- {
- if(0 == ((*(providerList[0])).ServiceCmdStr().Compare((*criteria).ServiceCmdStr())))
- {
- if(0 == ((*(providerList[0])).ContentType().Compare((*criteria).ContentType())))
- {
- providerList.ResetAndDestroy();
- interest.ResetAndDestroy();
- flag = 1;
- }
-
- }
- }
- else
- {
- providerList.ResetAndDestroy();
- interest.ResetAndDestroy();
- flag = 0;
- }
-
- return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_046()
-{
- TBool flag = 0;
- /*Testing String Based Command*/
- RCriteriaArray interest, providerList;
- _LIT8(KJunkContentTypeTxt, "text");
-
- CLiwCriteriaItem* criteria = CLiwCriteriaItem::NewL(1, KTestCommandTC1, KJunkContentTypeTxt);
- criteria->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- interest.AppendL(criteria);
-
- iServiceHandler->QueryImplementationL(interest, providerList);
-
-
-
-
- if(!providerList.Count())
- {
- flag = 1;
- }
- else
- {
- flag = 0;
- }
-
- providerList.ResetAndDestroy();
- interest.ResetAndDestroy();
- return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_047()
-{
- TBool flag = 0;
- /*Testing String Based Command*/
- RCriteriaArray interest, providerList;
-
- CLiwCriteriaItem* criteria = CLiwCriteriaItem::NewL(1, KWild, KContentTypeTxt);
- criteria->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- interest.AppendL(criteria);
-
- iServiceHandler->QueryImplementationL(interest, providerList);
-
-
-
-
- if(providerList.Count())
- {
- if(0 == ((*(providerList[0])).ContentType().Compare((*criteria).ContentType())))
- {
- providerList.ResetAndDestroy();
- interest.ResetAndDestroy();
- flag = 1;
- }
- }
- else
- {
- providerList.ResetAndDestroy();
- interest.ResetAndDestroy();
- flag = 0;
- }
-
- return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_048()
-{
- TBool flag = 0;
- /*Testing String Based Command*/
- RCriteriaArray interest, providerList;
-
- CLiwCriteriaItem* criteria = CLiwCriteriaItem::NewL(1, KTestCommandTC1, KWild);
- criteria->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- interest.AppendL(criteria);
-
- iServiceHandler->QueryImplementationL(interest, providerList);
-
-
-
-
- if(providerList.Count())
- {
- if(0 == ((*(providerList[0])).ServiceCmdStr().Compare((*criteria).ServiceCmdStr())))
- {
- providerList.ResetAndDestroy();
- interest.ResetAndDestroy();
- flag = 1;
- }
- }
- else
- {
- providerList.ResetAndDestroy();
- interest.ResetAndDestroy();
- flag = 0;
- }
- return !flag;
-}
-
-TBool Cliwtestcases::LIW_DATA_TYPES_049()
-{
- TBool flag = 0;
- /*Testing String Based Command*/
- RCriteriaArray interest, providerList;
-
- CLiwCriteriaItem* criteria = CLiwCriteriaItem::NewL(1, KWild, KWild); //Queries for a list of all the LIW providers present
- criteria->SetServiceClass(TUid::Uid(KLiwClassBase)); //Presently this value is changed to differentiate LIW Providers from other Ecom plug-ins
-
- TReal mini = 2.0;
- TReal maxi = 3.0;
- TLiwVariant mdOption;
- CLiwMap* pMetaDataMap = CLiwDefaultMap::NewL();
- CLiwList* pRangeList = CLiwDefaultList::NewL();
- _LIT8(KVersion,"ver");
- _LIT8(KRange,"range");
-
- pRangeList->AppendL(TLiwVariant(KVersion));
- pRangeList->AppendL(TLiwVariant(TReal(mini)));
- pRangeList->AppendL(TLiwVariant(TReal(maxi)));
-
- pMetaDataMap->InsertL(KRange,pRangeList);
- mdOption.Set(pMetaDataMap);
- criteria->SetMetaDataOptions(mdOption);
-
- pRangeList->DecRef();
- pMetaDataMap->DecRef();
- mdOption.Reset();
-
- interest.AppendL(criteria);
-
- iServiceHandler->QueryImplementationL(interest, providerList); //providerList contains the list of all the LIW providers with metadata information being loaded for each
-
- RCriteriaArray loadCritArray;
-
- for(TInt idx = 0; idx < providerList.Count(); ++idx) // for each provider
- {
- CLiwCriteriaItem* provInfo = providerList[idx];
-
- TUid interfaceId = provInfo->ServiceClass(); //retrieving the service class (interface Id) of the provider
- TPtrC8 intfName = provInfo->ServiceCmdStr(); //retrieving the content type or the interface name of the provider (e.g IDataSource)
- TPtrC8 servName = provInfo->ContentType(); //retrieving the service command name of the provider (e.g s60.Messaging)
- TReal provVersion = 1.0; //since Default version is 1.0 for all the providers
-
- //Creating a criteria using the above extracted information
- CLiwCriteriaItem* item = CLiwCriteriaItem::NewL(1, intfName, servName);
- item->SetServiceClass(interfaceId);
-
- TLiwVariant provMetadata;
- provInfo->GetMetaDataOptions(provMetadata); //getting metadata from the provider (contains version information)
-
- const CLiwMap* metaDataMap = provMetadata.AsMap();
-
- if(metaDataMap)
- {
- _LIT8(KVersionKey,"ver"); //Key name in the metadata map is "ver" (as specified in the provider RSS File)
- TLiwVariant versionVar;
-
- if(metaDataMap->FindL(KVersionKey, versionVar)) //This should be true. If false this means that there is no version information in the provider metadata
- {
- /* ------------------------------------
- | key | value |
- | | |
- | ver | (List) 2.2 |
- -------------------------------------
-
- */
- const CLiwList* pVersionList = versionVar.AsList();
- if(pVersionList)
- {
- TLiwVariant verCheck;
- for(TInt idx=0; idx < pVersionList->Count(); ++idx) //the count is always ZERO. But to be on safer side, I have given the loop
- {
- if(pVersionList->AtL(idx,verCheck)) //Ideally the index should only be Zero. But the version, if exists in any index will be returned now
- {
- provVersion = verCheck.AsTReal(); //The provider version is retrieved from the metadata
-
- //using switch case or if stmts further. This implementation is left to the Consumer's logic. But just a sample is shown below
- if(2.5 == provVersion || 2.4 == provVersion)
- {
- TLiwVariant mdOption1; //Setting the metadata option with the version information.
- CLiwMap* pMetaDataMap = CLiwDefaultMap::NewL();
- CLiwList* pRangeList = CLiwDefaultList::NewL();
- _LIT8(KVersion,"ver"); //Key in metadata for version is "version"
- _LIT8(KRange,"range"); //Since this is an exact version match done in AttachL, hence the key "exact"
-
- pRangeList->AppendL(TLiwVariant(KVersion));
- pRangeList->AppendL(TLiwVariant(provVersion));
- pRangeList->AppendL(TLiwVariant(provVersion));
-
- pMetaDataMap->InsertL(KRange,pRangeList);
- mdOption1.Set(pMetaDataMap);
- item->SetMetaDataOptions(mdOption1); //metadata is set with the version information
-
- pRangeList->DecRef();
- pMetaDataMap->DecRef();
- mdOption1.Reset();
-
- loadCritArray.AppendL(item);
-
- iServiceHandler->DetachL(loadCritArray);
-
- TInt retVal = iServiceHandler->AttachL(loadCritArray); // This just loads the provider sent as input. No version range is to be sent here,
-
- if(retVal >= 0)
- {
- flag = 1;
- }
-
- iServiceHandler->DetachL(loadCritArray);
- }
- else if(2.6 == provVersion)
- {
- // statements
- }
- }
-
- verCheck.Reset();
- }
- }
- }
- versionVar.Reset();
- }
- provMetadata.Reset();
- }
-
- loadCritArray.ResetAndDestroy();
- providerList.ResetAndDestroy();
- interest.ResetAndDestroy();
-
- return !flag;
-}
-
-TBool Cliwtestcases::LIW_MDAT_VER1()
-{
- TBool flag = 0;
- CLiwCriteriaItem* item1 = CLiwCriteriaItem::NewLC(1, KTestCommandTC1, KContentTypeTxt);
- item1->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- TReal mini = 2.0;
- TReal maxi = 3.0;
- TLiwVariant mdOption1;
- CLiwMap* pMetaDataMap = CLiwDefaultMap::NewL();
- CLiwList* pRangeList = CLiwDefaultList::NewL();
- _LIT8(KVersion,"ver");
- _LIT8(KRange,"range");
-
- pRangeList->AppendL(TLiwVariant(KVersion));
- pRangeList->AppendL(TLiwVariant(TReal(mini)));
- pRangeList->AppendL(TLiwVariant(TReal(maxi)));
-
- pMetaDataMap->InsertL(KRange,pRangeList);
- mdOption1.Set(pMetaDataMap);
- item1->SetMetaDataOptions(mdOption1);
-
- pRangeList->DecRef();
- pMetaDataMap->DecRef();
- mdOption1.Reset();
-
- RCriteriaArray critArray, providerList;
-
- critArray.AppendL(item1);
-
- iServiceHandler->QueryImplementationL(critArray, providerList);
-
- TInt status = iServiceHandler->AttachL(providerList);
-
-
- if(status > 0)
- {
- flag = 1;
- }
- else
- {
- flag = 0;
- }
-
- CleanupStack::Pop();
- iServiceHandler->DetachL(providerList);
- critArray.ResetAndDestroy();
- providerList.ResetAndDestroy();
- return !flag;
-}
-
-
-TBool Cliwtestcases::LIW_MDAT_VER2()
-{
- TBool flag = 0;
- CLiwCriteriaItem* item2 = CLiwCriteriaItem::NewLC(2, KTestCommandTC1, KContentTypeTxt);
- item2->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- TReal mini = 0.0;
- TReal maxi = 3.0;
- CLiwMap* pMetaDataMap = CLiwDefaultMap::NewL();
- CLiwList* pRangeList = CLiwDefaultList::NewL();
- TLiwVariant mdOption1;
- _LIT8(KVersion,"ver");
- _LIT8(KRange,"range");
-
- pRangeList->AppendL(TLiwVariant(KVersion));
- pRangeList->AppendL(TLiwVariant(TReal(mini)));
- pRangeList->AppendL(TLiwVariant(TReal(maxi)));
-
- pMetaDataMap->InsertL(KRange,pRangeList);
- mdOption1.Set(pMetaDataMap);
- item2->SetMetaDataOptions(mdOption1);
-
- pRangeList->DecRef();
- pMetaDataMap->DecRef();
- mdOption1.Reset();
-
- RCriteriaArray critArray, providerList;
-
- critArray.AppendL(item2);
-
- iServiceHandler->QueryImplementationL(critArray, providerList);
-
- iServiceHandler->AttachL(providerList);
-
-
- if(providerList.Count() >= 0)
- {
- flag = 1;
- }
- else
- {
- flag = 0;
- }
-
- CleanupStack::Pop();
- iServiceHandler->DetachL(providerList);
- critArray.ResetAndDestroy();
- providerList.ResetAndDestroy();
- return !flag;
-}
-
-
-TBool Cliwtestcases::LIW_MDAT_VER3()
-{
- TBool flag = 0;
- CLiwCriteriaItem* item3 = CLiwCriteriaItem::NewLC(3, KTestCommandTC1, KContentTypeTxt);
- item3->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- TReal mini = 2.0;
- TReal maxi = 0.0;
- CLiwMap* pMetaDataMap = CLiwDefaultMap::NewL();
- CLiwList* pRangeList = CLiwDefaultList::NewL();
- TLiwVariant mdOption1;
- _LIT8(KVersion,"ver");
- _LIT8(KRange,"range");
-
- pRangeList->AppendL(TLiwVariant(KVersion));
- pRangeList->AppendL(TLiwVariant(TReal(mini)));
- pRangeList->AppendL(TLiwVariant(TReal(maxi)));
-
- pMetaDataMap->InsertL(KRange,pRangeList);
- mdOption1.Set(pMetaDataMap);
- item3->SetMetaDataOptions(mdOption1);
-
- pRangeList->DecRef();
- pMetaDataMap->DecRef();
- mdOption1.Reset();
-
- RCriteriaArray critArray, providerList;
-
- critArray.AppendL(item3);
-
- iServiceHandler->QueryImplementationL(critArray, providerList);
-
- iServiceHandler->AttachL(providerList);
-
- if(providerList.Count() >= 0)
- {
- flag = 1;
- }
- else
- {
- flag = 0;
- }
-
- CleanupStack::Pop();
- iServiceHandler->DetachL(providerList);
- critArray.ResetAndDestroy();
- providerList.ResetAndDestroy();
- return !flag;
-}
-
-
-TBool Cliwtestcases::LIW_MDAT_VER4()
-{
- TBool flag = 0;
- CLiwCriteriaItem* item4 = CLiwCriteriaItem::NewLC(4, KTestCommandTC1, KContentTypeTxt);
- item4->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- TReal mini = 0.0;
- TReal maxi = 0.0;
- CLiwMap* pMetaDataMap = CLiwDefaultMap::NewL();
- CLiwList* pRangeList = CLiwDefaultList::NewL();
- TLiwVariant mdOption1;
- _LIT8(KVersion,"ver");
- _LIT8(KRange,"range");
-
- pRangeList->AppendL(TLiwVariant(KVersion));
- pRangeList->AppendL(TLiwVariant(TReal(mini)));
- pRangeList->AppendL(TLiwVariant(TReal(maxi)));
-
- pMetaDataMap->InsertL(KRange,pRangeList);
- mdOption1.Set(pMetaDataMap);
- item4->SetMetaDataOptions(mdOption1);
-
- pRangeList->DecRef();
- pMetaDataMap->DecRef();
- mdOption1.Reset();
-
- RCriteriaArray critArray, providerList;
-
- critArray.AppendL(item4);
-
- iServiceHandler->QueryImplementationL(critArray, providerList);
-
- iServiceHandler->AttachL(providerList);
-
-
- if(providerList.Count() >= 0)
- {
- flag = 1;
- }
- else
- {
- flag = 0;
- }
-
- CleanupStack::Pop();
- iServiceHandler->DetachL(providerList);
- critArray.ResetAndDestroy();
- providerList.ResetAndDestroy();
- return !flag;
-}
-
-TBool Cliwtestcases::LIW_MDAT_VER5()
-{
- TBool flag = 0;
- CLiwCriteriaItem* item5 = CLiwCriteriaItem::NewL();
- item5->SetId(5);
- item5->SetServiceCmdL(KTestCommandTC1);
- item5->SetContentTypeL(KContentTypeTxt);
- item5->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- TReal mini = 3.0;
- TReal maxi = 2.0;
- CLiwMap* pMetaDataMap = CLiwDefaultMap::NewL();
- CLiwList* pRangeList = CLiwDefaultList::NewL();
- TLiwVariant mdOption1;
- _LIT8(KVersion,"ver");
- _LIT8(KRange,"range");
-
- pRangeList->AppendL(TLiwVariant(KVersion));
- pRangeList->AppendL(TLiwVariant(TReal(mini)));
- pRangeList->AppendL(TLiwVariant(TReal(maxi)));
-
- pMetaDataMap->InsertL(KRange,pRangeList);
- mdOption1.Set(pMetaDataMap);
- item5->SetMetaDataOptions(mdOption1);
-
- pRangeList->DecRef();
- pMetaDataMap->DecRef();
- mdOption1.Reset();
-
- RCriteriaArray critArray, providerList;
-
- critArray.AppendL(item5);
-
- iServiceHandler->QueryImplementationL(critArray, providerList);
-
- iServiceHandler->AttachL(providerList);
-
- if(providerList.Count() >= 0)
- {
- flag = 1;
- }
- else
- {
- flag = 0;
- }
-
- iServiceHandler->DetachL(providerList);
- critArray.ResetAndDestroy();
- providerList.ResetAndDestroy();
- return !flag;
-}
-
-TBool Cliwtestcases::LIW_MDAT_CAP1()
-{
- TBool flag = 1;
- //TInt status = 0;
- iServiceHandler->Reset();
- CLiwCriteriaItem* item1 = CLiwCriteriaItem::NewLC(1, KTestCommandTC1, KContentTypeTxt);
- item1->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- TReal mini = 2.0;
- TReal maxi = 5.0;
- TLiwVariant mdOption1;
- CLiwMap* pMetaDataMap = CLiwDefaultMap::NewL();
- CLiwList* pRangeList = CLiwDefaultList::NewL();
- _LIT8(KVersion,"ver");
- _LIT8(KRange,"range");
-
- pRangeList->AppendL(TLiwVariant(KVersion));
- pRangeList->AppendL(TLiwVariant(TReal(mini)));
- pRangeList->AppendL(TLiwVariant(TReal(maxi)));
-
- pMetaDataMap->InsertL(KRange,pRangeList);
- mdOption1.Set(pMetaDataMap);
- item1->SetMetaDataOptions(mdOption1);
-
- pRangeList->DecRef();
- pMetaDataMap->DecRef();
- mdOption1.Reset();
-
- RCriteriaArray critArray, providerList;
-
- critArray.AppendL(item1);
- iServiceHandler->QueryImplementationL(critArray, providerList);
-
-
- // beginning of securitymanager code
-
- CRTSecManager* iSession = CRTSecManager::NewL();
- CTrustInfo* iTrust = CTrustInfo::NewL();
-
- RFs fileSession;
- if(KErrNone==fileSession.Connect())
- {
- CleanupClosePushL(fileSession);
- if(KErrNone==fileSession.ShareProtected())
- {
- RFile secPolicyFile;
- if(KErrNone == secPolicyFile.Open(fileSession, _L("c:\\data\\others\\liwaccesspolicy.xml"), EFileShareAny ))
- {
- CleanupClosePushL(secPolicyFile);
- TPolicyID iPolicyId = iSession->SetPolicy(secPolicyFile);
-
- if(iPolicyId>KErrNone)
- {
- TInt32 exId = iSession->RegisterScript(iPolicyId, *iTrust);
-
- CRTSecMgrScriptSession* scriptSession = NULL;
-
- //#ifdef AUTO_TESTING
- scriptSession = iSession->GetScriptSessionL(iPolicyId, exId, this);
- //#else
- // scriptSession = iSession->GetScriptSessionL(iPolicyId, exId);
- //#endif
-
- //CRTSecMgrScriptSession* scriptSession = iSession->GetScriptSession(iPolicyId,exId);
-
- TInt status = iServiceHandler->AttachL(critArray,*scriptSession);
-
- delete scriptSession;
-
- }
-
- CleanupStack::PopAndDestroy();//secPolicyFile
- }
- }
-
- CleanupStack::PopAndDestroy();//fileSession
-
- }
-
- delete iTrust;
- delete iSession;
- // end of securitymanager code
-
-
- if(providerList.Count())
- {
- flag = 1;
- }
- else
- {
- flag = 0;
- }
-
- CleanupStack::Pop(item1);
- critArray.ResetAndDestroy();
- providerList.ResetAndDestroy();
- return !flag;
-}
-
-TBool Cliwtestcases::LIW_MDAT_CAP2()
-{
- TBool flag = 0;
- TInt status = 0;
- iServiceHandler->Reset();
- CLiwCriteriaItem* item1 = CLiwCriteriaItem::NewLC(1, KTestCommandTC1, KContentTypeTxt);
- item1->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- TReal mini = 5.0;
- TReal maxi = 7.0;
- TLiwVariant mdOption1;
- CLiwMap* pMetaDataMap = CLiwDefaultMap::NewL();
- CLiwList* pRangeList = CLiwDefaultList::NewL();
- _LIT8(KVersion,"ver");
- _LIT8(KRange,"range");
-
- pRangeList->AppendL(TLiwVariant(KVersion));
- pRangeList->AppendL(TLiwVariant(TReal(mini)));
- pRangeList->AppendL(TLiwVariant(TReal(maxi)));
-
- pMetaDataMap->InsertL(KRange,pRangeList);
- mdOption1.Set(pMetaDataMap);
- item1->SetMetaDataOptions(mdOption1);
-
- pRangeList->DecRef();
- pMetaDataMap->DecRef();
- mdOption1.Reset();
-
- RCriteriaArray critArray, providerList;
-
- critArray.AppendL(item1);
-
- // beginning of securitymanager code
-
- CRTSecManager* iSession = CRTSecManager::NewL();
- CTrustInfo* iTrust = CTrustInfo::NewL();
-
- RFs fileSession;
- if(KErrNone==fileSession.Connect())
- {
- CleanupClosePushL(fileSession);
- if(KErrNone==fileSession.ShareProtected())
- {
- RFile secPolicyFile;
- if(KErrNone == secPolicyFile.Open(fileSession, _L("c:\\data\\Others\\AccessPolicy_V1.xml"), EFileShareAny ))
- {
- CleanupClosePushL(secPolicyFile);
- TPolicyID iPolicyId = iSession->SetPolicy(secPolicyFile);
-
- if(iPolicyId>KErrNone)
- {
- TInt32 exId = iSession->RegisterScript(iPolicyId, *iTrust);
- CRTSecMgrScriptSession* scriptSession = iSession->GetScriptSessionL(iPolicyId,exId);
-
- iServiceHandler->QueryImplementationL(critArray, providerList);
-
- status = iServiceHandler->AttachL(critArray,*scriptSession);
-
- delete scriptSession;
- }
-
- CleanupStack::PopAndDestroy();//secPolicyFile
- }
- }
-
- CleanupStack::PopAndDestroy();//fileSession
- }
-
- delete iTrust;
- delete iSession;
- // end of securitymanager code
-
- if(!status > 0)
- {
- flag = 1;
- }
- else
- {
- flag = 0;
- }
-
- CleanupStack::Pop(item1);
- critArray.ResetAndDestroy();
- providerList.ResetAndDestroy();
- return !flag;
-}
-
-TBool Cliwtestcases::LIW_ContainerCleanup()
-{
-
- __UHEAP_MARK;
- _LIT(KName,"Name");
- TLiwVariant variant(KName());
- CLiwMap* map = CLiwDefaultMap::NewL();
- CLiwList *listTemp = CLiwDefaultList::NewL();
- map->PushL();
- listTemp->PushL();
- //CleanupClosePushL(*map);
- //CleanupClosePushL(*listTemp);
- map->InsertL(KNullDesC8,variant);
- TRAP_IGNORE(TestL(map));
- CleanupStack::PopAndDestroy(listTemp);
- CleanupStack::PopAndDestroy(map);
- __UHEAP_MARKEND;
-
- return KErrNone;
-}
-
-void Cliwtestcases::TestL(CLiwMap *map)
-{
- CLiwGenericParamList* param = CLiwGenericParamList::NewLC();
- param->AppendL(TLiwGenericParam(KNullDesC8,TLiwVariant(map)));
- User::Leave(KErrGeneral);
- param->Reset();
- CleanupStack::Pop(param);
-}
-
-TBool Cliwtestcases::LIW_ParamCleanup()
-{
- __UHEAP_MARK;
- CLiwGenericParamList* param = CLiwGenericParamList::NewLC();
- //CLiwMap* map = CLiwDefaultMap::NewL();
- //CleanupClosePushL(*map);
- //map->InsertL(KNullDesC8,variant);
- TLiwGenericParam par;
- TLiwVariant var;
- par.SetNameAndValueL(KNullDesC8, var);
- //param->AppendL(TLiwGenericParam(KNullDesC8,TLiwVariant(map)));
- param->AppendL(par);
- //CleanupStack::PopAndDestroy(map);
-
- TRAP_IGNORE(TestParamL(param));
-
- par.Reset();
- CleanupStack::PopAndDestroy(param);
- __UHEAP_MARKEND;
-
- return KErrNone;
-}
-
-void Cliwtestcases::TestParamL(CLiwGenericParamList *param)
-{
- TLiwGenericParam outParam;
- outParam.PushL();
- //Pushing the TLiwGenericParam into the CleanupStack
- //CleanupStack::PushL( TCleanupItem( TLiwGenericParam::ParamCleanup , &outParam ) );
-
- param->AtL(0,outParam);
- const CLiwMap* outMap = outParam.Value().AsMap();
-
- //Leaves before CleanupStack::Pop and reset is called
- User::Leave(KErrGeneral);
-
- //CleanupStack::Pop(&outParam);
- outParam.Reset();
-}
-
-TBool Cliwtestcases::LIW_VariantCleanup()
-{
-
- __UHEAP_MARK;
- _LIT(KName,"Name");
- TLiwVariant variant(KName());
- CLiwMap* map = CLiwDefaultMap::NewL();
- map->PushL();
- //CleanupClosePushL(*map);
- //map->InsertL(KNullDesC8,variant);
-
- TRAP_IGNORE(TestVariantL(map));
-
- CleanupStack::Pop(map);
- map->DecRef(); //map is destroyed
- __UHEAP_MARKEND; //There is no memory Leak since the TLiwVariant "var" is destroyed by the CleanupStack during User::Leave
-
-
- return KErrNone;
-}
-
-void Cliwtestcases::TestVariantL(CLiwMap* map)
-{
-
- TLiwVariant var;
- var.PushL();
- //CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &var) );
-
- map->FindL(KNullDesC8,var); //This makes a copy of TLiwVariant "variant" to "var"
- User::Leave(KErrNoMemory); //The TLiwVariant "var" is popped from the CleanupStack and VariantCleanup method is called
-
- CleanupStack::Pop(&var); //These statements are not executed
- var.Reset(); //This statement is not executed resulting in memory leak
-}
-
-
-TBool Cliwtestcases::LIW_DATA_TYPES_050()
-{
- TLiwVariant a1;
- TInt32 varInt32;
- TInt64 varInt64 = 0xaaaaaaa;
- TBool flag = 0;
-
- //First checking the TInt64 datatype
- a1.Set(varInt64);
-
- Dump(a1);
- //conversion check
- //set variant for TInt64 and get it in TInt32
- varInt32 = a1.AsTInt32(); //get TInt32
-
- if(varInt32 == varInt64)
- flag = 0;
-
- TUint varUint;
- varUint = a1.AsTUint(); //get TUint
-
- if(varUint == varInt64)
- flag = 0;
-
- TReal varReal;
- varReal = a1.AsTReal(); //get TReal
-
- if(varReal == varInt64)
- flag = 0;
-
- TBuf<20> varBuf;
- //varBuf = a1.AsDes(); //Does not work. Use Get method
- a1.Get(varBuf); //get TDes
-
- TBuf8<20> varBuf8;
- //varBuf8 = a1.AsData();
- a1.Get(varBuf8 ); //get TDes8
-
- a1.Reset();
-
- flag = 1;
- return !flag;
-}
-
-TInt Cliwtestcases::LIW_ASYNC_001()
- {
- return asyObj->AsyncCase(1);
- }
-
-TInt Cliwtestcases::LIW_ASYNC_002()
- {
- return asyObj->AsyncCase(2);
- }
-
-TInt Cliwtestcases::LIW_ASYNC_003()
- {
- return asyObj->AsyncCase(3);
- }
-
-TInt Cliwtestcases::LIW_ASYNC_004()
- {
- return asyObj->AsyncCase(4);
- }
-
-TInt Cliwtestcases::LIW_ASYNC_LongServiceCmd()
- {
- TBool flag = 0;
- /*Testing String Based Command*/
- RCriteriaArray interest;
- CleanupClosePushL(interest);
- _LIT8(KLongCmd,"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
- _LIT8(KNoCmd,"");
-
- /******For a different test************/
- CLiwCriteriaItem* criteria1 = CLiwCriteriaItem::NewLC(1, KLongCmd, KNoCmd);
- criteria1->SetServiceCmd(1);
- CleanupStack::PopAndDestroy(criteria1);
- /******End For a different test************/
-
-
-
-
-
- CLiwCriteriaItem* criteria = CLiwCriteriaItem::NewLC(1, KLongCmd, KNoCmd);
-
- criteria->SetServiceClass(TUid::Uid(KLiwClassBase));
-
-
-
- interest.AppendL(criteria);
- TInt status;
- // Attach the MyServiceName provider to the LIW framework.
- TRAPD(status1,status = iServiceHandler->AttachL(interest));
-
- if(!status || status1)
- {
- iServiceHandler->DetachL(interest);
- CleanupStack::PopAndDestroy(criteria);
- CleanupStack::PopAndDestroy(&interest);
- return KErrGeneral;
- }
-
-
- // Detach The MyServiceName Provider
- iServiceHandler->DetachL(interest);
- CleanupStack::PopAndDestroy(criteria);
- CleanupStack::PopAndDestroy(&interest);
- return KErrNone;
- }
-
-
-TInt Cliwtestcases::LIW_ASYNC_LongInvalidServiceCmd()
- {
- TBool flag = 0;
- /*Testing String Based Command*/
- RCriteriaArray interest;
- CleanupClosePushL(interest);
- _LIT8(KLongCmd,"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
- _LIT8(KNoCmd,"");
-
- CLiwCriteriaItem* criteria = CLiwCriteriaItem::NewLC(1, KLongCmd, KNoCmd);
-
- criteria->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- interest.AppendL(criteria);
-
- // Attach the MyServiceName provider to the LIW framework.
- TRAPD(status1,iServiceHandler->AttachL(interest));
-
- TInt status = status1;
-
-
- //iServiceHandler->DetachL(interest);
- CleanupStack::PopAndDestroy(criteria);
- CleanupStack::PopAndDestroy(&interest);
- if(status == KLiwUnknown)
- {
-
- return KErrNone;
- }
-
- else
- return KErrGeneral;
-
-
- }
-
-
-TInt Cliwtestcases::LIW_ASYNC_LongInterface()
- {
- TBool flag = 0;
- /*Testing String Based Command*/
- RCriteriaArray interest;
- CleanupClosePushL(interest);
- _LIT8(KNoCmd,"");
- _LIT8(KLongCmd,"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
- CLiwCriteriaItem* criteria = CLiwCriteriaItem::NewLC(1, KNoCmd, KLongCmd);
- criteria->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- interest.AppendL(criteria);
- TInt status ;
- // Attach the MyServiceName provider to the LIW framework.
- TRAPD(status1,status = iServiceHandler->AttachL(interest));
-
-
- // Detach The MyServiceName Provider
- iServiceHandler->DetachL(interest);
- CleanupStack::PopAndDestroy(criteria);
- CleanupStack::PopAndDestroy(&interest);
-
- if(!status || status1)
- {
- return KErrGeneral;
- }
-
-
- return KErrNone;
- }
-
-
-TInt Cliwtestcases::LIW_ASYNC_LongInvalidInterface()
- {
- TBool flag = 0;
- /*Testing String Based Command*/
- RCriteriaArray interest;
- CleanupClosePushL(interest);
- _LIT8(KNoCmd,"");
- _LIT8(KLongCmd,"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
- CLiwCriteriaItem* criteria = CLiwCriteriaItem::NewLC(1, KNoCmd, KLongCmd);
- criteria->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- interest.AppendL(criteria);
- TInt status ;
- // Attach the MyServiceName provider to the LIW framework.
- TRAPD(status1,status = iServiceHandler->AttachL(interest));
-
-
- // Detach The MyServiceName Provider
- //iServiceHandler->DetachL(interest);
- CleanupStack::PopAndDestroy(criteria);
- CleanupStack::PopAndDestroy(&interest);
-
- if(status1 == KLiwUnknown)
- {
- return KErrNone;
- }
-
-
- return KErrGeneral;
- }
-
-
-TInt Cliwtestcases::LIW_ASYNC_LongInterface1()
- {
- TBool flag = 0;
- /*Testing String Based Command*/
- RCriteriaArray interest;
- CleanupClosePushL(interest);
- _LIT8(KNoCmd,"aaaaaaaaaaaaaaaaaa"); //18
- _LIT8(KLongCmd,"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); //220
- CLiwCriteriaItem* criteria = CLiwCriteriaItem::NewLC(1, KNoCmd, KLongCmd);
- criteria->SetServiceClass(TUid::Uid(KLiwClassBase));
-
- interest.AppendL(criteria);
- TInt status ;
- // Attach the MyServiceName provider to the LIW framework.
- TRAPD(status1,status = iServiceHandler->AttachL(interest));
-
-
- // Detach The MyServiceName Provider
- iServiceHandler->DetachL(interest);
- CleanupStack::PopAndDestroy(criteria);
- CleanupStack::PopAndDestroy(&interest);
-
- if(!status || status1)
- {
- return KErrGeneral;
-
- }
-
- return KErrNone;
-
- }
-
-TInt Cliwtestcases::LIW_ParamCleanup1()
-{
- TRAP_IGNORE(TestParam1L());
-
- return KErrNone;
-}
-
-void Cliwtestcases::TestParam1L()
-{
- TLiwGenericParam param;
- CleanupStack::PushL( TCleanupItem( TLiwGenericParam::ParamCleanup , ¶m ) );
- User::Leave(KErrGeneral); //This calls the ParamCleanup method which cleans up TLiwGenericParam
- CleanupStack::Pop(¶m);
- param.Reset();
- //Leaves before CleanupStack::Pop and reset is called
- User::Leave(KErrGeneral);
-
-}
-
-
-TInt Cliwtestcases::LIW_GetInterest()
-{
-
- RCriteriaArray interest1;
-
- iServiceHandler->GetInterest(interest1);
- CLiwCriteriaItem* item1 = CLiwCriteriaItem::NewLC();
- for(TInt i = 0; i < interest1.Count(); i++)
- {
-
-
- item1->SetId(interest1[i]->Id());
- if (interest1[i]->ServiceCmd() == KLiwCmdAsStr)
- item1->SetServiceCmdL( interest1[i]->ServiceCmdStr() );
- else
- item1->SetServiceCmd(interest1[i]->ServiceCmd());
-
- item1->SetContentTypeL( interest1[i]->ContentType() );
- item1->SetServiceClass( interest1[i]->ServiceClass() );
-
- }
- CleanupStack::PopAndDestroy(item1);
- return KErrNone;
-
-}
-
-
-
-TBool Cliwtestcases::LIW_Defaut_list_externalize()
-{
-
- _LIT8(KText,"Test");
- _LIT8(KExamplekey,"key");
- CLiwGenericParamList* pList = CLiwGenericParamList::NewLC();
- RBuf8 binaryData;
- binaryData.Create(100);
- binaryData.Append(KText);
- TLiwGenericParam param;
- TPtrC8 ptrVar(KExamplekey);
- param.SetNameAndValueL(ptrVar, TLiwVariant( binaryData ));
-
- pList->AppendL(param);
- //stringsMap->InsertL( KExamplekey, TLiwVariant( binaryData ));
-
- RBuf8 datadesc;
- CleanupClosePushL( datadesc );
- datadesc.CreateL( pList->Size() );
- RDesWriteStream datastrm(datadesc);
- CleanupClosePushL( datastrm );
- TRAPD(err,pList->ExternalizeL( datastrm ));
-
- datastrm.CommitL( );
- CleanupStack::PopAndDestroy( &datastrm );
- CleanupStack::PopAndDestroy( &datadesc );
- binaryData.Close();
- CleanupStack::PopAndDestroy( pList );
-
- if(KErrNone==err)
- {
- return err;
-
- }
-
- return KErrGeneral;
-
-}
-
-
-TBool Cliwtestcases::LIW_DATA_TYPES_013_A()
- {
-
- TBool flag = 1;
- //Reusing LIW_DATA_TYPES_011 test case
- TLiwGenericParam param;
- param.Value().Set(KLIW_DATA_TYPES_011);
-
- Dump(param.Value());
-
- param.SetNameL(KTestPARAMNanmeTC1);
- CLiwGenericParamList* inps = &(iServiceHandler->InParamListL());
- CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL());
- inps->AppendL(param);
- param.Reset();
-
- // Call ExecuteServiceCmdL TO GET THE RESULT
- CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, KTestCommandTC1, KContentTypeTxt);
- crit->SetServiceClass(TUid::Uid(KLiwClassBase));
- iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps);
- CleanupStack::PopAndDestroy(crit); // crit
-
- // CHECK RESULT
- TInt pos = 0;
- outps->FindFirst(pos, EGenericParamError);
-
- if(pos != KErrNotFound)
- {
- if ((*outps)[pos].Value().AsTInt32() == KErrNone)
- {
-
- _LIT8(KIter,"Iterator");
- TInt iterPos=0;
- outps->FindFirst(iterPos, KIter);
- if(pos != KErrNotFound)
- {
- CLiwIterable* pIter=(*outps)[iterPos].Value().AsIterable();
-
- if((pIter->operator==(*pIter)))
- {
- flag = 0;
- }
- }
- }
-
- }
-
- return flag;
- }
-
-
-TBool Cliwtestcases::LIW_DATA_TYPES_015_A()
- {
-
- TBool flag = 1;
- TInt32 intVal=10;
- TLiwVariant intVar;
-
- {//integer check
- TInt32 intRet=12;
- intVar.Set(intRet);
-
- if(intVar.AsTInt32() == 12)
- flag = 0;
-
- }
-
- {//RFile check
- RFile fileRet;
- intVar.Set(fileRet);
- fileRet.Close();
- }
-
- {//Uid check
- TUid uidRet;
- intVar.Set(uidRet);
-
- }
-
- {//TUint check
- TUint uintRet=12;
- intVar.Set(uintRet);
-
- }
-
- {//TBool check
- TBool boolRet=EFalse;
- intVar.Set(boolRet);
-
- }
-
- {//TPtrC check
- TPtrC ptrcRet;
- intVar.Set(ptrcRet);
-
- }
-
- {//TTime check
- TTime timeRet;
- intVar.Set(timeRet);
-
- }
-
- {//TPtrC8 check
- TPtrC8 ptrcRet;
- intVar.Set(ptrcRet);
-
- }
-
-
- {//TInt64 check
- TInt64 int64Ret = 13;
- intVar.Set(int64Ret);
-
- }
-
- {//TReal check
- TReal realRet = 14.5;
- intVar.Set(realRet);
- }
-
- {
- CLiwBuffer *buf = NULL;
- intVar.Set(buf);
- }
-
- return flag;
- }
-
-
-TInt Cliwtestcases::LIW_DATA_GenericParamList()
-{
-
- _LIT8(KText,"Test");
-
- _LIT8(KExamplekey,"key");
- RBuf8 binaryData;
- binaryData.Create(100);
- binaryData.Append(KText);
-
- TLiwGenericParam param;
- TPtrC8 ptrVar(KExamplekey);
- param.SetNameAndValueL(ptrVar, TLiwVariant( binaryData ));
- TGenericParamId SemId = 12;
- param.SetSemanticId(SemId);
-
- /*
- CBufFlat *flatBuf = CBufFlat::NewL(10);
- //flatBuf->SetReserveL(10);
- flatBuf->ExpandL(0,101);
- //flatBuf->DoInsertL(0,&ptrVar,ptrVar.Length());
- TBuf8<5> buf23(KExamplekey);
- flatBuf->Write(0,¶m,100);
- RBufReadStream buf1(*flatBuf);
- //strmBuf->WriteL(&binaryData,binaryData.Size());
- */
- CLiwGenericParamList* pList = CLiwGenericParamList::NewLC();
- pList->AppendL(param);
-
-
- _LIT8(KText1,"Test1");
- _LIT8(KExamplekey1,"key1");
- RBuf8 binaryData1;
- binaryData1.Create(100);
- binaryData1.Append(KText1);
-
- TLiwGenericParam param1;
- TPtrC8 ptrVar1(KExamplekey1);
- param1.SetNameAndValueL(ptrVar1, TLiwVariant( binaryData1 ));
-
- pList->AppendL(param1);
- TInt flag = 1;
- TInt index = 0;
- pList->FindFirst(index,ptrVar,LIW::EVariantTypeAny);
-
- if(index == KErrNotFound)
- flag = 0;
-
- index = 0;
- pList->FindNext(index,ptrVar1,LIW::EVariantTypeAny);
- if(index == KErrNotFound)
- flag = 0;
-
- TInt cnt = 0;
- cnt = pList->Count(SemId,LIW::EVariantTypeAny);
-
- if(cnt != 2)
- flag = 0;
-
- pList->Remove(SemId);
- cnt = pList->Count(SemId,LIW::EVariantTypeAny);
-
- binaryData.Close();
- CleanupStack::PopAndDestroy( pList );
-
- if(cnt == 1 && flag == 1)
- return KErrNone;
-
- return KErrGeneral;
-
-}
-
-
-TInt Cliwtestcases::LIW_DATA_NewLOverLoad()
-{
-
- CLiwCriteriaItem* criteria = CLiwCriteriaItem::NewLC(1, 12, KContentTypeTxt);
- CLiwCriteriaItem* criteria1 = CLiwCriteriaItem::NewLC(1, 13, KContentTypeTxt);
- CleanupStack::PopAndDestroy( criteria1 );
- CleanupStack::PopAndDestroy( criteria );
- return KErrNone;
-}
-// -----------------------------------------------------------------------------
-// Cliwtestcases::?member_function
-// ?implementation_description
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-/*
-TInt Cliwtestcases::?member_function(
- CItemParser& aItem )
- {
-
- ?code
-
- }
-*/
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-// None
-
-// [End of File] - Do not remove
-
--- a/serviceapifw_plat/liw_generic_parameter_api/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: File that exports the files belonging to
-: LIW Generic Parameter API
-*
-*/
-
-
-
-
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/liwgenericparam.h MW_LAYER_PLATFORM_EXPORT_PATH(liwgenericparam.h)
-../inc/liwvarianttype.hrh MW_LAYER_PLATFORM_EXPORT_PATH(liwvarianttype.hrh)
-../inc/liwvariant.h MW_LAYER_PLATFORM_EXPORT_PATH(liwvariant.h)
-../inc/liwgenericparam.inl MW_LAYER_PLATFORM_EXPORT_PATH(liwgenericparam.inl)
-../inc/liwgenericparam.hrh MW_LAYER_PLATFORM_EXPORT_PATH(liwgenericparam.hrh)
-../inc/liwvariant.inl MW_LAYER_PLATFORM_EXPORT_PATH(liwvariant.inl)
-../inc/liwbufferextension.h MW_LAYER_PLATFORM_EXPORT_PATH(liwbufferextension.h)
--- a/serviceapifw_plat/liw_generic_parameter_api/inc/liwbufferextension.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-#ifndef LIW_BUFFEREXTENSION_H
-#define LIW_BUFFEREXTENSION_H/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Abstract bitmap buffer representation.
-*
-*/
-
-
-
-
-
-
-
-#include <fbs.h>
-
-#include "liwvariant.h"
-class CFbsBitmap;
-
-class CLiwBitmapBuffer : public CLiwBuffer
- {
- public:
- /*
- * The concrete implementation of buffer types should perform equality operation
- * check. This is a platform specifc extension class to support bitmap
- * buffer to abstract CFbsBitmap type.
-
- *
- * @return platform specific bitmap representation. By default, this method
- * returns NULL
- */
- virtual CFbsBitmap* AsBitmap()
- {
- return NULL; // return NULL by default
- }
- };
-
-/**
- * Abstract file buffer representation.
- *
-**/
-class CLiwFileBuffer : public CLiwBuffer
-{
- public:
- virtual RFile& AsFile() = 0;
-};
-
-#endif
\ No newline at end of file
--- a/serviceapifw_plat/liw_generic_parameter_api/inc/liwgenericparam.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,525 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: A generic parameter class.
-*
-*/
-
-
-
-
-
-
-
-#ifndef LIW_GENERIC_PARAM_H
-#define LIW_GENERIC_PARAM_H
-
-// INCLUDES
-#include <e32base.h>
-#include "liwgenericparam.hrh"
-#include "liwvariant.h"
-
-namespace LIW
-{
- /*
- * LIW generic parameter id. This data type should always be used when dealing
- * with LIW generic parameters. UIDs can be used as LIW generic parameter IDs.
- * However, values from 0 to 131071 are reserved.
- * @see TLiwGenericParam
- * @see TGenericParamIdValue
- */
-typedef TInt TGenericParamId;
-}
-// CLASS DECLARATION
-
-/**
-* Generic parameter class for passing data between applications.
-* A generic parameter is a pair of semantic ID and
-* variant value. The semantic ID tells the purpose of the parameter,
-* for example a file name, URL or phone number. The variant value contains
-* the data format and actual value. This class does not implement any
-* consistency checks between the semantic ID and value's data format.
-* So one semantic ID can be expressed as alternative data formats.
-*
-* @lib ServiceHandler.lib
-* @since Series 60 2.6
-* @see TLiwVariant
-* @see CLiwGenericParamList
-*/
-class TLiwGenericParam
- {
- public: // Constructors and destructor
- /**
- * Constructs a generic parameter.
- */
- inline TLiwGenericParam();
-
- /**
- * Constructs a generic parameter.
- *
- * @param aSemanticId The semantic ID of the parameter, one of TGenericParamId values.
- */
- inline TLiwGenericParam(LIW::TGenericParamId aSemanticId);
-
- /**
- * Constructs a generic parameter.
- *
- * @param aSemanticId The semantic ID of the parameter, one of TGenericParamId values.
- * @param aValue The parameter value.
- */
- inline TLiwGenericParam(LIW::TGenericParamId aSemanticId, const TLiwVariant& aValue);
-
- /**
- * Constructs a generic parameter.
- *
- * @param aName Name of the generic parameter
- * @param aValue The parameter value.
- */
- inline TLiwGenericParam(const TDesC8& aName, const TLiwVariant& aValue);
-
- public: // Interface
- /**
- * Sets the semantic ID. Possibly set previous ID is overwritten.
- *
- * @param aSemanticId The semantic ID of the parameter.
- */
- inline void SetSemanticId(LIW::TGenericParamId aSemanticId);
-
- /**
- * Set name. Possibly set previous name is overwritten.
- *
- * @param aName Parameter name.
- */
- inline void SetNameL(const TDesC8& aName);
-
- /**
- * Set name and value. Possibly set previous name and value is overwritten.
- *
- * @param aName the parameter name.
- *
- * @param aValue the parameter value
- */
- inline void SetNameAndValueL(const TDesC8& aName, const TLiwVariant& aValue);
-
- /**
- * Returns the semantic ID of this parameter.
- *
- * @return The semantic ID.
- */
- inline LIW::TGenericParamId SemanticId() const;
-
- /**
- * Returns the name of this parameter.
- *
- * @return The name of the parameter.
- */
- inline const TDesC8& Name() const;
-
- /**
- * Returns the value of this parameter.
- *
- * @return The value of the parameter.
- */
- inline TLiwVariant& Value();
-
- /**
- * Returns the const value of this parameter.
- *
- * @return The const value of the parameter.
- */
- inline const TLiwVariant& Value() const;
-
- /**
- * Resets the semantic ID and the value of this parameter.
- */
- inline void Reset();
-
- /**
- * TLiwGenericParam cleanup method
- *
- * !!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!
- *
- * Parameters can be pushed into the CleanupStack using this method
- * along with TCleanupItem
- *
- * @ param aObj - TLiwGenericParam Object but of type TAny* for usage with TCleanupItem
- *
- * Example 1: Here the client explicitly pushes the parameter into the CleanupStack using TCleanupItem
- *
- * @code
- * TLiwGenericParam param;
- * CleanupStack::PushL( TCleanupItem( TLiwGenericParam::ParamCleanup , ¶m ) );
- * User::Leave(KErrGeneral); //This calls the ParamCleanup method which cleans up TLiwGenericParam
- * CleanupStack::Pop(¶m);
- * param.Reset();
- * @endcode
- *
- * Example 2: Here the client calls the PushL method of TLiwGenericParam which pushes the object into
- * the CleanupStack using TCleanupItem
- *
- * @code
- * TLiwGenericParam param;
- * param.PushL();
- * User::Leave(KErrGeneral); //This calls the ParamCleanup method which cleans up TLiwGenericParam
- * CleanupStack::Pop(¶m);
- * param.Reset();
- * @endcode
- *
- * The clients can use the convenient PushL method which is recommended (as shown in e.g 2) rather than
- * explicitly pushing the parameter object into the CleanupStack using TCleanupItem and ParamCleanup.
- *
- * @ see PushL() method
- */
- IMPORT_C static void ParamCleanup(TAny* aObj);
-
- /**
- * A friendly and convenient method to push the TLiwGenericParam Object into the CleanupStack
- *
- * !!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!
- *
- * This method informs the CleanupStack that ParamCleanup method should be called incase of any Leave
- *
- * Example:
- *
- * @code
- * TLiwGenericParam param;
- * param.PushL(); //This pushes the parameter object "param" into the CleanupStack using TCleanupItem and ParamCleanup.
- * User::Leave(KErrGeneral); //This calls the ParamCleanup method which cleans up TLiwGenericParam
- * CleanupStack::Pop(¶m); //These statements are not executed
- * param.Reset();
- * @endcode
- *
- * This method is recommended than explicitly pushing the parameter object into the CleanupStack
- * using TCleanupItem and ParamCleanup.
- *
- * @see ParamCleanup() method
- */
- IMPORT_C void PushL();
-
- private: // Interface for friend classes
- void Destroy();
- void CopyLC(const TLiwGenericParam& aParam);
- static void CleanupDestroy(TAny* aObj);
- operator TCleanupItem();
- void InternalizeL(RReadStream& aStream);
- void ExternalizeL(RWriteStream& aStream) const;
- TInt Size() const;
-
- private: // Data
- /// Own: semantic ID of this parameter
- LIW::TGenericParamId iSemanticId;
- /// Own: value of this parameter
- TLiwVariant iValue;
- /// Reserved member
- TAny* iReserved;
-
- private: // friend declarations
- friend class CLiwGenericParamList;
- friend class CLiwDefaultList;
- friend class CLiwDefaultMap;
- };
-
-
-// FUNCTIONS
-
-/**
-* Returns ETrue if two generic params are equal.
-*
-* @param aLhs Left hand side.
-* @param aRhs Right hand side.
-* @return ETrue if equal, EFalse otherwise.
-*/
-IMPORT_C TBool operator==(const TLiwGenericParam& aLhs, const TLiwGenericParam& aRhs);
-
-/**
-* Returns ETrue if two generic params are not equal.
-*
-* @param aLhs Left hand side.
-* @param aRhs Right hand side.
-* @return ETrue if not equal, EFalse otherwise.
-*/
-inline TBool operator!=(const TLiwGenericParam& aLhs, const TLiwGenericParam& aRhs);
-
-
-/**
- * Generic parameter list.
- * A list containing TLiwGenericParam objects. Used for passing parameters
- * between consumers and providers.
- *
- * @lib ServiceHandler.lib
- * @since Series 60 2.6
- */
-NONSHARABLE_CLASS(CLiwGenericParamList): public CBase
- {
- public: // Constructors and destructor
- /**
- * Creates an instance of this class.
- *
- * @return A pointer to the new instance.
- */
- IMPORT_C static CLiwGenericParamList* NewL();
-
- /**
- * Creates an instance of this class.
- *
- * @param aReadStream A stream to initialize this parameter list from.
- * @return A pointer to the new instance.
- */
- IMPORT_C static CLiwGenericParamList* NewL(RReadStream& aReadStream);
-
- /**
- * Creates an instance of this class. Leaves the created instance on the
- * cleanup stack.
- *
- * @return A pointer to the new instance.
- */
- IMPORT_C static CLiwGenericParamList* NewLC();
-
- /**
- * Creates an instance of this class. Leaves the created instance on the
- * cleanup stack.
- *
- * @param aReadStream A stream to initialize this parameter list from.
- * @return A pointer to the new instance.
- */
- IMPORT_C static CLiwGenericParamList* NewLC(RReadStream& aReadStream);
-
- /**
- * Destructor.
- */
- virtual ~CLiwGenericParamList();
-
- public: // Interface
- /**
- * Returns the number of parameters in the list.
- *
- * @return The number of parameters in the list.
- */
- IMPORT_C TInt Count() const;
-
- /**
- * Returns the number of the parameters in the list by semantic id and datatype.
- *
- * @param aSemanticId The semantic ID of the parameter.
- * @param aDataType The type id of data. Default is any type.
- * @return The number of parameters in the list by semantic id and datatype.
- */
- IMPORT_C TInt Count(LIW::TGenericParamId aSemanticId,
- LIW::TVariantTypeId aDataType = LIW::EVariantTypeAny) const;
-
- /**
- * Returns a parameter from this list.
- *
- * @param aIndex Index of the parameter.
- * @return The parameter at the aIndex position.
- * @pre aIndex>=0 && aIndex<Count()
- */
- IMPORT_C const TLiwGenericParam& operator[](TInt aIndex) const;
-
- /**
- * Gets an entry from the collection based on an integeral index.
- * Note ! This method allocates memory. To ensure proper cleanup you shall call PushL method beforehand.
- *
- * @param aIndex an index to get an entry from the collection
- * @param aEntry the returned element from the collection.
- *
- * !!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- *
- * This is a copy of TLiwGenericParam present in the list at the particular index. To ensure proper cleanup
- * TLiwGenericParam::PushL method should be called beforehand.
- *
- * @code
- * CLiwGenericParamList* param = CLiwGenericParamList::NewLC();
- * //... param is filled with some semantic Id and TLiwVariant value ...
- *
- * TLiwGenericParam outParam;
- * outParam.PushL();
- * //This pushes the parameter object "outParam" into the CleanupStack using TCleanupItem and ParamCleanup.
- *
- * param->AtL(0,outParam);
- * //This fills the "outParam" with the parameter value present in the 0th position of parameter list, but
- * //if there is any Leave in AtL, then ParamCleanup method is called for proper cleanup
- *
- * CleanupStack::Pop(&outParam);
- * outParam.Reset();
- * CleanupStack::PopAndDestroy(param);
- * @endcode
- *
- * @return false if no element is found at the passed index;
- * true if an element is found
- *
- * @see CLiwDefaultList::AtL
- * @see TLiwGenericParam::PushL
- */
- IMPORT_C void AtL(TInt aIndex, TLiwGenericParam& aParam) const;
-
- /**
- * Appends a parameter to this list.
- *
- * @param aParam The parameter to append to this list. This object takes
- * an own copy of the data in aParam.
- */
- IMPORT_C void AppendL(const TLiwGenericParam& aParam);
-
- /**
- * Copies the given list and appends it to end of this list.
- *
- * @since Series 60 2.8
- * @param aList A list to be copied and appended.
- */
- IMPORT_C void AppendL(const CLiwGenericParamList& aList);
-
- /**
- * Removes the first found item with given semantic id from the list.
- *
- * @param aSemanticId Semantic id for the item to be removed.
- * @return ETrue if an item for the given semantic id was found and removed.
- * EFalse otherwise.
- */
- IMPORT_C TBool Remove(TInt aSemanticId);
-
- /**
- * Removes the first found item with given string based semantic id from the list.
- *
- * @param aSemanticId Semantic id for the item to be removed.
- * @return ETrue if an item for the given semantic id was found and removed.
- * EFalse otherwise.
- */
- IMPORT_C void Remove(const TDesC8& aName);
-
- /**
- * Deletes all parameters in the list and resets the list.
- */
- IMPORT_C void Reset();
-
- /**
- * Returns the first item matching the given semantic ID.
- *
- * @param aIndex Position in which to start searching. On return it contains
- * the position of the found parameter. It is set to KErrNotFound,
- * if no matching items were found.
- * @param aSemanticId The semantic ID of the parameter.
- * @param aDataType The type id of data. Default is any type.
- * @return The first matching item.
- */
- IMPORT_C const TLiwGenericParam* FindFirst(
- TInt& aIndex,
- LIW::TGenericParamId aSemanticId,
- LIW::TVariantTypeId aDataType = LIW::EVariantTypeAny) const;
- /**
- * Returns the next item matching the given semantic ID.
- *
- * @param aIndex Position after which to start searching. On return it contains
- * the position of the found parameter. It is set to KErrNotFound,
- * if no matching items were found.
- * @param aSemanticId The semantic ID of the parameter.
- * @param aDataType The type id of data. Default is any type.
- * @return The next matching item.
- */
- IMPORT_C const TLiwGenericParam* FindNext(
- TInt& aIndex,
- LIW::TGenericParamId aSemanticId,
- LIW::TVariantTypeId aDataType = LIW::EVariantTypeAny) const;
-
- /**
- * Returns item matching the given name.
- *
- * @param aIndex Position in which to start searching, on return contains
- * position of the found parameter. Is set to KErrNotFound,
- * if no matching items were found.
- * @param aName Parameter name.
- * @param aDataType The type id of data. Default is any type.
- * @return The first matching item.
- */
- IMPORT_C const TLiwGenericParam* FindFirst(
- TInt& aIndex,
- const TDesC8& aName,
- LIW::TVariantTypeId aDataType = LIW::EVariantTypeAny) const;
-
- /**
- * Returns item matching the given name.
- *
- * @param aIndex Position in which to start searching, on return contains
- * position of the found parameter. Is set to KErrNotFound,
- * if no matching items were found.
- * @param aName Parameter name.
- * @param aDataType The type id of data. Default is any type.
- * @return The first matching item.
- */
- IMPORT_C const TLiwGenericParam* FindNext(
- TInt& aIndex,
- const TDesC8& aName,
- LIW::TVariantTypeId aDataType = LIW::EVariantTypeAny) const;
-
- /**
- * Externalizes this parameter list to a stream.
- *
- * @param aStream The stream.
- * @see NewL(RReadStream& aStream)
- * @see NewLC(RReadStream& aStream)
- */
- IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
-
- /**
- * Returns the externalized size of the parameter list in bytes.
- *
- * @return The size.
- */
- IMPORT_C TInt Size() const;
-
- /**
- * Internalizes the parameter list from a stream.
- *
- * @since Series60 2.8
- * @param aStream The stream.
- */
- IMPORT_C void InternalizeL(RReadStream& aStream);
-
- /**
- * Packs the parameter list to TIpcArgs structure for
- * passing the generic param list to server over process boundary.
- * Only one RFile handle parameter can be passed over process boundary.
- *
- * @since Series60 3.0
- * @param aArgs Inter process call arguments.
- * @return Packed parameter list.
- */
- IMPORT_C HBufC8* PackForServerL(TIpcArgs& aArgs);
-
- /**
- * Unpacks the list from client message structure.
- *
- * @since Series60 3.0
- * @param aArgs The list to be unpacked.
- */
- IMPORT_C void UnpackFromClientL(const RMessage2& aArgs);
-
- private: // Implementation
- CLiwGenericParamList();
- void ConstructL();
- void AppendL(RReadStream& aReadStream);
-
- private: // Data
- /// Own: the parameter list
- RArray<TLiwGenericParam> iParameters;
- friend class CLiwDefaultList;
- friend class CLiwDefaultMap;
- };
-
-
-// INLINE FUNCTIONS
-#include "liwgenericparam.inl"
-
-#endif // LIW_GENERIC_PARAM_H
-
-// End of File
--- a/serviceapifw_plat/liw_generic_parameter_api/inc/liwgenericparam.hrh Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,303 +0,0 @@
-/*
-* Copyright (c) 2003-2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: LIW generic parameter definitions.
-*
-*/
-
-
-
-
-
-
-
-#ifndef LIW_GENERIC_PARAM_HRH
-#define LIW_GENERIC_PARAM_HRH
-namespace LIW
-{
-
-/**
- * Pre-defined sematic IDs for generic parameters (TLiwGenericParam).
- * The data type of the parameter specifies the representation of the parameter.
- * Use TGenericParamId instead of using TGenericParamIdValue directly.
- * Additional generic param definitions are possible besides this list.
- * @see TLiwGenericParam.
- */
-enum TGenericParamIdValue
- {
- EGenericParamUnspecified = 0,
-
- // General parameters
- EGenericParamError = 1, // Any error parameter
- EGenericParamDir = 2, // Any directory
- EGenericParamFile = 3, // Any file
- EGenericParamURL = 4, // Any URL
- EGenericParamApplication = 5, // Application
- EGenericParamInstallPackage = 6, // Install package
- EGenericParamDRMFile = 7,
- EGenericParamMIMEType = 8,
- EGenericParamCharSet = 9,
-
- // NOTE: Next id is a special semantic id reserved for LIW framework.
- // A consumer application should never add it to parameter list.
- EGenericParamServiceCommand = 10,
-
- // NOTE: Next id is to be used only internally by DocumentHandler.
- // Do not not use it for anything else.
- EGenericParamInternalFile = 11,
-
-
- EGenericParamNameAsString = 12,
- EGenericParamNameAsStringTransient = 13,
-
- // Application services
- EGenericParamContactItem = 20,
- EGenericParamCalendarItem = 21,
- EGenericParamMessageItem = 22,
- EGenericParamNoteItem = 23,
- EGenericParamHelpItem = 24,
- EGenericParamAlarmItem = 25,
- EGenericParamLogItem = 26,
- EGenericParamPhoneNumber = 27,
- EGenericParamAccessPoint = 28,
- EGenericParamSIPAddress = 29,
-
- EGenericParamMessageItemSMS = 30,
- EGenericParamMessageItemEMail = 31,
- EGenericParamMessageItemMMS = 32,
-
- EGenericParamEmailAddress = 33,
- EGenericParamWVID = 34,
- EGenericParamDateTime = 35,
-
- EGenericParamMessageItemMbox = 36,
-
- // SIM items
- EGenericParamSIMContactItem = 40,
- EGenericParamSIMAppItem = 41,
-
- // Browser items
- EGenericParamReferringURI = 50,
-
- // Music Player items
- EGenericParamPlayerInitMode = 60,
- EGenericParamAlbumItems = 61,
- EGenericParamAlbumName = 62,
-
- // Print parameters
- EGenericParamPrintXMLFile = 70,
-
- // Call parameters
- //EGenericParamCallDialDataV1 = 80, // CR JKON-6ZNGMS
- EGenericParamCallDialData = 81,
-
- // Sprint media gallery provider specific
- EGenricParamMGItemType = 90,
- EGeneriParamMGMediaType = 91,
- EGeneriParamMGViewType = 92,
- EGenericParamMGSubviewtype = 93,
- EGenericParamMGMarked = 94,
- EGenericParamCdmaExtendedAMSData = 95,
- EGenericParamCdmaExtendedLightSurfData = 96,
-
- EGenericParamSilentDownload = 110,
- EGenericParamSuppressLaunch = 111,
- EGenericParamSuppressNextUrl = 112,
-
- EGenericParamPoCData = 120,
- EGenericParamPoCLaunchView = 121,
-
- EGenericParamAllowMove = 130,
- EGenericParamAllowSave = 131,
-
- EGenericParamFileSaved = 140,
-
- EGenericParamLocation = 150,
-
- EGenericParamFotaPkgId = 160,
-
- EGenericParamMMSSizeLimit = 170,
- EGenericParamResolution = 171,
-
- EGenericParamSuppressDownloadConfirmation = 180,
- EGenericParamDownloadId = 181,
-
- EGenericParamPassword = 190,
- EGenericParamUserName = 191,
- EGenericParamBookmarkName = 192,
-
- EGenericParamContactSelectionData = 200,
- EGenericParamContactLinkArray = 201,
- EGenericParamContactStoreUriArray = 202,
- EGenericParamSelectedCount = 203,
- EGenericParamContactAssignData = 204,
-
- EGenericParamLandmark = 210,
- EGenericParamLandmarkDatabase = 211,
- EGenericParamLandmarkId = 212,
- EGenericParamLandmarkIdList = 213,
- EGenericParamMnCommonOptions = 214,
- EGenericParamMnMapViewOptions = 215,
- EGenericParamMnGeocodingOptions = 216,
- EGenericParamRequestText = 217,
-
- // Enterprise telephony parameters
- EGenericParamModeActivation = 220,
- EGenericParamDisplayString = 221,
-
- EGenericParamSpeedDialIndex = 230,
-
- // In-device search parameters
- EGenericParamKeywords = 240,
- EGenericParamCallAppLocName = 241,
- EGenericParamStartOption = 242,
- EGenericParamSearchContent = 243,
-
- EGenericParamTerminate = 250,
-
- //For Image viewer slideshow support
- EGenericParamSlideshow = 251,
-
- //For Search functionality
- EGenericParamSearchDomain = 260,
- EGenericParamSearchSubject = 261,
- EGenericParamSearchProvider = 262,
- EGenericParamSearchOptions = 263,
- EGenericParamTransactionID = 264
-
- };
-
-
-// String constants for above sematic ids to be used in content matching.
-
-#define EGenericParamUnspecifiedStr "0"
-#define EGenericParamErrorStr "1"
-#define EGenericParamDirStr "2"
-#define EGenericParamFileStr "3"
-#define EGenericParamURLStr "4"
-#define EGenericParamApplicationStr "5"
-#define EGenericParamInstallPackageStr "6"
-#define EGenericParamDRMFileStr "7"
-#define EGenericParamMIMETypeStr "8"
-#define EGenericParamCharSetStr "9"
-#define EGenericParamServiceCommandStr "10"
-#define EGenericParamInternalFileStr "11"
-#define EGenericParamNameAsStringStr "12"
-
-#define EGenericParamContactItemStr "20"
-#define EGenericParamCalendarItemStr "21"
-#define EGenericParamMessageItemStr "22"
-#define EGenericParamNoteItemStr "23"
-#define EGenericParamHelpItemStr "24"
-#define EGenericParamAlarmItemStr "25"
-#define EGenericParamLogItemStr "26"
-#define EGenericParamPhoneNumberStr "27"
-#define EGenericParamAccessPointStr "28"
-#define EGenericParamSIPAddressStr "29"
-
-#define EGenericParamMessageItemSMSStr "30"
-#define EGenericParamMessageItemEMailStr "31"
-#define EGenericParamMessageItemMMSStr "32"
-
-#define EGenericParamEmailAddressStr "33"
-#define EGenericParamWVIDStr "34"
-#define EGenericParamDateTimeStr "35"
-
-#define EGenericParamMessageItemMboxStr "36"
-
-#define EGenericParamSIMContactItemStr "40"
-#define EGenericParamSIMAppItemStr "41"
-
-#define EGenericParamReferringURIStr "50"
-
-#define EGenericParamPlayerInitModeStr "60"
-#define EGenericParamAlbumItemsStr "61"
-#define EGenericParamAlbumNameStr "62"
-
-#define EGenericParamPrintXMLFileStr "70"
-
-#define EGenericParamCallDialDataV1Str "80"
-#define EGenericParamCallDialDataStr "81"
-
-#define EGenricParamMGItemTypeStr "90"
-#define EGeneriParamMGMediaTypeStr "91"
-#define EGeneriParamMGViewTypeStr "92"
-#define EGenericParamMGSubviewtypeStr "93"
-#define EGenericParamMGMarkedStr "94"
-#define EGenericParamCdmaExtendedAMSDataStr "95"
-#define EGenericParamCdmaExtendedLightSurfDataStr "96"
-
-#define EGenericParamSilentDownloadStr "110"
-#define EGenericParamSuppressLaunchStr "111"
-#define EGenericParamSuppressNextUrlStr "112"
-
-#define EGenericParamPoCDataStr "120"
-#define EGenericParamPoCLaunchViewStr "121"
-
-#define EGenericParamAllowMoveStr "130"
-#define EGenericParamAllowSaveStr "131"
-
-#define EGenericParamFileSavedStr "140"
-
-#define EGenericParamLocationStr "150"
-
-#define EGenericParamFotaPkgIdStr "160"
-
-#define EGenericParamMMSSizeLimitStr "170"
-#define EGenericParamResolutionStr "171"
-
-#define EGenericParamSuppressDownloadConfirmationStr "180"
-#define EGenericParamDownloadIdStr "181"
-
-#define EGenericParamPasswordStr "190"
-#define EGenericParamUserNameStr "191"
-#define EGenericParamBookmarkNameStr "192"
-
-#define EGenericParamContactSelectionDataStr "200"
-#define EGenericParamContactLinkArrayStr "201"
-#define EGenericParamContactStoreUriArrayStr "202"
-#define EGenericParamSelectedCountStr "203"
-#define EGenericParamContactAssignDataStr "204"
-
-#define EGenericParamLandmarkStr "210"
-#define EGenericParamLandmarkDatabaseStr "211"
-#define EGenericParamLandmarkIdStr "212"
-#define EGenericParamLandmarkIdListStr "213"
-#define EGenericParamMnCommonOptionsStr "214"
-#define EGenericParamMnMapViewOptionsStr "215"
-#define EGenericParamMnGeocodingOptionsStr "216"
-#define EGenericParamRequestTextStr "217"
-
-#define EGenericParamModeActivationStr "220"
-#define EGenericParamDisplayStringStr "221"
-
-#define EGenericParamSpeedDialIndexStr "230"
-
-#define EGenericParamKeywordsStr "240"
-#define EGenericParamCallAppLocNameStr "241"
-#define EGenericParamStartOptionStr "242"
-#define EGenericParamSearchContentStr "243"
-
-#define EGenericParamTerminateStr "250"
-#define EGenericParamSlideshowStr "251"
-
-#define EGenericParamSearchDomainStr "260"
-#define EGenericParamSearchSubjectStr "261"
-#define EGenericParamSearchProviderStr "262"
-#define EGenericParamSearchOptionsStr "263"
-#define EGenericParamTransactionIDStr "264"
-}
-#endif // LIW_GENERIC_PARAM_HRH
-
-// End of file
-
--- a/serviceapifw_plat/liw_generic_parameter_api/inc/liwgenericparam.inl Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Inline function implementations of class TLiwGenericParam.
-*
-*/
-
-
-
-
-
-
-
-inline TLiwGenericParam::TLiwGenericParam() :
- iSemanticId(LIW::EGenericParamUnspecified), iValue(), iReserved(NULL)
- {
- }
-
-inline TLiwGenericParam::TLiwGenericParam(LIW::TGenericParamId aSemanticId) :
- iSemanticId(aSemanticId), iValue(), iReserved(NULL)
- {
- }
-
-inline TLiwGenericParam::TLiwGenericParam(LIW::TGenericParamId aSemanticId,
- const TLiwVariant& aValue) :
- iSemanticId(aSemanticId), iValue(aValue), iReserved(NULL)
- {
- }
-
-
-inline TLiwGenericParam::TLiwGenericParam(const TDesC8& aName, const TLiwVariant& aValue)
- {
- iSemanticId = LIW::EGenericParamNameAsStringTransient;
- iReserved = (TAny*)&aName;
- iValue = aValue;
- }
-
-inline void TLiwGenericParam::SetSemanticId(LIW::TGenericParamId aSemanticId)
- {
- iSemanticId = aSemanticId;
- }
-
-inline void TLiwGenericParam::SetNameL(const TDesC8& aName)
- {
- iSemanticId = LIW::EGenericParamNameAsString;
- delete iReserved;
- iReserved = (TAny*)aName.AllocL();
- }
-
-inline void TLiwGenericParam::SetNameAndValueL(const TDesC8& aName, const TLiwVariant& aValue)
- {
- delete iReserved;
- iValue.Reset();
- iSemanticId = LIW::EGenericParamNameAsString;
- iReserved = (TAny*)aName.AllocL();
- iValue = aValue;
- }
-
-inline LIW::TGenericParamId TLiwGenericParam::SemanticId() const
- {
- return iSemanticId;
- }
-
-inline const TDesC8& TLiwGenericParam::Name() const
- {
- if (iSemanticId == LIW::EGenericParamNameAsStringTransient)
- return *((TDesC8*)iReserved);
- else
- return ((iReserved) ? *((HBufC8*)iReserved) : KNullDesC8());
- }
-
-inline TLiwVariant& TLiwGenericParam::Value()
- {
- return iValue;
- }
-
-inline const TLiwVariant& TLiwGenericParam::Value() const
- {
- return iValue;
- }
-
-inline void TLiwGenericParam::Reset()
- {
- if (iSemanticId != LIW::EGenericParamNameAsStringTransient) delete iReserved;
- iReserved = NULL;
- iSemanticId = LIW::EGenericParamUnspecified;
- iValue.Reset();
- }
-
-inline TBool operator!=(const TLiwGenericParam& aLhs,
- const TLiwGenericParam& aRhs)
- {
- return !(aLhs == aRhs);
- }
-
-// End of file
-
--- a/serviceapifw_plat/liw_generic_parameter_api/inc/liwvariant.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2029 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Variant data type for LIW generic parameters.
-*
-*/
-
-
-
-
-
-
-
-#ifndef LIW_VARIANT_H
-#define LIW_VARIANT_H
-
-// INCLUDES
-#include <e32std.h>
-#include <s32strm.h>
-#include <f32file.h>
-#include "liwvarianttype.hrh"
-
-// FORWARD DECLARATIONS
-
-class CLiwGenericParamList;
-class MLiwNotifyCallback;
-
-// New variant types
-class CLiwContainer;
-class CLiwIterable;
-class CLiwList;
-class CLiwMap;
-class MLiwInterface;
-class CLiwBuffer;
-
-
-// CLASS DECLARATION
-
-/**
-* Variant data class to hold a value of a TLiwGenericParam instance.
-* The variant contains a data type and a value. This class is attached to
-* TLiwGenericParam instance which holds the semantic type of the value.
-*
-* @lib ServiceHandler.lib
-* @since Series 60 2.6
-* @see TLiwGenericParam
-*/
-class TLiwVariant
- {
- public: // Constructors
- /**
- * Default constructor. Initializes this variant to be empty.
- *
- * @post IsEmpty()
- */
- inline TLiwVariant();
-
- /**
- * Constructor from a value.
- *
- * @param aValue The value to set for this variant object.
- */
- inline TLiwVariant(TInt32 aValue);
-
-
- /**
- * Constructor from a value.
- *
- * @param aValue The value to set for this variant object.
- */
- inline TLiwVariant(TInt64 aValue);
-
-
- /**
- * Constructor from a value.
- *
- * @param aValue The value to set for this variant object.
- */
- inline TLiwVariant(TUint aValue);
-
- /**
- * Constructor from a value.
- *
- * @param aValue The value to set for this variant object.
- */
- inline TLiwVariant(TBool aValue);
-
- /**
- * Constructor from a value.
- *
- * @param aValue The value to set for this variant object.
- */
- inline TLiwVariant(const TUid& aValue);
-
- /**
- * Constructor from a value.
- *
- * @param aValue The value to set for this variant object.
- */
- inline TLiwVariant(const TTime& aValue);
-
- /**
- * Constructor from a value.
- *
- * @param aValue The value to set for this variant object.
- */
- inline TLiwVariant(const TDesC& aValue);
-
- /**
- * Constructor from a value.
- *
- * @param aValue The value to set for this variant object.
- */
- inline TLiwVariant(const HBufC* aValue);
-
- /**
- * Constructor from a value.
- *
- * @param aValue The value to set for this variant object.
- */
- inline TLiwVariant(const TDesC8& aValue);
-
- /**
- * Constructor from a value.
- *
- * @param aValue The value to set for this variant object.
- */
- inline TLiwVariant(const RFile& aValue);
-
- /**
- * Constructor from a value.
- *
- * @param aValue The value to set for this variant object.
- */
- inline TLiwVariant(const CLiwList* aValue);
-
- /**
- * Constructor from a value.
- *
- * @param aValue The value to set for this variant object.
- */
- inline TLiwVariant(const CLiwMap* aValue);
-
- /**
- * Constructor from a value.
- *
- * @param aValue The value to set for this variant object.
- */
- inline TLiwVariant(const MLiwInterface* aValue);
-
- /**
- * Constructor from a value.
- *
- * @param aValue The value to set for this variant object.
- */
- inline TLiwVariant(const CLiwIterable* aValue);
-
- /**
- * Constructor from a value.
- *
- * @param aValue The value to set for this variant object.
- */
- inline TLiwVariant(TReal aValue);
-
- /**
- * Constructor from a value.
- *
- * @param aValue The value to set for this variant object.
- */
- inline TLiwVariant(const CLiwBuffer* aValue);
-
- /**
- * Copy constructor. Does not take ownership of data.
- *
- * @param aSrc The source object.
- */
- IMPORT_C TLiwVariant(const TLiwVariant& aSrc);
-
- /**
- * Assignment operator. Does not take ownership of data.
- *
- * @param aValue The source object.
- */
- IMPORT_C TLiwVariant& TLiwVariant::operator=(const TLiwVariant& aValue);
-
- // This class does not need a destructor because memory allocation
- // policy for variant class has been implemented by TLiwGenericParam
- // class.
-
- public: // Interface
- /**
- * Returns the type id of data this variant object is holding.
- */
- inline LIW::TVariantTypeId TypeId() const;
-
- /**
- * Returns ETrue if this variant is empty (it does not hold any value).
- */
- inline TBool IsEmpty() const;
-
- /**
- * Retrieves the value held by this variant.
- *
- * @param aValue If this variant's type does not match the
- * parameter type, the parameter will not be modified.
- * @return ETrue if aValue was set, EFalse if types did not match.
- */
- IMPORT_C TBool Get(TInt32& aValue) const;
-
- /**
- * Retrieves the value held by this variant.
- *
- * @param aValue If this variant's type does not match the
- * parameter type, the parameter will not be modified.
- * @return ETrue if aValue was set, EFalse if types did not match.
- */
- IMPORT_C TBool Get(TInt64& aValue) const;
-
- /**
- * Retrieves the value held by this variant.
- *
- * @param aValue If this variant's type does not match the
- * parameter type, the parameter will not be modified.
- * @return ETrue if aValue was set, EFalse if types did not match.
- */
- IMPORT_C TBool Get(TUid& aValue) const;
-
- /**
- * Retrieves the boolean value held by this variant.
- *
- * @param aValue If this variant's type does not match the
- * parameter type, the parameter will not be modified.
- * @return ETrue if aValue was set, EFalse if types did not match.
- */
-
- IMPORT_C TBool Get(TUint& aValue) const;
- /**
- * Retrieves the boolean value held by this variant.
- *
- * @param aValue If this variant's type does not match the
- * parameter type, the parameter will not be modified.
- * @return ETrue if aValue was set, EFalse if types did not match.
- */
- IMPORT_C TBool Get(TBool& aValue) const;
-
-
- /**
- * Retrieves the value held by this variant.
- *
- * @param aValue If this variant's type does not match the
- * parameter type, the parameter will not be modified.
- * @return ETrue if aValue was set, EFalse if types did not match.
- */
- IMPORT_C TBool Get(TPtrC& aValue) const;
-
- //needed at least temporarily for data binding integration...
- //inline TBool Get(const TPtrC** aValue) const;
-
- /**
- * Retrieves the value held by this variant.
- *
- * @param aValue If this variant's type does not match the
- * parameter type, the parameter will not be modified.
- * @return ETrue if aValue was set, EFalse if types did not match.
- */
- IMPORT_C TBool Get(TTime& aValue) const;
-
- /**
- * Retrieves the value held by this variant.
- *
- * @param aValue If this variant's type does not match the
- * parameter type, the parameter will not be modified.
- * @return ETrue if aValue was set, EFalse if types did not match.
- */
- IMPORT_C TBool Get(TPtrC8& aValue) const;
-
- /**
- * Retrieves the value held by this variant.
- *
- * @param aValue If this variant's type does not match the
- * parameter type, the parameter will not be modified.
- * @return ETrue if aValue was set, EFalse if types did not match.
- */
- IMPORT_C TBool Get(RFile& aValue) const;
-
- /**
- * Retrieves the value held by this variant.
- *
- * @param aValue If this variant's type does not match the
- * parameter type, the parameter will not be modified.
- * @return ETrue if aValue was set, EFalse if types did not match.
- */
- IMPORT_C TBool Get(CLiwList& aValue) const;
-
- /**
- * Retrieves the value held by this variant.
- *
- * @param aValue If this variant's type does not match the
- * parameter type, the parameter will not be modified.
- * @return ETrue if aValue was set, EFalse if types did not match.
- */
- IMPORT_C TBool Get(CLiwMap& aValue) const;
-
- /**
- * Returns the value held by this variant.
- *
- * @return The value held by this variant. If the data type does not
- * match the function, the default initialized data is returned.
- */
- IMPORT_C TInt32 AsTInt32() const;
-
- /**
- * Returns the value held by this variant.
- *
- * @return The value held by this variant. If the data type does not
- * match the function, the default initialized data is returned.
- */
- IMPORT_C TInt64 AsTInt64() const;
-
- /**
- * Returns the value held by this variant.
- *
- * @return The value held by this variant. If the data type does not
- * match the function, the default initialized data is returned.
- */
- IMPORT_C TBool AsTBool() const;
-
- /**
- * Returns the value held by this variant.
- *
- * @return The value held by this variant. If the data type does not
- * match the function, the default initialized data is returned.
- */
- IMPORT_C TBool AsTUint() const;
-
- /**
- * Returns the value held by this variant.
- *
- * @return The value held by this variant. If the data type does not
- * match the function, the default initialized data is returned.
- */
- IMPORT_C TUid AsTUid() const;
-
- /**
- * Returns the value held by this variant.
- *
- * @return The value held by this variant. If the data type does not
- * match the function, the default initialized data is returned.
- */
- IMPORT_C TPtrC AsDes() const;
-
- /**
- * Returns the value held by this variant.
- *
- * @return The value held by this variant. If the data type does not
- * match the function, the default initialized data is returned.
- */
- IMPORT_C TTime AsTTime() const;
-
- /**
- * Returns the value held by this variant.
- *
- * @return The value held by this variant. If the data type does not
- * match the function, the default initialized data is returned.
- */
- IMPORT_C TPtrC8 AsData() const;
-
- /**
- * Returns the value held by this variant.
- *
- * @return The value held by this variant. If the data type does not
- * match the function, the default initialized data is returned.
- */
- IMPORT_C RFile AsFileHandle() const;
-
- /**
- * Returns the value held by this variant.
- *
- * @return The value held by this variant. If the data type does not
- * match the function default initialized data is returned.
- */
- IMPORT_C const CLiwList* AsList() const;
- /**
- * Returns the value held by this variant.
- *
- * @return The value held by this variant. If the data type does not
- * match the function default initialized data is returned.
- */
- IMPORT_C const CLiwMap* AsMap() const;
- /**
- * Returns the value held by this variant.
- *
- * @return The value held by this variant. If the data type does not
- * match the function default initialized data is returned.
- */
- IMPORT_C MLiwInterface* AsInterface() const;
-
- /**
- * Returns the value held by this variant.
- *
- * @return The value held by this variant. If the data type does not
- * match the function default initialized data is returned.
- */
- IMPORT_C CLiwIterable* AsIterable() const;
-
- /**
- * Deletes possibly set value and resets this variant to empty.
- *
- * @post IsEmpty()
- */
- IMPORT_C void Reset();
-
- /**
- * Sets integer value to this variant. The previous value is overwritten.
- *
- * @param aValue Value for this variant object to hold.
- * @post *this == aValue
- */
- IMPORT_C void Set(TInt32 aValue);
-
- /**
- * Sets integer value to this variant. The previous value is overwritten.
- *
- * @param aValue Value for this variant object to hold.
- * @post *this == aValue
- */
- IMPORT_C void Set(TInt64 aValue);
-
- /**
- * Sets Boolean value to this variant. The previous value is overwritten.
- *
- * @param aValue Value for this variant object to hold.
- * @post *this == aValue
- */
- IMPORT_C void Set(TBool aValue);
-
- /**
- * Sets Boolean value to this variant. The previous value is overwritten.
- *
- * @param aValue Value for this variant object to hold.
- * @post *this == aValue
- */
- IMPORT_C void Set(TUint aValue);
- /**
- * Sets unique ID value to this variant. The previous value is overwritten.
- *
- * @param aValue Value for this variant object to hold.
- * @post *this == aValue
- */
- IMPORT_C void Set(const TUid& aValue);
-
- /**
- * Sets date and time value to this variant. The previous value is overwritten.
- *
- * @param aValue Value for this variant object to hold.
- * @post *this == aValue
- */
- IMPORT_C void Set(const TTime& aValue);
-
- /**
- * Sets constant text reference to this variant.
- *
- * @param aValue Text value for this variant object to hold.
- * @post *this == aValue
- */
- IMPORT_C void Set(const TDesC& aValue);
-
- /**
- * Sets constant text reference to this variant.
- *
- * @param aValue Text value for this variant object to hold.
- * Ownership is not taken.
- */
- inline void Set(const HBufC* aValue);
-
- /**
- * Sets constant 8-bit text reference to this variant.
- *
- * @param aValue Text value for this variant object to hold.
- * @post *this == aValue
- */
- IMPORT_C void Set(const TDesC8& aValue);
-
- /**
- * Sets RFile file handle to this variant.
- *
- * @param aValue File handle for this variant object to hold.
- * @post *this == aValue
- */
- IMPORT_C void Set(const RFile& aValue);
-
- /**
- * Sets list of variants to this variant.
- *
- * @param aValue Array of variants for this variant object to hold.
- * @postcond *this == aValue
- */
- IMPORT_C void Set(const CLiwList* aValue);
-
- /**
- * Sets map of variants to this variant.
- *
- * @param aValue Dictionary of variants for this variant object to hold.
- * @postcond *this == aValue
- */
- IMPORT_C void Set(const CLiwMap* aValue);
-
- /**
- * Sets interface pointer to this variant.
- *
- * @param aValue Interface pointer for this variant object to hold.
- * @postcond *this == aValue
- */
- IMPORT_C void Set(const MLiwInterface* aValue);
-
- /**
- * Sets list of variants to this variant.
- *
- * @param aValue Sequence of variants for this variant object to hold.
- * @postcond *this == aValue
- */
- IMPORT_C void Set(const CLiwIterable* aValue);
-
- /**
- * Retrieves the value held by this variant.
- *
- * @param aValue If this variant's type does not match the
- * parameter type, the parameter will not be modified.
- * @return ETrue if aValue was set, EFalse if types did not match.
- */
- IMPORT_C TBool Get(TDes& aValue) const;
-
- /**
- * Sets the value held by this variant.
- *
- * @param aValue If this variant's type does not match the
- * parameter type, the parameter will not be modified.
- * @return ETrue if aValue was set, EFalse if types did not match.
- */
- IMPORT_C TBool Get(TDes8& aValue) const;
- /**
- * Assignment operator for the variant.
- *
- * @param aValue The source object.
- */
- inline TLiwVariant& operator=(const TTime& aValue);
-
- /**
- * Assignment operator for the variant.
- *
- * @param aValue The source object.
- */
- inline TLiwVariant& operator=(const TUid& aValue);
-
- /**
- * Assignment operator for the variant.
- *
- * @param aValue The source object.
- */
- inline TLiwVariant& operator=(TInt32 aValue);
-
- /**
- * Assignment operator for the variant.
- *
- * @param aValue The source object.
- */
- inline TLiwVariant& operator=(TInt64 aValue);
-
- /**
- * Assignment operator for the variant.
- *
- * @param aValue The source object.
- */
- inline TLiwVariant& operator=(TBool aValue);
-
- /**
- * Assignment operator for the variant.
- *
- * @param aValue The source object.
- */
- inline TLiwVariant& operator=(TUint aValue);
- /**
- * Assignment operator for the variant.
- *
- * @param aValue The source object.
- */
- inline TLiwVariant& operator=(const TDesC& aValue);
-
- /**
- * Assignment operator for the variant.
- *
- * @param aValue The source object.
- */
- inline TLiwVariant& operator=(const HBufC* aValue);
-
- /**
- * Assignment operator for the variant.
- *
- * @param aValue The source object.
- */
- inline TLiwVariant& operator=(const TDesC8& aValue);
-
- /**
- * Assignment operator for the variant.
- *
- * @param aValue The source object.
- */
- inline TLiwVariant& operator=(const RFile& aValue);
-
- /**
- * Assignment operator for the variant.
- *
- * @param aValue The source.
- */
- inline TLiwVariant& operator=(const CLiwList* aValue);
-
- /**
- * Assignment operator for the variant.
- *
- * @param aValue The source.
- */
- inline TLiwVariant& operator=(const CLiwMap* aValue);
-
- /**
- * Assignment operator for the variant.
- *
- * @param aValue The source.
- */
- inline TLiwVariant& operator=(const MLiwInterface* aValue);
-
- /**
- * Assignment operator for the variant.
- *
- * @param aValue The source.
- */
- inline TLiwVariant& operator=(const CLiwIterable* aValue);
-
- public:
- /**
- * Data copying support for TLiwGenericParam.
- * Sets the copy of given variant value to this variant
- * @param aValue variant value for this variant object to hold.
- * @post *this == aValue
- */
- IMPORT_C void SetL(const TLiwVariant& aValue);
- /**
- * Retrieves the value held by this variant.
- *
- * @param aValue If this variant's type does not match the
- * parameter type, the parameter will not be modified.
- * @return ETrue if aValue was set, EFalse if types did not match.
- */
- IMPORT_C TBool Get(TReal& aValue) const;
-
- /**
- * Sets integer value to this variant. The previous value is overwritten.
- *
- * @param aValue Value for this variant object to hold.
- * @post *this == aValue
- */
- IMPORT_C void Set(TReal aValue);
-
- /**
- * Returns the value held by this variant.
- *
- * @return The value held by this variant. If the data type does not
- * match the function, the default initialized data is returned.
- */
- IMPORT_C TReal AsTReal() const;
-
- /**
- * Assignment operator for the variant.
- *
- * @param aValue The source object.
- */
- inline TLiwVariant& operator=(TReal aValue);
-
- /**
- * Sets integer value to this variant. The previous value is overwritten.
- *
- * @param aValue Value for this variant object to hold.
- * @post *this == aValue
- */
- IMPORT_C void Set(const CLiwBuffer* aValue);
-
- /**
- * Returns the value held by this variant.
- *
- * @return The value held by this variant. If the data type does not
- * match the function, the default initialized data is returned.
- */
- IMPORT_C CLiwBuffer* AsBuffer() const;
-
- /**
- * Assignment operator for the variant.
- *
- * @param aValue The source object.
- */
- inline TLiwVariant& operator=(const CLiwBuffer* aValue);
-
- /**
- * TLiwVariant cleanup method
- *
- * !!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!
- *
- * Variants can be pushed into the CleanupStack using this method
- * along with TCleanupItem
- *
- * @ param aObj - TLiwVariant Object but of type TAny* for usage with TCleanupItem
- *
- * Example 1: Here the client explicitly pushes the variant into the CleanupStack using
- * TCleanupItem
- *
- * @code
- * TLiwVariant var;
- *
- * //The below statement pushes the variant object "var" into the CleanupStack using TCleanupItem and VariantCleanup.
- * CleanupStack::PushL( TCleanupItem( TLiwVariant::VariantCleanup , &var ) );
- *
- * User::Leave(KErrGeneral); //This calls the VariantCleanup method which cleans up TLiwVariant
- * CleanupStack::Pop(&var); //These statements are not executed due to "Leave"
- * var.Reset();
- * @endcode
- *
- *
- * Example 2: Here the client calls the PushL method of TLiwVariant which pushes the object into
- * the CleanupStack using TCleanupItem
- *
- * @code
- * TLiwVariant var;
- * var.PushL(); //This pushes the variant object "var" into the CleanupStack using TCleanupItem and VariantCleanup.
- * User::Leave(KErrGeneral); //This calls the VariantCleanup method which cleans up TLiwVariant
- * CleanupStack::Pop(&var); //These statements are not executed due to "Leave"
- * var.Reset();
- * @endcode
- *
- * The clients can use the convenient PushL method which is recommended (as shown in e.g 2) rather than
- * explicitly pushing the variant object into the CleanupStack using TCleanupItem and VariantCleanup.
- *
- * @ see PushL() method
- */
- IMPORT_C static void VariantCleanup( TAny* aObj );
-
-
- /**
- * A friendly and convenient method to push the TLiwVariant Object into the CleanupStack
- *
- * !!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!
- *
- * This method informs the CleanupStack that VariantCleanup method should be called incase of
- * any Leave
- *
- * @code
- * TLiwVariant var;
- * var.PushL(); //This pushes the variant object "var" into the CleanupStack using TCleanupItem and VariantCleanup.
- * User::Leave(KErrGeneral); //This calls the VariantCleanup method which cleans up TLiwVariant
- * CleanupStack::Pop(&var); //These statements are not executed
- * var.Reset();
- * @endcode
- *
- * This method is recommended than explicitly pushing the parameter object into the CleanupStack
- * using TCleanupItem and VariantCleanup.
- *
- * @see VariantCleanup() method
- */
- IMPORT_C void PushL();
-
- private:
- /**
- * Streaming support for TLiwGenericParam.
- * Internalizes this variant from a stream.
- */
- void InternalizeL(RReadStream& aStream);
-
- /**
- * Streaming support for TLiwGenericParam.
- * Externalizes this variant to a stream.
- */
- void ExternalizeL(RWriteStream& aStream) const;
-
- /**
- * Streaming support for TLiwGenericParam.
- * Returns the maximum externalized size of this variant in bytes.
- */
- TInt Size() const;
-
- /**
- * Destroys any dynamic resource owned by this variant.
- */
- void Destroy();
-
- /// Debug invariant
- void __DbgTestInvariant() const;
-
- static void CleanupDestroy(TAny* aObj);
-
- operator TCleanupItem();
-
- private: // Data
- /// Type of the data this variant is holding
- TUint8 iTypeId;
-
- /// POD storage for a 64-bit integer
- struct SInt64
- {
- TInt32 iLow;
- TInt32 iHigh;
- void InternalizeL(RReadStream& aStream);
- void ExternalizeL(RWriteStream& aStream) const;
- void Set(const TInt64& aTInt64);
- operator TInt64() const;
- TBool operator==(const SInt64& aRhs) const;
- };
-
- // Data value stored in this variant.
- // One of these are effective at a time depending on the iTypeId
- //
- union UData
- {
- TInt32 iInt32; // 32-bit integer
- TInt64 iLong; // 64-bit integer
- SInt64 iInt64; // 64-bit integer
- HBufC* iBufC; // owned string pointer
- HBufC8* iBufC8; // owned 8-bit data pointer
- CLiwList* iList; // List
- CLiwMap* iMap; // Map
- MLiwInterface* iSession; // Interface Type
- CLiwIterable* iIterable; // Iterator
- CLiwBuffer* iBuffer;
- TBool iBool; //boolean
- TUint iUint; //Unsinged Integer
- TReal iReal;
- };
-
- UData iData; // Data union
- TPtrC iPtrC; // Pointer to string
- TPtrC8 iPtrC8; // Pointer to 8-bit data
-
- private: // friend declarations
- friend IMPORT_C TBool operator==(const TLiwVariant& aLhs, const TLiwVariant& aRhs);
- /// TLiwGenericParam needs access to private streaming and copying methods.
- friend class TLiwGenericParam;
- friend class CLiwCriteriaItem;
-
- };
-
-//definitions of new variant types
-
-// CLASS DECLARATION
-/**
-* A type of variant class to execute a set of service command operations
-* on an interface. The service provider should implement MLiwInterface to group
-* set of related operations and offer them as service commands to the consumers.
-*
-* To maintain its internal state across the execution of service commands and
-* enable invocation of operations directly on the interface, service providers
-* may offer an interface.
-*
-* @lib ServiceHandler.lib
-*
-* @see TLiwVariant
-*/
-class MLiwInterface
-{
- public:
-
- /**
- * The consumer application should call this method to execute a service
- * command directly on the interface. The service provider should
- * provide a concrete implementation for the supported service
- * command aCmdName. The consumer application should fill in the necessary
- * parameters in \em aInParamList.
- *
- * @param aCmdName the name of the service command which the consumer wants to invoke
- * @param aInParamList the input parameter list, can be empty list
- * @param [in,out] aOutParamList the output parameter list, can be empty lis. The
- * service provider can use the output parameter list to fill in necessary return values
- * @param aCmdOptions Options for the command, see TLiwServiceCmdOptions in LiwCommon.hrh.
- * @param aCallback callback to be registered by consumer application
- *
- *
- *
- * @see TLiwServiceCmdOptions
- * @see CLiwGenericParamList
- * @see MLiwNotifyCallback
- *
- */
- virtual void ExecuteCmdL(const TDesC8& aCmdName,
- const CLiwGenericParamList& aInParamList,
- CLiwGenericParamList& aOutParamList,
- TUint aCmdOptions = 0,
- MLiwNotifyCallback* aCallback = 0) = 0;
-
-
- /**
- * The service provider should provide a concrete implementation
- * for this method. The internal state of the service provider
- * implemeting \c MLiwInterface can be reset within this method.
- * The consumer application should call this method if there
- * are no more service commands to be executed on the interface.
- *
- *
- *
- * <p align="center"></p>
- *
- */
- virtual void Close() = 0;
-};
-
-/**
-* Base class for the framework supported container types.
-* \c CLiwContainer is a self managing, reference counted container.
-* This class offers minimal interface to manage the reference counter
-* and to serialize the container data into the stream.
-*
-* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-*
-* Since container objects are reference counted, they cannot go with CleanupStack::PushL.
-* The issue is solved by using CleanupClosePushL for pushing the container objects into the CleanupStack.
-* Hence CLiwContainer::Close method is introduced common to all container objects
-*
-* All the container data types supported by the framework are
-* derived from \c CLiwContainer.
-*
-* @lib ServiceHandler.lib
-*
-* @see CLiwContainer::Close
-* @see CLiwContainer::PushL
-*
-* @see CLiwList
-* @see CLiwMap
-* @see CLiwIterable
-*/
-class CLiwContainer : public CBase
-{
- public:
-
- /**
- * Serializes the collection entries to an output stream.
- * The derving container types from \c CLiwContainer
- * should provide a concrete implementation to serialize the collection
- * data. The default implementation of this method just leaves with
- * an error code \c KErrNotSupported.
- *
- * @param aOutputStream the output stream to which the data will be streamed
- *
- * @leave KErrNotSupported whenever this method is called instead
- * of a dervied class implementation of this method
- *
- * @see RWiteStream
- *
- */
- IMPORT_C virtual void ExternalizeL(RWriteStream& aOutputStream) const;
-
- /**
- * Returns the size of collection data values. This default implementation of
- * this method leaves with an error code \c KErrNotSupported. Typically, the size
- * is calculated based on the size of data type(s) the container holds and the total
- * number of entries present in the collection.
- *
- * @return the size of collection data values
- *
- * @leave KErrNotSupported whenever this method is called instead
- * of derived class implementation of this method
- */
- IMPORT_C virtual TInt Size() const;
-
- /**
- * Increments the container reference count by one. The reference
- * count gets incremented whenever a copy of the data values
- * is made.
- *
- */
- inline void IncRef();
-
- /**
- * Decrements the container reference count by one. If there
- * are no more references to the container type, this container
- * instance will be deleted.
- *
- */
- inline void DecRef();
-
- /**
- * !!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!
- *
- * Since reference counting does not work with CleanupStack directly,
- * CleanupStack::PushL cannot be used for container objects which are reference counted
- *
- * So CleanupClosePushL method is used for container objects. Hence the need for this method
- *
- * This method informs the CleanupStack that Close method should be called incase of any Leave
- *
- * Close() inturn calls DecRef which ensures proper cleanup of container objects
- *
- *
- * Example 1: //Using PushL to push the container object into the CleanupStack using CleanupClosePushL
- *
- * @code
- * CLiwMap* map = CLiwDefaultMap::NewL();
- * map->PushL();
- * map->InsertL(KNullDesC8,variant); //incase of any leave, CLiwContainer::Close is called
- * CleanupStack::PopAndDestroy(map); //CLiwContainer::Close() is called
- * @endcode
- *
- * Example 2: //Using NewLC to push the container object into the CleanupStack using CleanupClosePushL
- *
- * @code
- * CLiwMap* map = CLiwDefaultMap::NewLC();
- * map->InsertL(KNullDesC8,variant); //incase of any leave, CLiwContainer::Close is called
- * CleanupStack::PopAndDestroy(map); //CLiwContainer::Close() is called
- * @endcode
- *
- * @ see CLiwContainer::NewLC (pushes the container object using CleanupClosePushL)
- * @ see CLiwContainer::PushL (pushes the container object using CleanupClosePushL)
- */
- IMPORT_C void Close();
-
- /**
- * !!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!
- *
- * A Friendly method to push the CLiwContainer Object into the CleanupStack using CleanupClosePushL
- *
- * This method informs the CleanupStack that Close method should be called incase of any Leave
- *
- * @code
- * CLiwMap* map = CLiwDefaultMap::NewL();
- * map->PushL();
- * map->InsertL(KNullDesC8,variant); //incase of any leave, CLiwContainer::Close is called
- * CleanupStack::PopAndDestroy(map); //CLiwContainer::Close() is called
- * @endcode
- *
- * @ see CLiwContainer::Close
- */
- IMPORT_C void PushL();
-
- protected:
-
- /**
- * Protected default constructor. This method is available
- * only for the derived container types. The reference
- * count is set to its default vale.
- *
- */
- CLiwContainer() : iRefCount(1) {}
-
- /**
- * Destructor.
- *
- */
- IMPORT_C virtual ~CLiwContainer();
-
- private:
-
- /* Reference counter of the container datatype.
- * During the construction, the counter is set to its
- * default value of 1. When the counter reaches the value
- * of zero (meaning that there are no more references to
- * the container data type), the container instance is deleted.
- */
- TInt iRefCount;
-};
-
-/**
-* Abstract interface to iterate over the collection entries.
-* The service provider should provide a concrete implementation
-* for the iterator.
-*
-* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-* Since container objects are reference counted, they cannot go with CleanupStack::PushL.
-* The issue is solved by using CleanupClosePushL for pushing the container objects into the CleanupStack.
-* Hence CLiwContainer::Close method is introduced common to all container objects
-*
-* This implies that the object of this concrete implementation class being created should be pushed into the
-* CleanupStack using CLiwContainer::PushL.
-*
-* @lib ServiceHandler.lib
-*
-* @see CLiwContainer
-*
-* @see CLiwContainer::Close
-* @see CLiwContainer::PushL
-*
-*/
-class CLiwIterable : public CLiwContainer
-{
- public:
-
- /**
- * Resets the iterator. The service provider should provide a concrete
- * implementation to reset the iterator.
- *
- */
- virtual void Reset() = 0;
-
- /**
- * Iterates over the collection entries to fetch the next data element.
- * The service provider should provide a concrete implementation
- * for this method.
- *
- * @param aEntry contains the next data element and its corresponding data type
- *
- * @return false if there are no more data elements to be fetched;
- * true otherwise
- *
- */
- virtual TBool NextL(TLiwVariant& aEntry) = 0;
-
- /**
- * Default equality operator implementation
- *
- * @param aIterable the iterator instance to be compared
- *
- */
- IMPORT_C virtual TBool operator==(CLiwIterable& aIterable);
-};
-
-/**
-* Abstract interface for an ordered collection or sequence. Typically,
-* the collection entries are of type \c TLiwVariant instances.
-* \c CLiwList offers abstract methods to:
-* <ul>
-* <li>access elements based on an index</li>
-* <li>remove an element from the collection</li>
-* <li>append to an element to the collection</li>
-* <li>remove a key-value pair based on a key</li>
-* <li>get the total number of stored key-value pairs</li>
-* </ul>
-* A default concrete implementation is provided in the form of specialized class
-* \c CLiwDefaultList
-*
-* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-* Since container objects are reference counted, they cannot go with CleanupStack::PushL.
-* The issue is solved by using CleanupClosePushL for pushing the container objects into the CleanupStack.
-* Hence CLiwContainer::Close method is introduced common to all container objects.
-*
-* This implies that the object of this concrete implementation class being created should be pushed into the
-* CleanupStack using CLiwContainer::PushL.
-*
-* @lib ServiceHandler.lib
-*
-* @see CLiwContainer
-*
-* @see CLiwContainer::Close
-* @see CLiwContainer::PushL
-*
-* @see CLiwDefaultList
-*
-*/
-class CLiwList : public CLiwContainer
-{
- public:
-
- /**
- * Appends an entry to the end of the collection. This is an abstract
- * method.
- *
- * @param aEntry an Element to be added to the end of the collection
- *
- * @see CLiwDefaultList::AppendL
- */
- virtual void AppendL(const TLiwVariant& aEntry) = 0;
-
- /**
- * Gets an entry from the collection based on an integeral index.
- *
- * @param aIndex an index to get an entry from the collection
- * @param aEntry the returned element from the collection
- *
- * !!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- *
- * This is a copy of the value present in the list at the particular index. To ensure proper cleanup
- * TLiwVariant::PushL method should be called beforehand.
- *
- * @return false if no element is found at the passed index;
- * true if an element is found
- *
- * @see CLiwDefaultList::AtL
- * @see TLiwVariant::PushL
- */
- virtual TBool AtL(TInt aIndex, TLiwVariant& aEntry) const = 0;
-
- /**
- * Returns the number of elements present in the collection. This
- * is an abstract method.
- *
- * @return the number of elements; Zero if there are no elements stored
- *
- * @see CLiwDefaultList::Count
- */
- virtual TInt Count() const = 0;
-
- /**
- * Removes an element located at the passed index from the collection. This
- * is an abstract method.
- *
- * @param aIndex the index of the element to be removed from the collection
- *
- * @see CLiwDefaultList::Remove
- */
- virtual void Remove(TInt aIndex) = 0;
-
- /**
- * Equality operator implementation for collection container.
- *
- * @param aList the list container to be compared
- *
- * @return true if the compared list collections are the same; false otherwise
- *
- * @see CLiwDefaultList::operator==
- */
- IMPORT_C virtual TBool operator==(const CLiwList& aList) const;
-};
-
-/**
-* Abstract interface for an associative array. The collection
-* key entries are of type string (Descriptor type) and their
-* associated values can be an variant type (\c TLiwVariant).
-*
-* \c CLiwMap offers abstract methods to:
-* <ul>
-* <li>insert a key-value pair</li>
-* <li>find a stored value based on a key</li>
-* <li>get a key based on an index</li>
-* <li>remove a key-value pair based on a key</li>
-* <li>get the total number of stored key-value pairs</li>
-* </ul>
-*
-* A default concrete implementation is provided in the form of specialized class
-* \c CLiwDefaultMap
-*
-* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-* Since container objects are reference counted, they cannot go with CleanupStack::PushL.
-* The issue is solved by using CleanupClosePushL for pushing the container objects into the CleanupStack.
-* Hence CLiwContainer::Close method is introduced common to all container objects.
-*
-* This implies that the object of this concrete implementation class being created should be pushed into the
-* CleanupStack using CLiwContainer::PushL.
-*
-* @lib ServiceHandler.lib
-*
-* @see CLiwContainer
-*
-* @see CLiwContainer::Close
-* @see CLiwContainer::PushL
-*
-* @see TLiwVariant
-* @see CLiwDefaultMap
-*
-*/
-class CLiwMap : public CLiwContainer
-{
- public:
-
- /**
- * Inserts a key-value pair element to the map collection. A default
- * implementation is provided in \c CLiwDefaultMap.
- *
- * @param aKey the key to be stored
- * @param aValue the value associated with the key to be stored
- *
- * @see CLiwDefaultMap::InsertL
- */
- virtual void InsertL(const TDesC8& aKey, const TLiwVariant& aValue) = 0;
-
- /**
- * Finds a value stored in the map collection based on the key. A default
- * implementation is provided in \c CLiwDefaultMap.
- *
- * @param aKey the key to be searched
- * @param aFndValue the value associated with the found key
- *
- * !!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- *
- * This is a copy of the value present in the map for the particular key. To ensure proper cleanup
- * TLiwVariant::PushL method should be called beforehand.
- *
- * @return false if there is no key stored; true otherwise
- *
- * @see CLiwDefaultMap::FindL
- * @see TLiwVariant::PushL
- */
- virtual TBool FindL(const TDesC8& aKey, TLiwVariant& aFndValue) const = 0;
-
- /**
- * Returns the number of key-value pair stored in the map collection. A default
- * implementation is provided in \c CLiwDefaultMap.
- *
- * @return the number of key-value pair stored in the map collection
- *
- * @see CLiwDefaultMap::Count
- */
- virtual TInt Count() const = 0;
-
- /**
- * Returns the key stored at the passed index. A default
- * implementation is provided in \c CLiwDefaultMap.
- *
- * @param aIndex the index of the key to be found
- * @param aFndKey the key found at the passed index
- *
- * @return true if a key-value entry is found at the passed index;
- * false otherwise
- *
- * @see CLiwDefaultMap::AtL
- *
- */
- virtual TBool AtL(TInt aIndex, TDes8& aFndKey) const = 0;
-
- /**
- * Returns the key stored at the passed index. A default
- * implementation is provided in \c CLiwDefaultMap.
- *
- * @param aIndex the index of the key to be found
- *
- * @return the key if a key-value entry is found at the passed index;
- * Leaves otherwise
- *
- * @see CLiwDefaultMap::AtL
- *
- */
- // virtual const TDesC8& AtL(TInt aIndex) const = 0;
-
- /**
- * Removes a key from the map collection. A default
- * implementation is provided in \c CLiwDefaultMap.
- *
- * @param aKey the key to be removed from the map
- *
- * @see CLiwDefaultMap::Remove
- */
- virtual void Remove(const TDesC8& aKey) = 0;
-
- /**
- * Default implementation of equality operator.
- *
- * @param aMap the map to be compared
- *
- * @see CLiwDefaultMap::operator==
- *
- */
- IMPORT_C virtual TBool operator==(const CLiwMap& aMap) const;
-};
-
-/**
-* An ordered collection or sequence. \c CLiwDefaultList providers
-* a default implementation for \c CLiwList. The collection entries are typically
-* of type \c TLiwVarian.
-*
-* This class provides concrete implementation to:
-* <ul>
-* <li>access elements based on index</li>
-* <li>remove an element</li>
-* <li>append an element to the end of the list collection</li>
-* <li>get the total number of elements stored in the list collection</li>
-* </ul>
-*
-*
-* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-* Since container objects are reference counted, they cannot go with CleanupStack::PushL.
-* The issue is solved by using CleanupClosePushL for pushing the container objects into the CleanupStack.
-* Hence CLiwContainer::Close method is introduced common to all container objects.
-*
-* This implies that the object of this concrete implementation class being created should be pushed into the
-* CleanupStack using CLiwContainer::PushL.
-*
-* @lib ServiceHandler.lib
-*
-* @see CLiwContainer
-*
-* @see CLiwContainer::Close
-* @see CLiwContainer::PushL
-*
-* @see CLiwList
-* @see TLiwVariant
-*
-*/
-class CLiwDefaultList : public CLiwList
-{
- public:
-
- /**
- * Creates and returns a new instace of \c CLiwDefaultList
- *
- * @code
- * void CreateListL()
- * {
- * CLiwDefaultList* pList = CLiwDefaultList::NewL();
- * pList->PushL(); //pushes the List into cleanupstack using CleanupClosePushL
- *
- * CleanupStack::Pop(pList);
- * pList->DecRef();
- * }
- *
- * @endcode
- *
- * @return an instance of \c CLiwDefaultMap
- *
- * @ see PushL
- * @ see Close
- */
- IMPORT_C static CLiwDefaultList* NewL();
-
- /**
- * Creates and returns a new instace of \c CLiwDefaultList
- *
- * @code
- * void CreateListL()
- * {
- * CLiwDefaultList* pList = CLiwDefaultList::NewLC(); //pushes the List into cleanupstack using CleanupClosePushL
- *
- * CleanupStack::Pop(pList);
- * pList->DecRef();
- * }
- *
- * @endcode
- *
- * @return an instance of \c CLiwDefaultMap
- *
- * @ see PushL
- * @ see Close
- */
- IMPORT_C static CLiwDefaultList* NewLC();
-
- /**
- * Creates and returns a new instace of \c CLiwDefaultList. The
- * collection elements will be generated from the data
- * values read from the input stream. This method leaves
- * the created instance in the cleanup stack.
- *
- * @param aInputStream the input stream containing the data
- * values to append to the list collection
- *
- * @return an instance of \c CLiwDefaultList
- */
- static CLiwDefaultList* NewLC(RReadStream& aInputStream);
-
- /**
- * Appends an entry to the end of the collection. The entry to be
- * added is of type \c TLiwVariant.
- *
- * @param aEntry an Element to be added to the end of the collection
- *
- *
- * A string content being added to the end of the collection
- *
- * @code
- * _LIT8(KLitPbkService,"PhoneBookService");
- * CLiwDefaultList* pList = CLiwDefaultList::NewL();
- * pList->PushL();
- * pList->AppendL(TLiwVariant(KLitPbkService));
- * CleanupStack::Pop(pList);
- * pList->DecRef();
- * @endcode
- *
- * An integer value being added to the end of the collection
- *
- * @code
- * CLiwDefaultList* pList = CLiwDefaultList::NewL();
- * pList->PushL();
- * TInt intVal=0;
- * pList->AppendL(TLiwVariant(intVal));
- * CleanupStack::Pop(pList);
- * pList->DecRef();
- * @endcode
- *
- */
- IMPORT_C void AppendL(const TLiwVariant& aEntry);
-
- /**
- * Gets an entry from the collection based on an integeral index.
- *
- * @param aIndex to get an entry from the collection
- * @param aEntry the returned element from the collection
- *
- * @return false if no element is found at the passed index;
- * true if an element is found
- *
- * !!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- *
- * This is a copy of the value present in the list at the particular index. To ensure proper cleanup
- * TLiwVariant::PushL method should be called beforehand.
- *
- *
- * An integral value being retrieved from the collection
- *
- * @code
- * CLiwDefaultList* pList = CLiwDefaultList::NewL();
- * pList->PushL();
- * TInt intVal=1100; //some magic number
- * pList->AppendL(TLiwVariant(intVal));
- *
- * TInt nIndex=0; //only one entry is stored..
- * TLiwVariant valFnd;
- * valFnd.PushL(); //Pushes the TLiwVariant into the CleanupStack using TCleanupItem
- * if(EFalse!=pList->AtL(nIndex,valFnd))
- * {
- * TInt intValFnd=-1;
- * valFnd.Get(intValFnd);
- * }
- *
- * CleanupStack::PopAndDestroy(valFnd); //Pops and Destroys the TLiwVariant object
- * CleanupStack::Pop(pList);
- * pList->DecRef();
- * @endcode
- *
- * @see TLiwVariant::PushL
- */
- IMPORT_C TBool AtL(TInt aIndex, TLiwVariant& aEntry) const;
-
- /**
- * Returns the number of elements present in the collection.
- *
- * @return the number of elements; Zero if there are no elements stored
- *
- */
- IMPORT_C TInt Count() const;
-
- /**
- * Removes an element located at the passed index from the collection.
- *
- * @param aIndex the index of the element to be removed from the collection
- *
- *
- * An element being removed from the collection
- *
- * @code
- * CLiwDefaultList* pList = CLiwDefaultList::NewL();
- * pList->PushL();
- * TInt intVal=1100; //some magic number
- * pList->AppendL(TLiwVariant(intVal));
- *
- * TInt nIndex=0; //only one entry is stored..
- * pList->Remove(nIndex);
- *
- * if(0==pList->Count())
- * {
- * //should be zero
- * }
- *
- * CleanupStack::Pop(pList);
- * pList->DecRef();
- * @endcode
- *
- */
- IMPORT_C void Remove(TInt aIndex);
-
- /**
- * Serializes the collection data entries to an output stream.
- *
- * @param aOutputStream the output stream to which the data will be streamed
- *
- * @see RWiteStream
- */
- IMPORT_C void ExternalizeL(RWriteStream& aOutputStream) const;
-
- /**
- * Returns the size of the collection. The size is
- * calculated based on the total numer of elements
- * and the size of each element in the collection
- *
- * @return the size of the collection
- */
- IMPORT_C TInt Size() const;
-
- private:
-
- /*
- * Constructor
- */
- CLiwDefaultList(CLiwGenericParamList* aList) : iList(aList) {}
-
- /*
- * Destructor
- */
- IMPORT_C virtual ~CLiwDefaultList();
-
- /*
- * the underlying generic parameter list
- */
- CLiwGenericParamList* iList;
-};
-
-/**
-* An associative array or dictionary class. The collection
-* key entries are of type string (Descriptor type) and their
-* associated values can be an variant type.
-*
-* \c CLiwDefaultMap provides default map implementation to
-* <ul>
-* <li>insert a key-value pair</li>
-* <li>find a stored value based on a key</li>
-* <li>get a key based on an index</li>
-* <li>remove a key-value pair based on a key</li>
-* <li>get the total number of stored key-value pairs</li>
-* </ul>
-*
-*
-* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-* Since container objects are reference counted, they cannot go with CleanupStack::PushL.
-* The issue is solved by using CleanupClosePushL for pushing the container objects into the CleanupStack.
-* Hence CLiwContainer::Close method is introduced common to all container objects.
-*
-* This implies that the object of this concrete implementation class being created should be pushed into the
-* CleanupStack using CLiwContainer::PushL.
-*
-* @lib ServiceHandler.lib
-*
-* @see CLiwContainer
-*
-* @see CLiwContainer::Close
-* @see CLiwContainer::PushL
-*
-* @see TLiwVariant
-* @see CLiwMap
-*
-*/
-class CLiwDefaultMap : public CLiwMap
-{
- public:
-
- /*
- * Creates an instance of \c CLiwDefaultMap
- *
- * Instance of the map created, can be pushed into the CleanupStack using PushL()
- * to ensure proper cleanup of this container object
- *
- * @code
- * void CreateMapL()
- * {
- * CLiwDefaultMap* pMap = CLiwDefaultMap::NewL();
- * pMap->PushL(); //pushes the map into cleanupstack using CleanupClosePushL
- *
- * CleanupStack::Pop(pMap);
- * pMap->DecRef();
- * }
- *
- * @endcode
- *
- * @return an instance of \c CLiwDefaultMap
- *
- * @ see PushL
- * @ see Close
- */
- IMPORT_C static CLiwDefaultMap* NewL();
-
- /*
- * Creates an instance of \c CLiwDefaultMap
- *
- * Pushes the map into the CleanupStack using CleanupClosePushL
- *
- * @code
- * void CreateMapL()
- * {
- * CLiwDefaultMap* pMap = CLiwDefaultMap::NewLC(); //pushes the map into cleanupstack using CleanupClosePushL
- *
- * CleanupStack::Pop(pMap);
- * pMap->DecRef();
- * }
- *
- * @endcode
- * @return an instance of \c CLiwDefaultMap
- *
- * @ see Close
- */
- IMPORT_C static CLiwDefaultMap* NewLC();
-
- /*
- * Creates an instance of \c CLiwDefaultMap and
- * fills up the collection entries from the input stream.
- * The created instance is left in the cleanupstack.
- *
- * @return an instance of \c CLiwDefaultMap
- */
- IMPORT_C static CLiwDefaultMap* NewLC(RReadStream& aInputStream);
-
- /**
- * Inserts a key-value pair element to the map collection. If
- * the specified key already exists, it will be removed from
- * the collection and the new key-value pair will be added to the
- * map.
- *
- * @param aKey the key to be stored
- * @param aValue the value associated with the key to be stored
- *
- *
- * @code
- * void AddMapEntryL(const TDesC* ptrFirstNameVal)
- * {
- * _LIT8(KKey,"firstName");
- * TBuf8<128> pbkFieldKey(KKey);
- *
- * CLiwDefaultMap* pMap = CLiwDefaultMap::NewL();
- * pMap->PushL(); //pushes the map into cleanupstack using CleanupClosePushL
- * pMap->InsertL(pbkFieldKey, TLiwVariant(*ptrFirstNameVal));
- * CleanupStack::Pop(pMap);
- * pMap->DecRef();
- * }
- *@endcode
- *
- */
- IMPORT_C void InsertL(const TDesC8& aKey, const TLiwVariant& aValue);
-
- /**
- * Finds a value stored in the map collection based on the key.
- *
- * @param aKey the key to be searched
- * @param aFndValue the value associated with the found key
- *
- * !!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- *
- * This is a copy of the value present in the map for the particular key. To ensure proper cleanup
- * TLiwVariant::PushL method should be called beforehand.
- *
- * @return false if there is no key stored; true otherwise
- *
- *
- *
- * @code
- * void FindAnEntryL()
- * {
- * _LIT8(KKey,"firstName");
- * TBuf8<128> pbkFieldKey(KKey);
- * TLiwVariant firstNameVal;
- * firstNameVal.PushL();
- *
- * CLiwDefaultMap* pMap = CLiwDefaultMap::NewL();
- * pMap->PushL();
- * if(EFalse!=pMap->FindL(pbkFieldKey, firstNameVal))
- * {
- * //key value has been found
- * }
- *
- * CleanupStack::PopAndDestroy(pMap);
- * CleanupStack::PopAndDestroy(firstNameVal);
- * }
- * @endcode
- *
- * @see TLiwVariant::PushL
- */
- IMPORT_C TBool FindL(const TDesC8& aKey, TLiwVariant& aValue) const;
-
- /**
- * Returns the number of key-value pair stored in the map collection.
- *
- * @return the number of key-value pair stored in the map collection
- */
- IMPORT_C TInt Count() const;
-
- /**
- * Returns the key stored at a specified index.
- *
- * @param aIndex the index of the key to be found
- * @param aFndKey the key found at the passed index
- *
- * @return true if a key-value entry is found at the passed index;
- * false otherwise
- *
- *
- *
- * @code
- * void FindAnEntryL()
- * {
- * _LIT8(KKey,"firstName");
- * TBuf8<128> pbkFieldKeyVal(KKey);
- *
- * TInt nIndex=0;
- * CLiwDefaultMap* pMap = CLiwDefaultMap::NewL();
- * pMap->PushL();
- *
- * if(EFalse!=pMap->AtL(nIndex, pbkFieldKeyVal))
- * {
- * //key value has been found
- * }
- *
- * CleanupStack::Pop(pMap);
- * pMap->DecRef();
- * }
- * @endcode
- *
- */
- IMPORT_C TBool AtL(TInt aIndex, TDes8& aFndKey) const;
-
- /**
- * Returns the key stored at a specified index.
- *
- * @param aIndex the index of the key to be found
- * @param aFndKey the key found at the passed index
- *
- *
- * @return the key if a key-value entry is found at the passed index;
- * Leaves otherwise
- *
- *
- *
- * @code
- * void FindAnEntryL()
- * {
- * _LIT8(KKey,"firstName");
- * TBuf8<128> pbkFieldKeyVal(KKey);
- *
- * TInt nIndex=0;
- * CLiwDefaultMap* pMap = CLiwDefaultMap::NewL();
- * pMap->PushL();
- *
- * pbkFieldKeyVal = pMap->AtL(nIndex);
- * if(pbkFieldKeyVal)
- * {
- * //key value has been found
- * }
- *
- * CleanupStack::Pop(pMap);
- * pMap->DecRef();
- * }
- * @endcode
- *
- */
- IMPORT_C const TDesC8& AtL(TInt aIndex) const;
-
- /**
- * Removes a key from the map collection.
- *
- * @param aKey the key to be removed from the map
- *
- *
- *
- * @code
- * void RemoveMapEntryL(const TDesC* ptrFirstNameVal)
- * {
- * _LIT8(KKey,"firstName");
- * TBuf8<128> pbkFieldKey(KKey);
- * CLiwDefaultMap* pMap = CLiwDefaultMap::NewL();
- * pMap->PushL();
- *
- * pMap->InsertL(pbkFieldKey, TLiwVariant(*ptrFirstNameVal));
- * pMap->Remove(pbkFieldKey);
- *
- * if(0==pMap->Count())
- * {
- * //no entries stored; removal successful
- * }
- *
- * CleanupStack::Pop(pMap);
- * pMap->DecRef();
- * }
- * @endcode
- *
- */
- IMPORT_C void Remove(const TDesC8& aKey);
-
- /**
- * The container managed data values can be serialized to an output
- * stream.
- *
- * @param aOutputStream the output stream to which the data will be streamed
- *
- *
- *
- * @see RWiteStream
- *
- */
- void ExternalizeL(RWriteStream& aOutputStream) const;
-
- /**
- * Returns the size of the collection. The size is
- * calculated based on the total numer of key-value elements
- * and the size of each pair in the collection
- *
- * @return the size of the collection
- */
- IMPORT_C TInt Size() const;
-
- private:
-
- /*
- * Constructor
- */
- CLiwDefaultMap(CLiwGenericParamList* aMap) : iMap(aMap) {}
-
- /*
- * Destructor
- */
- IMPORT_C virtual ~CLiwDefaultMap();
-
- /*
- * the underlying generic parameter list
- */
- CLiwGenericParamList* iMap;
-};
-
-/**
-* Abstract generic buffer representation. Class used for passing generic buffer data between
-* service provider and the consumers.
-
-* The class offers APIs for the consumers to access the buffer data in a generic manner. Depending on
-* the data agreement between the service provider and its consumers, one
-* or more of the API operations may be inappropriate e.g. a service provider may not
-* support write operation on the buffer
-*
-* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-* Since container objects are reference counted, they cannot go with CleanupStack::PushL.
-* The issue is solved by using CleanupClosePushL for pushing the container objects into the CleanupStack.
-* Hence CLiwContainer::Close method is introduced common to all container objects.
-*
-* This implies that the object of this concrete implementation class being created should be pushed into the
-* CleanupStack using CLiwContainer::PushL.
-*
-* @lib ServiceHandler.lib
-*
-* @see CLiwContainer
-*
-* @see CLiwContainer::Close
-* @see CLiwContainer::PushL
-*
-*/
-class CLiwBuffer : public CLiwContainer
-{
- public:
- enum TLiwBufferAccess
- {
- KLiwBufferNonReadable = 0,
- KLiwBufferReadOnly = 1
- };
-
-
- /*
- * Returns the pointer to the underlying buffer
- *
- * @return the pointer to the underlying buffer
- */
- virtual TUint8* Buf() const =0;
-
- /*
- * Returns the length of the buffer data
- *
- * @return the length of the buffer data
- */
- virtual TInt Len() =0;
-
- /*
- * Reads the specified number of bytes of buffer data
- *
- * @param aPtr the pointer to the area into which buffer data is read
- * @param aLength the number of bytes to be read from the buffer
- *
- * @return KErrNone if the operation is successful; Otherwise
- * TLiwBufferAccess::KLiwBufferNonReadable
- *
- */
- inline virtual TInt Read(TUint8* /*aPtr*/,TInt /*aLength*/)
- {
- return KLiwBufferNonReadable;
- }
-
- /*
- * Writes the specified number of bytes into the buffer
- *
- * @param aPtr the pointer to the data to be written into buffer
- * @param aLength the number of bytes to be written into buffer
- *
- * @return KErrNone if the operation is successful; Otherwise
- * TLiwBufferAccess::KLiwBufferReadOnly if writing is not supported
- *
- */
- inline virtual TInt Write(const TUint8 * /*aPtr*/, TInt /*aLength*/)
- {
- return KLiwBufferReadOnly;
- }
-
- /*
- * Releases the buffer. The service provider implementing concrete buffer
- * type should provide appropriate implementation
- */
- virtual void Release() =0;
-
- /*
- * Returns the appropriate type of buffer.
- */
- virtual TInt TypeID()=0;
-
- /*
- * The concrete implementation of buffer types should perform equality operation
- * check
- */
- virtual TBool operator==(CLiwBuffer& aBuffer) =0;
-};
-
-/**
-* Returns ETrue if two variants are equal.
-*
-* @param aLhs Left hand side.
-* @param aRhs Right hand side.
-* @return ETrue if equal, EFalse otherwise.
-*/
-IMPORT_C TBool operator==(const TLiwVariant& aLhs, const TLiwVariant& aRhs);
-
-/**
-* Returns ETrue if two variants are not equal.
-*
-* @param aLhs Left hand side.
-* @param aRhs Right hand side.
-* @return ETrue if not equal, EFalse otherwise.
-*/
-inline TBool operator!=(const TLiwVariant& aLhs, const TLiwVariant& aRhs);
-
-/**
-* Dumps the contents of aVariant to debug output. Available only in debug builds.
-*
-* @param aVariant The object to be dumped.
-*/
-IMPORT_C void Dump(const TLiwVariant& aVariant);
-
-
-// INLINE FUNCTIONS
-#include "liwvariant.inl"
-
-#endif // LIW_VARIANT_H
-
-// End of File
--- a/serviceapifw_plat/liw_generic_parameter_api/inc/liwvariant.inl Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,247 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Inline function implementations of class TLiwVariant.
-*
-*/
-
-
-
-
-
-
-
-
-inline TLiwVariant::TLiwVariant() : iTypeId(LIW::EVariantTypeNull), iPtrC(), iPtrC8()
- {
- iData.iBufC = NULL;
- iData.iBufC8 = NULL;
- Reset();
- }
-
-inline TLiwVariant::TLiwVariant(TInt32 aValue) : iTypeId(LIW::EVariantTypeNull), iPtrC(), iPtrC8()
- {
- Set(aValue);
- }
-
-inline TLiwVariant::TLiwVariant(TInt64 aValue) : iTypeId(LIW::EVariantTypeNull), iPtrC(), iPtrC8()
- {
- Set(aValue);
- }
-
-inline TLiwVariant::TLiwVariant(TBool aValue) : iTypeId(LIW::EVariantTypeNull), iPtrC(), iPtrC8()
- {
- Set(aValue);
- }
-
-inline TLiwVariant::TLiwVariant(TUint aValue) : iTypeId(LIW::EVariantTypeNull), iPtrC(), iPtrC8()
- {
- Set(aValue);
- }
-inline TLiwVariant::TLiwVariant(TReal aValue) : iTypeId(LIW::EVariantTypeNull), iPtrC(), iPtrC8()
- {
- Set(aValue);
- }
-inline TLiwVariant::TLiwVariant(const CLiwBuffer* aValue) : iTypeId(LIW::EVariantTypeNull), iPtrC(), iPtrC8()
- {
- Set(aValue);
- }
-
-inline TLiwVariant::TLiwVariant(const TUid& aValue) : iTypeId(LIW::EVariantTypeNull), iPtrC(), iPtrC8()
- {
- Set(aValue);
- }
-
-inline TLiwVariant::TLiwVariant(const TDesC& aValue) : iTypeId(LIW::EVariantTypeNull), iPtrC(), iPtrC8()
- {
- iData.iBufC = NULL;
- Set(aValue);
- }
-
-inline TLiwVariant::TLiwVariant(const HBufC* aValue) : iTypeId(LIW::EVariantTypeNull), iPtrC(), iPtrC8()
- {
- iData.iBufC = NULL;
- if(aValue)
- Set(*aValue);
- else
- Reset();
- }
-
-inline TLiwVariant::TLiwVariant(const TTime& aValue) : iTypeId(LIW::EVariantTypeNull), iPtrC(), iPtrC8()
- {
- Set(aValue);
- }
-
-inline TLiwVariant::TLiwVariant(const TDesC8& aValue) : iTypeId(LIW::EVariantTypeNull), iPtrC(), iPtrC8()
- {
- iData.iBufC8 = NULL;
- Set(aValue);
- }
-
-
-inline TLiwVariant::TLiwVariant(const RFile& aValue) : iTypeId(LIW::EVariantTypeNull), iPtrC(), iPtrC8()
- {
- Set(aValue);
- }
-
-
-inline TLiwVariant::TLiwVariant(const CLiwList* aValue) : iTypeId(LIW::EVariantTypeNull), iPtrC(), iPtrC8()
- {
- Set(aValue);
- }
-
-inline TLiwVariant::TLiwVariant(const CLiwMap* aValue) : iTypeId(LIW::EVariantTypeNull), iPtrC(), iPtrC8()
- {
- Set(aValue);
- }
-
-inline TLiwVariant::TLiwVariant(const MLiwInterface* aValue) : iTypeId(LIW::EVariantTypeNull), iPtrC(), iPtrC8()
- {
- Set(aValue);
- }
-
-inline TLiwVariant::TLiwVariant(const CLiwIterable* aValue) : iTypeId(LIW::EVariantTypeNull), iPtrC(), iPtrC8()
- {
- Set(aValue);
- }
-
-inline LIW::TVariantTypeId TLiwVariant::TypeId() const
- {
- return static_cast<LIW::TVariantTypeId>(iTypeId);
- }
-
-inline TBool TLiwVariant::IsEmpty() const
- {
- return (iTypeId == LIW::EVariantTypeNull);
- }
-
-inline void TLiwVariant::Set(const HBufC* aValue)
- {
- Set(*aValue);
- }
-
-inline TLiwVariant& TLiwVariant::operator=(TInt32 aValue)
- {
- Set(aValue);
- return *this;
- }
-
-inline TLiwVariant& TLiwVariant::operator=(TInt64 aValue)
- {
- Set(aValue);
- return *this;
- }
-
-inline TLiwVariant& TLiwVariant::operator=(TReal aValue)
- {
- Set(aValue);
- return *this;
- }
-inline TLiwVariant& TLiwVariant::operator=(const CLiwBuffer* aValue)
- {
- Set(aValue);
- return *this;
- }
-
-inline TLiwVariant& TLiwVariant::operator=(TBool aValue)
- {
- Set(aValue);
- return *this;
- }
-
-inline TLiwVariant& TLiwVariant::operator=(TUint aValue)
- {
- Set(aValue);
- return *this;
- }
-
-inline TLiwVariant& TLiwVariant::operator=(const TUid& aValue)
- {
- Set(aValue);
- return *this;
- }
-
-inline TLiwVariant& TLiwVariant::operator=(const TDesC& aValue)
- {
- Set(aValue);
- return *this;
- }
-
-inline TLiwVariant& TLiwVariant::operator=(const HBufC* aValue)
- {
- Set(*aValue);
- return *this;
- }
-
-inline TLiwVariant& TLiwVariant::operator=(const TTime& aValue)
- {
- Set(aValue);
- return *this;
- }
-
-
-inline TLiwVariant& TLiwVariant::operator=(const TDesC8& aValue)
- {
- Set(aValue);
- return *this;
- }
-
-
-inline TLiwVariant& TLiwVariant::operator=(const RFile& aValue)
- {
- Set(aValue);
- return *this;
- }
-
-
-inline TLiwVariant& TLiwVariant::operator=(const CLiwList* aValue)
- {
- Set(aValue);
- return *this;
- }
-
-inline TLiwVariant& TLiwVariant::operator=(const CLiwMap* aValue)
- {
- Set(aValue);
- return *this;
- }
-
-inline TLiwVariant& TLiwVariant::operator=(const MLiwInterface* aValue)
- {
- Set(aValue);
- return *this;
- }
-
-inline TLiwVariant& TLiwVariant::operator=(const CLiwIterable* aValue)
- {
- Set(aValue);
- return *this;
- }
-
-inline TBool operator!=(const TLiwVariant& aLhs, const TLiwVariant& aRhs)
- {
- return !(aLhs == aRhs);
- }
-
-
-inline void CLiwContainer::IncRef()
- {
- iRefCount++;
- }
-
-inline void CLiwContainer::DecRef()
- {
- if (--iRefCount == 0)
- delete this;
- }
-// End of file
--- a/serviceapifw_plat/liw_generic_parameter_api/inc/liwvarianttype.hrh Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Variant data type for Generic Parameters library.
-*
-*/
-
-
-
-
-
-
-
-#include "liwcommon.hrh"
-#ifndef LIW_VARIANT_TYPE_HRH
-#define LIW_VARIANT_TYPE_HRH
-
-namespace LIW {
-
-/**
-* Data formats supported by TLiwVariant class.
-*/
-enum TVariantTypeId
- {
- EVariantTypeAny = -1, ///< Used only in searching
- EVariantTypeNull = 0, ///< Null (empty) type
-
- EVariantTypeTInt32 = 1, ///< 32 bit Integer
- EVariantTypeTUid = 2, ///< Globally unique UID
- EVariantTypeDesC = 3, ///< Constant text literal
- EVariantTypeTTime = 4, ///< Date and time
- EVariantTypeDesC8 = 5, ///< 8-bit data buffer
- EVariantTypeFileHandle = 6, ///< File handle
- EVariantTypeList = 7, ///< List
- EVariantTypeMap = 8, ///< Map
- EVariantTypeInterface = 9, ///< Interface
- EVariantTypeIterable = 10, ///< Iterable
- EVariantTypeTBool = 11, ///< Bool Data Type
- EVariantTypeTUint = 12, ///< Unsigned Integer Data Type
- EVariantTypeTReal = 13, ///< Float type
- EVariantTypeBuffer = 14, ///< Buffer type
- EVariantTypeTInt64 = 15 ///< 64 bit Integer
- };
-}
-#endif // LIW_VARIANT_TYPE_HRH
-
-// End of file
-
--- a/serviceapifw_plat/liw_generic_parameter_api/liw_generic_parameter_api.metaxml Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<api id="071ad9643b986c7f19e4342924c3544a" dataversion="1.0">
-<name>liw_generic_parameter_api</name>
-<description>Generic parameter API supports the creation of generic parameters and passing them from a consumer to provider(s) (input parameters) and vice versa (output parameters).</description>
-<type>c++</type>
-<subsystem>languageinterworkingfw</subsystem>
-<libs><lib name="liwservicehandler.lib"/>
-</libs>
-<release category="domain" sinceversion=""/>
-<attributes>
-<htmldocprovided>yes</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/serviceapifw_plat/liw_provider_utility_api/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: File that exports the files belonging to
-: LIW Provider Utility API
-*
-*/
-
-
-
-
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/liwmenu.h MW_LAYER_PLATFORM_EXPORT_PATH(liwmenu.h)
--- a/serviceapifw_plat/liw_provider_utility_api/inc/liwmenu.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,277 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Declares LIW Menu utilities for providers to access consumer menu.
-*
-*/
-
-
-
-
-
-
-
-#ifndef LIW_MENU_H
-#define LIW_MENU_H
-
-// INCLUDES
-#include <eikmenup.h>
-#include <liwserviceifbase.h>
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-* CLiwMenuPane for providers to have limited access to consumer menu.
-*
-* LIW provider can get a reference to CLiwMenuPane in its InitializeMenuPaneL()
-* method, which is derived from CLiwServiceIfMenu. With this reference,
-* the provider can e.g. insert menu items to the consumer application's menu.
-*
-* @lib ServiceHandler.lib
-* @since Series 60 2.6
-*/
-class CLiwMenuPane: public CBase
- {
- public:
- /**
- * Constructor.
- *
- * @param aMenuPane Consumer's menu pane handle.
- * @param aBaseCmdId Base command ID for new menu items, specified by consumer.
- */
- IMPORT_C CLiwMenuPane(CEikMenuPane& aMenuPane, TInt aBaseCmdId);
-
- /**
- * Destructor.
- */
- IMPORT_C virtual ~CLiwMenuPane();
-
- public:
- /**
- * Adds a menu item to consumer menu. For each addition a mapping element
- * is created. This method should normally be called from provider's
- * InitializeMenuPaneL().
- *
- * @param aServiceCmd The LIW service command the provider implements.
- * @param aMenuItem The menu item data.
- * @param aIndex Position of item where to add menu items.
- */
- IMPORT_C void AddMenuItemL(
- TInt aServiceCmd,
- CEikMenuPaneItem::SData& aMenuItem,
- TInt aIndex);
-
- /**
- * Adds a menu item to consumer menu. For each addition a mapping element
- * is created. This method should normally be called from provider's
- * InitializeMenuPaneL().
- *
- * @param aServiceCmd The LIW service command the provider implements.
- * @param aMenuItem The menu item data.
- * @param aIndex Position of item where to add menu items.
- * @param aExtraText Altenative menu item text, if it is placed to a submenu.
- */
- IMPORT_C void AddMenuItemL(
- TInt aServiceCmd,
- CEikMenuPaneItem::SData& aMenuItem,
- TInt aIndex,
- const TDesC& aExtraText);
-
- /**
- * Adds a menu item(s) to consumer menu from provider resource. This method
- * should normally be called from provider's InitializeMenuPaneL().
- *
- * @param aReader Resource reader pointing to the menu resource.
- * @param aServiceCmd The LIW service command the provider implements.
- * @param aIndex Position of item where to add menu items.
- * @param aAddSeparator Currently not in use.
- */
- IMPORT_C void AddMenuItemsL(
- TResourceReader& aReader,
- TInt aServiceCmd,
- TInt aIndex,
- TBool aAddSeperator = EFalse);
-
- /**
- * Adds a menu item(s) to consumer menu from provider resource. This method
- * should normally be called from provider's InitializeMenuPaneL().
- *
- * @param aFileName The provider's resource where menu item(s) are defined.
- * @param aResId Resource id of a MENU_PANE.
- * @param aServiceCmd The LIW service command the provider implements.
- * @param aIndex Position of item where to add menu items.
- * @param aAddSeperator Currently not in use.
- */
- IMPORT_C void AddMenuItemsL(
- TFileName& aFileName,
- TInt aResId,
- TInt aServiceCmd,
- TInt aIndex,
- TBool aAddSeperator = EFalse);
-
- public:
- /**
- * Gets the provider's original menu command ID from the dynamic menu command
- * ID (generated by the LIW framework).
- *
- * @param aDynCmdId Dynamic menu command ID.
- * @return Found provider's original menu command ID, KErrNotFound if not found.
- */
- IMPORT_C TInt MenuCmdId(TInt aDynCmdId) const;
-
- /**
- * Gets the dynamic menu command ID (generated by the LIW framework) from the
- * provider's original menu command ID. There are usually multiple matching
- * dynamic menu command IDs, so this method returns the first item found.
- *
- * @param aMenuCmdId Provider's original menu command ID.
- * @return Found dynamic menu command ID, KErrNotFound if not found.
- */
- IMPORT_C TInt DynCmdId(TInt aMenuCmdId) const;
-
- /**
- * Gets the LIW service command ID from the dynamic menu command ID (generated
- * by the LIW framework).
- *
- * @param aDynCmdId Dynamic menu command ID.
- * @return Found LIW service command ID, KErrNotFound if not found.
- */
- IMPORT_C TInt ServiceCmdId(TInt aDynCmdId) const;
-
- /**
- * Add sub menu title item. This item will not be visible in menus,
- * but will be used as title for comsumer's LIW submenu (if consumer
- * requests that).
- *
- * @param aTitle Title text
- * @param aIndex Position of title item in menu (can be anything, but
- * if there is several title item definitions in menu,
- * then the last one will be used).
- * @since 2.8
- */
- IMPORT_C void AddTitleItemL(const TDesC& aTitle, TInt aIndex);
-
- friend class CLiwServiceHandlerImpl;
-
- private:
- struct SMenuIdMap
- {
- TInt serviceCmdId; // LIW service command ID.
- TInt origCmdId; // Original menu ID used by provider SW
- TInt dynMenuCmdId; // The dynamic command ID generated by LIWFW
- CLiwServiceIfBase* owner; // A pointer to the provider object.
- RBuf extraText; // Alternative submenu text is stored here.
- };
-
- private:
- TInt FindCmdId(TInt aIndex);
- inline CEikMenuPane& MenuPane();
- inline void SetResourceSlotId(TInt aSlot);
- inline TInt ResourceSlotId() const;
- inline void SetPaneOffset(TInt aOffset);
- inline TInt PaneOffset() const;
- inline TInt MenuResourceId() const;
- inline void SetMenuResourceId(TInt aMenuResourceId);
- TBool IsCmdInRange(TInt aCmdSpaceSize, TInt aCmd);
- CLiwServiceIfBase* CommandOwner(TInt aDynId) const;
- inline CLiwServiceIfBase* InitializingOwner() const;
- inline void SetInitializingOwner(CLiwServiceIfBase* aOwner);
- const TDesC& ExtraText(TInt aDynMenuCmdId);
-
- private:
- // Original menu pane.
- CEikMenuPane* iMenuPane;
-
- // Base ID to generate menu IDs for placeholders. From constructor.
- TInt iBaseCmdId;
-
- // Map needed to map provider cmd IDs to dynamic command Ids
- RArray<SMenuIdMap> iIdMap;
-
- TInt iNextCmdId; // The next free command ID to use
- TInt iResourceSlotId;
- TInt iPaneOffset;
- TInt iMenuResourceId;
- CLiwServiceIfBase* iInitializingOwner; // Owner that is currently initializing.
-
- TInt iReserved_1;
- void *iExtension; // reserved for future use
- };
-
-
-inline CEikMenuPane& CLiwMenuPane::MenuPane()
- {
- return *iMenuPane;
- }
-
-
-inline void CLiwMenuPane::SetResourceSlotId(TInt aSlot)
- {
- iResourceSlotId = aSlot;
- }
-
-
-inline TInt CLiwMenuPane::ResourceSlotId() const
- {
- return iResourceSlotId;
- }
-
-
-inline void CLiwMenuPane::SetPaneOffset(TInt aOffset)
- {
- iPaneOffset = aOffset;
- }
-
-
-inline TInt CLiwMenuPane::PaneOffset() const
- {
- return iPaneOffset;
- }
-
-
-inline CLiwServiceIfBase* CLiwMenuPane::InitializingOwner() const
- {
- return iInitializingOwner;
- }
-
-
-inline void CLiwMenuPane::SetInitializingOwner(CLiwServiceIfBase* aOwner)
- {
- iInitializingOwner = aOwner;
- }
-
-
-inline TInt CLiwMenuPane::MenuResourceId() const
- {
- return iMenuResourceId;
- }
-
-
-inline void CLiwMenuPane::SetMenuResourceId(TInt aMenuResourceId)
- {
- iMenuResourceId = aMenuResourceId;
- }
-
-#endif // LIW_MENU_H
-
-// END of File
--- a/serviceapifw_plat/liw_provider_utility_api/liw_provider_utility_api.metaxml Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<api id="730be64774621b57a419389b18668ccd" dataversion="1.0">
-<name>liw_provider_utility_api</name>
-<description>Utilities that help implementing LIW providers.</description>
-<type>c++</type>
-<subsystem>languageinterworkingfw</subsystem>
-<libs><lib name="liwservicehandler.lib"/>
-</libs>
-<release category="domain" sinceversion=""/>
-<attributes>
-<htmldocprovided>yes</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/serviceapifw_plat/liw_service_handler_api/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: File that exports the files belonging to
-: LIW Service Handler API
-*
-*/
-
-
-
-
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/liwservicehandler.h MW_LAYER_PLATFORM_EXPORT_PATH(liwservicehandler.h)
--- a/serviceapifw_plat/liw_service_handler_api/inc/liwservicehandler.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,457 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Declares an API for the consumer applications to access the
-* Language Interworking Framework.
-*
-*/
-
-
-
-
-
-
-
-#ifndef LIW_SERVICE_HANDLER_H
-#define LIW_SERVICE_HANDLER_H
-
-// INCLUDES
-#include <barsread.h>
-#include <liwcommon.h>
-#include <e32capability.h>
-
-// CONSTANTS
-
-// MACROS
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-class CLiwServiceHandlerImpl;
-
-class CRTSecMgrScriptSession;
-
-
-enum TLiwLoadStatus
-{
- KLiwUnknown = -5,
- KLiwMetaDataInvalidFormat, //-4
- KLiwInvalidVersionSpecification, //-3
- KLiwVersionOutOfRange, //-2
- KLiwSecurityAccessCheckFailed, //-1
- KLiwServiceLoadSuccess, //0
- KLiwServiceAlreadyLoaded //1
-
- //..Other possible error codes
-};
-
-
-// CLASS DECLARATION
-
-/**
-* CLiwServiceHandler is the main class of the Language Interworking
-* Framework. The Service Handler implements support for dynamically
-* loadable service providers which offer services to consumer applications.
-* The Service Handler maps consumers and service providers together via
-* interests and data agreements and hides the consumers from the providers.
-*
-* SERVICE is any command or functionality offered by a provider to
-* consumer. The service includes typically menu item UI elements,
-* but it can also just an engine type of command which executes specific
-* functionality and reports status back to the consumer.
-*
-* CONSUMER application accesses interesting services offered by
-* service provider(s). The consumer uses only those services in which
-* it is interested in. The interest is expressed using a set of criteria
-* items.
-*
-* INTEREST is a list of criteria items.
-*
-* CRITERIA consists of set of attributes which guide the LIW Framework to use
-* only those providers in which the consumer is interested in.
-* The criteria consists of following attributes:
-* - Criteria UID (we can allocate pre-defined criteria items).
-* - Service command UID (we can allocate pre-defined commands).
-* - Content MIME type (string).
-* - Additional options (variant data type just in case).
-*
-* PROVIDER produces those services for a consumer that match the given criteria
-* specified by the consumer. A provider can offer menu items and their command
-* handling logic to the consumer applications. A provider can also offer base
-* services that don't require any UI elements.
-*
-* DATA AGREEMENT is an agreement between consumer and provider about parameters
-* needed to be passed in a use case.
-*
-* @lib ServiceHandler.lib
-* @since Series 60 2.6
-*/
-NONSHARABLE_CLASS(CLiwServiceHandler) : public CBase
- {
- public: // Construction & destruction
-
- /**
- * Constructs a Service Handler instance.
- */
- IMPORT_C static CLiwServiceHandler* NewL();
-
- /**
- * Constructs a Service Handler instance.
- */
- IMPORT_C static CLiwServiceHandler* NewLC();
-
- /**
- * Destructor.
- */
- IMPORT_C virtual ~CLiwServiceHandler();
-
- public: // Management
-
- /**
- * Resets the Service Handler, discards existing interest and unloads
- * corresponding service providers.
- */
- IMPORT_C void Reset();
-
- /**
- * Returns the amount of providers that fulfil the given criteria.
- *
- * @param aCriteria Criteria to match.
- * @return Number of providers matching the criteria.
- */
- IMPORT_C TInt NbrOfProviders(const CLiwCriteriaItem* aCriteria);
-
- public: // Interest handling
-
- /**
- * Adds the given interest to the Service Handler from a resource and updates
- * possibly existing old interest. Corresponding service providers are loaded.
- * If a provider leaves during initialization, it is trapped by the Service Handler.
- *
- * @param aInterestResourceId ID of the resource containing criteria items.
- * @leave KErrNotSupported CCoeEnv is not accessible.
- * @see Reset
- */
- IMPORT_C void AttachL(TInt aInterestResourceId);
-
- /**
- * Adds given interest to the Service Handler from an array of criteria items.
- * If a provider leaves during initialization, it is trapped by the Service Handler.
- *
- * @param aInterest Array of criteria items. Ownership is not transferred.
- */
- IMPORT_C TInt AttachL(const RCriteriaArray& aInterest);
-
- /**
- * Gets the currently valid interest in use by the Service Handler.
- *
- * @param aInterest An array of returned criteria items, may be empty.
- * Ownership is not transferred, i.e. the objects in the
- * array must not be deleted.
- */
- IMPORT_C void GetInterest(RCriteriaArray& aInterest);
-
- /**
- * Removes given interest from the Service Handler. Corresponding service
- * providers are unloaded.
- *
- * @param aInterest Array of returned criteria items, may be empty.
- */
- IMPORT_C void DetachL(const RCriteriaArray& aInterest);
-
- /**
- * Removes given interest from the Service Handler. Corresponding service
- * providers are unloaded.
- *
- * @param aInterestResourceId ID of the resource containing criteria items.
- * @leave KErrNotSupported CCoeEnv is not accessible.
- */
- IMPORT_C void DetachL(TInt aInterestResourceId);
-
- /**
- * Returns criteria by ID.
- *
- * @param aId Criteria ID.
- * @return Criteria item pointer matching the ID. Ownership is not transferred.
- */
- IMPORT_C const CLiwCriteriaItem* GetCriteria(TInt aId);
-
- /**
- * Returns an empty instance of CLiwGenericParamList class. It can be
- * used for example as an input parameter list for the Service Handler's
- * API methods. This is just a convenience method and doesn't have
- * to be used. If consumer wants to create input list by itself
- * it is ok. If this method is used, the Service Handler takes care
- * of deleting returned generic parameter list.
- *
- * @return An empty instance of CLiwGenericParameter list.
- */
- IMPORT_C CLiwGenericParamList& InParamListL();
-
- /**
- * Returns an empty instance of CLiwGenericParamList class. The instance can be
- * used for example as an output parameter list for Service Handler
- * API methods. This is just a convenience method and doesn't have
- * to be used. If consumer wants to create output list by itself
- * it is ok. If this method is used, Service Handler takes care
- * of deleting returned generic parameter list.
- *
- * @return An empty instance of CLiwGenericParameter list.
- */
- IMPORT_C CLiwGenericParamList& OutParamListL();
-
- public: // Menu handling
-
- /**
- * Initialises menu pane with service commands from a provider.
- * This method must be called upon DynInitMenuPaneL of consumer
- * application in order to let the provider to hook its menu items.
- *
- * @param aMenuPane Handle of the menu pane to initialise.
- * @param aMenuResourceId The menu to be attached.
- * @param aBaseMenuCmdId Base ID for the Service Handler to generate
- * menu IDs for placeholders.
- * @param aInParamList Input parameter list for provider's parameters checking.
- * @leave KErrNotSupported CCoeEnv is not accessible.
- * @leave KErrOverflow Consumer application has too many LIW placeholders in its menu.
- * Currently, maximum 16 is supported.
- */
- IMPORT_C void InitializeMenuPaneL(
- CEikMenuPane& aMenuPane,
- TInt aMenuResourceId,
- TInt aBaseMenuCmdId,
- const CLiwGenericParamList& aInParamList);
- /**
- * Initialises menu pane with service commands from a provider.
- * This method must be called upon DynInitMenuPaneL of consumer
- * application in order to let the provider to hook its menu items.
- * In normal circumstances, the other variant of this method should be used.
- *
- * @param aMenuPane Handle of the menu pane to initialise.
- * @param aMenuResourceId The menu to be attached.
- * @param aBaseMenuCmdId Base ID for the Service Handler to generate
- * menu IDs for placeholders.
- * @param aInParamList Input parameter list for provider's parameters checking.
- * @param aUseSubmenuTextsIfAvailable If the provider has specified alternative submenu
- * texts for its menu items, those can be taken into use if this
- * parameter is set to ETrue. This should be used only for manually
- * created submenus. If using LIW_CASCADE_ID or
- * LIW_INTELLIGENT_CASCADE_ID, the LIW framework can automatically
- * decide whether to use the submenu texts or not, and this parameter
- * has no effect.
- * @leave KErrNotSupported CCoeEnv is not accessible.
- * @leave KErrOverflow Consumer application has too many LIW placeholders in its menu.
- * Currently, maximum 16 is supported.
- */
- IMPORT_C void InitializeMenuPaneL(
- CEikMenuPane& aMenuPane,
- TInt aMenuResourceId,
- TInt aBaseMenuCmdId,
- const CLiwGenericParamList& aInParamList,
- TBool aUseSubmenuTextsIfAvailable);
-
- /**
- * Returns the service command ID associated to the menu command. If found, it means
- * that there is a provider which can handle the menu command. Thus the command
- * handling needs to be routed to the provider via ExecuteMenuCmdL.
- *
- * @param aMenuCmdId Menu command ID to be mapped to service cmd,
- * KNullServiceCmd is returned if no service command exists.
- * @return Service command ID, KLiwCmdNone if no ID is found.
- * @see ExecuteMenuCmdL
- */
- IMPORT_C TInt ServiceCmdByMenuCmd(TInt aMenuCmdId) const;
-
- /**
- * Tells the provider to execute a menu command invoked by the consumer.
- * Not supported if calling outside UI framework. Use ServiceCmdByMenuCmd to
- * check if there is any provider for the menu command.
- *
- * @param aMenuCmdId The menu command to be executed.
- * @param aInParamList Input data parameters, can be an empty list.
- * @param aOutParamList Output data parameters, can be an empty list.
- * @param aCmdOptions Options for the command, see TLiwServiceCmdOptions in LiwCommon.hrh.
- * @param aCallback Callback for asynchronous command handling, parameter checking, etc.
- * @leave KErrArgument Callback is missing when required.
- * @leave KErrNotSupported No cmd matches given menu command or CCoeEnv is not accessible.
- * @see ServiceCmdByMenuCmd
- */
- IMPORT_C void ExecuteMenuCmdL(
- TInt aMenuCmdId,
- const CLiwGenericParamList& aInParamList,
- CLiwGenericParamList& aOutParamList,
- TUint aCmdOptions = 0,
- MLiwNotifyCallback* aCallback= NULL);
-
- /**
- * Attach menu related criteria items to the given menu.
- * If a provider leaves during initialization, it is trapped by the Service Handler.
- *
- * @param aMenuResourceId Menu to be attached.
- * @param aInterestResourceId Resource id for the interest list.
- * @leave KErrNotSupported CCoeEnv is not accessible.
- */
- IMPORT_C void AttachMenuL(TInt aMenuResourceId, TInt aInterestResourceId);
-
- /**
- * Attach menu related criteria items to the given menu.
- * If a provider leaves during initialization, it is trapped by the Service Handler.
- *
- * @param aMenuResourceId Menu to be attached.
- * @param aReader Resource reader for the interest list.
- * @leave KErrNotSupported CCoeEnv is not accessible.
- */
- IMPORT_C void AttachMenuL(TInt aMenuResourceId, TResourceReader& aReader);
- /**
- * Attach menu related criteria items to the given menu.
- *
- * @param aMenuResourceId Menu to be attached.
- * @param aInterest Array of criteria items. Ownership is not transferred.
- * @leave KErrNotSupported CCoeEnv is not accessible.
- */
- IMPORT_C void AttachMenuL(TInt aMenuResourceId, const RCriteriaArray& aInterest);
-
- /**
- * Attach menu related criteria items to the given menu.
- *
- * @param aMenuEntries List of menu command ids, ids not related to interests may be set to 0.
- * @param aMenuResourceId Menu to be attached.
- * @param aInterest Interest list.
- */
- IMPORT_C void AttachMenuL(RArray<TInt>& aMenuEntries, TInt aMenuResourceId, RCriteriaArray& aInterest);
-
- /**
- * Detach menu related criteria items from the given menu.
- * In following cases this method just returns without doing anything:
- * 1. If interest resource id is non-zero and CCoeEnv is not accessible.
- * 2. If interest resource id is non-zero and there occurs an error when reading
- * the interest (e.g. not enough memory).
- *
- * @param aMenuResourceId Menu to be detached.
- * @param aInterestResourceId Resource id for the interest list. If NULL, all
- * criteria items are detached from the given menu.
- */
- IMPORT_C void DetachMenu(TInt aMenuResourceId, TInt aInterestResourceId);
-
- /**
- * Checks if there are menu providers attached to given menu id. Consumer
- * application can use this information to decide whether a sub menu
- * containing only LIW items should be hidden or not.
- *
- * @param aSubMenuId The menu id to be checked.
- * @return ETrue if there isn't any menu providers attached to this menu.
- * EFalse otherwise.
- */
- IMPORT_C TBool IsSubMenuEmpty(TInt aSubMenuId);
-
- /**
- * Returns boolean value indicating whether the given menu contains
- * currently attached placeholders.
- *
- * @param aMenuResourceId Resource id of the menu to be queried.
- * @return ETrue if aMenuResource contains currently attached placeholders.
- * EFalse otherwise.
- */
- IMPORT_C TBool IsLiwMenu(TInt aMenuResourceId);
-
- /**
- * Handles LIW submenus. This method should be called from consumer application's
- * DynInitMenuPaneL.
- *
- * @param aPane Menu pane to be handled.
- * @return ETrue if aPane was an LIW submenu and it was handled.
- * Consumer's DynInitMenuPaneL pane may now return.
- * EFalse if aPane was not an LIW submenu and DynInitMenuPaneL should
- * continue normally.
- */
- IMPORT_C TBool HandleSubmenuL(CEikMenuPane& aPane);
-
- /**
- * CEikMenuPane uses this method to inform AIF framework that a menu is launched.
- * This method does not need to be called by any other component.
- *
- * @since Series 60 3.0
- */
- IMPORT_C static void ReportMenuLaunch();
-
- public: // Generic Service Command handling
-
- /**
- * Executes a service command for all providers. Otherwise similar to ExecuteMenuCmdL.
- *
- * @param aCmdId The command to be executed.
- * @param aInParamList Input data parameters, can be an empty list.
- * @param aOutParamList Output data parameters, can be an empty list.
- * @param aCmdOptions Options for the command, see TLiwServiceCmdOptions in LiwCommon.hrh.
- * @param aCallback Callback for asynchronous command handling, parameter checking, etc.
- * @leave KErrArgument Callback is missing when required.
- * @leave KErrNotSupported No provider supports the service.
- */
- IMPORT_C void ExecuteServiceCmdL(
- const TInt& aCmdId,
- const CLiwGenericParamList& aInParamList,
- CLiwGenericParamList& aOutParamList,
- TUint aCmdOptions = 0,
- MLiwNotifyCallback* aCallback = 0);
-
- /**
- * Executes a service command.
- *
- * @param aCmd The criteria item containing the service command and content type
- * @param aInParamList Input data parameters, can be an empty list.
- * @param aOutParamList Output data parameters, can be an empty list.
- * @param aCmdOptions Options for the command, see TLiwServiceCmdOptions in LiwCommon.hrh.
- * @param aCallback Callback for asynchronous command handling, parameter checking, etc.
- * @leave KErrArgument Callback is missing when required.
- * @leave KErrNotSupported No provider supports the service.
- */
- IMPORT_C void ExecuteServiceCmdL(
- const CLiwCriteriaItem& aCmd,
- const CLiwGenericParamList& aInParamList,
- CLiwGenericParamList& aOutParamList,
- TUint aCmdOptions = 0,
- MLiwNotifyCallback* aCallback = 0);
-
- /**
- * Gets provider command ID by dynamic command ID.
- *
- * @since Series 60 3.0
- * @param aMenuCmdId The consumer's menu command ID generated by LIW framework.
- * This can be get e.g. from consumer's HandleCommandL().
- * @return Found provider menu command ID, KErrNotFound if not found.
- */
- IMPORT_C TInt MenuCmdId(TInt aMenuCmdId) const;
-
- IMPORT_C TInt AttachL(const RCriteriaArray& aInterest,CRTSecMgrScriptSession& aSecMgrScriptSession);
-
- /**
- * Lists available service implementations
- *
- * @param aFilterItem
- * @param aProviderList
- *
- * @return none
- */
- IMPORT_C void QueryImplementationL(RCriteriaArray& aFilterItem, RCriteriaArray& aProviderList);
-
- private:
- void ConstructL();
- CLiwServiceHandler();
-
- private:
- CLiwServiceHandlerImpl* iImpl;
- };
-
-#endif // LIW_SERVICE_HANDLER_H
-
-// END of File
--- a/serviceapifw_plat/liw_service_handler_api/liw_service_handler_api.metaxml Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<api id="6852aedac409c2513ef9b8922d163f44" dataversion="1.0">
-<name>liw_service_handler_api</name>
-<description>API for consumer applications to use the LIW framework, referred also as Consumer API. Hides the implementation details, e.g. ECom usage. In addition to this a consumer uses Generic Parameter API and Criteria API.</description>
-<type>c++</type>
-<subsystem>languageinterworkingfw</subsystem>
-<libs><lib name="liwservicehandler.lib"/>
-</libs>
-<release category="domain" sinceversion=""/>
-<attributes>
-<htmldocprovided>yes</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/serviceapifw_plat/liw_service_interface_base_api/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: File that exports the files belonging to
-: LIW Service Interface Base API
-*
-*/
-
-
-
-
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/liwserviceifbase.h MW_LAYER_PLATFORM_EXPORT_PATH(liwserviceifbase.h)
--- a/serviceapifw_plat/liw_service_interface_base_api/inc/liwserviceifbase.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Declares Base service API for all providers to implement in
-* order to offer services to Language Interworking Framework.
-*
-*/
-
-
-
-
-
-
-#ifndef LIW_SERVICE_IF_BASE_H
-#define LIW_SERVICE_IF_BASE_H
-
-// INCLUDES
-#include <liwgenericparam.h>
-#include <liwcommon.h>
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-/**
-* Extension interface UIDs.
-*/
-enum TLiwExtendedIf
-{
- /*
- * Extension interface UID to get service data interface
- *
- * @see CLiwServiceData
- */
- KLiwGetServiceDataIf = 0x102830B2
-};
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-class MLiwNotifyCallback;
-class CLiwCriteriaItem;
-//typedef RPointerArray<CLiwCriteriaItem> RCriteriaArray;
-class CLiwServiceData;
-// CLASS DECLARATION
-
-/**
-* This is the base service interface to access providers that offer base services.
-*
-* This interface needs to be implemented by all the LIW providers. Base service
-* providers should inherit from this class directly. Menu service providers
-* should inherit from CLiwServiceIfMenu.
-*
-* @lib ServiceHandler.lib
-* @since Series 60 2.6
-* @see CLiwServiceIfMenu
-**/
-class CLiwServiceIfBase : public CBase
- {
- public:
- /**
- * Destructor.
- */
- IMPORT_C virtual ~CLiwServiceIfBase();
-
- /**
- * Called by the LIW framework to initialise provider with necessary information
- * from the Service Handler. This method is called when the consumer makes
- * the attach operation.
- *
- * @param aFrameworkCallback Framework provided callback for provider to send
- * events to framework.
- * @param aInterest List of criteria items which invoked the provider.
- */
- virtual void InitialiseL(
- MLiwNotifyCallback& aFrameworkCallback,
- const RCriteriaArray& aInterest) = 0;
-
- /**
- * Executes generic service commands included in criteria.
- *
- * @param aCmdId Command to be executed.
- * @param aInParamList Input parameters, can be an empty list.
- * @param aOutParamList Output parameters, can be an empty list.
- * @param aCmdOptions Options for the command, see KLiwOpt* in LiwCommon.hrh.
- * @param aCallback Callback for asynchronous command handling, parameter checking, etc.
- * @leave KErrArgument Callback is missing when required.
- * @leave KErrNotSupported No provider supports service.
- */
- virtual void HandleServiceCmdL(
- const TInt& aCmdId,
- const CLiwGenericParamList& aInParamList,
- CLiwGenericParamList& aOutParamList,
- TUint aCmdOptions = 0,
- const MLiwNotifyCallback* aCallback = NULL) = 0;
-
- /**
- * Executes generic service command
- *
- * @param aCmdName The service command to be executed.
- * @param aInParamList Input parameters, can be an empty list.
- * @param aOutParamList Output parameters, can be an empty list.
- * @param aCmdOptions Options for the command, see KLiwOpt* in LiwCommon.hrh.
- * @param aCallback Callback for asynchronous command handling, parameter checking, etc.
- * @leave KErrArgument Callback is missing when required.
- * @leave KErrNotSupported No provider supports service.
- */
- void HandleServiceCmdL(
- const TDesC8& aCmdName,
- const CLiwGenericParamList& aInParamList,
- CLiwGenericParamList& aOutParamList,
- TUint aCmdOptions = 0,
- const MLiwNotifyCallback* aCallback = NULL)
- {
- _LIT8(KGenericParamID,"cmd");
-
- ((CLiwGenericParamList&)aInParamList).AppendL(
- TLiwGenericParam(KGenericParamID, TLiwVariant(aCmdName)));
-
- HandleServiceCmdL(KLiwCmdAsStr, aInParamList,
- aOutParamList, aCmdOptions, aCallback);
- }
-
-
-
- // Rest of the class is for LIW's internal use and doesn't consern
- // service providers.
- friend class CLiwServiceHandlerImpl;
- friend class CLiwBinding;
- friend class CLiwEcomMonitor;
-
- protected:
- IMPORT_C virtual void* ExtensionInterface(TUid aInterface);
-
- private:
- void SetDtorKeyId(TUid aDtorKeyId);
- TBool Match(CLiwCriteriaItem* aItem);
- void AddCriteria(CLiwCriteriaItem* aItem);
- TUid ImplementationUid() const;
- void SetImplementationUid(TUid aUid);
- TBool HasCriteria(CLiwCriteriaItem& aItem) const;
-
- private:
- TUid iDtorKeyId;
- RCriteriaArray iCriterias;
- TUid iImplUid;
-
- // Reserved member
- TAny* iReserved;
- };
-
-
-#endif // LIW_SERVICE_IF_BASE_H
-
-// End of file
--- a/serviceapifw_plat/liw_service_interface_base_api/liw_service_interface_base_api.metaxml Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<api id="ac14fe06672420dff3cfe6b40ffb20b8" dataversion="1.0">
-<name>liw_service_interface_base_api</name>
-<description>Base service interface, which needs to be implemented by all the providers. Contains initialization services for the LIW Framework and service command execution.</description>
-<type>c++</type>
-<subsystem>languageinterworkingfw</subsystem>
-<libs><lib name="liwservicehandler.lib"/>
-</libs>
-<release category="domain" sinceversion=""/>
-<attributes>
-<htmldocprovided>yes</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/serviceapifw_plat/liw_service_interface_menu_api/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: File that exports the files belonging to
-: LIW Service Interface Menu API
-*
-*/
-
-
-
-
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/liwserviceifmenu.h MW_LAYER_PLATFORM_EXPORT_PATH(liwserviceifmenu.h)
--- a/serviceapifw_plat/liw_service_interface_menu_api/inc/liwserviceifmenu.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Declares service API for providers offering menu services for
-* consumers.
-*
-*/
-
-
-
-
-
-
-#ifndef LIW_SERVICE_IF_MENU_H
-#define LIW_SERVICE_IF_MENU_H
-
-// INCLUDES
-#include <liwserviceifbase.h>
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-class CLiwMenuPane;
-
-// CLASS DECLARATION
-
-/**
-* This is the menu service interface to access providers that offer menu services.
-*
-* Menu service providers should inherit this class. Providers offering
-* only base services should inherit CLiwServiceIfBase instead.
-*
-* @lib ServiceHandler.lib
-* @since Series 60 2.6
-* @see CLiwServiceIfBase
-**/
-class CLiwServiceIfMenu: public CLiwServiceIfBase
- {
- public:
- /**
- * Destructor.
- */
- IMPORT_C virtual ~CLiwServiceIfMenu();
-
- /**
- * Provider should implement this method to initialise a menu pane by adding
- * provider specific menu items. The LIW framework gives the parameters to be
- * used in the addition process.
- *
- * @param aMenuPane Menu pane handle.
- * @param aIndex The position of the item where to add menu items.
- * @param aCascadeId ID of cascade menu item.
- * @param aInParamList Input parameter list for provider's parameter checking.
- */
- virtual void InitializeMenuPaneL(
- CLiwMenuPane& aMenuPane,
- TInt aIndex,
- TInt aCascadeId,
- const CLiwGenericParamList& aInParamList) = 0;
-
- /**
- * Provider should implement this method to handle a menu command. Called by the
- * Service Handler when a consumer calls ExecuteMenuCmdL().
- *
- * @param aMenuCmdId Original provider specific ommand ID for the menu command.
- * Defined in the provider's menu item resource.
- * @param aInParamList Input parameters, can be an empty list.
- * @param aOutParamList Output parameters, can be an empty list.
- * @param aCmdOptions Options for the command, see KLiwCmdOpt* in LiwCommon.hrh.
- * @param aCallback Callback if asynchronous command handling is wanted by consumer.
- * The provider may or may not support this. A provider should
- * leave with KErrNotSupported, if not.
- * @leave KErrNotSupported Callback is not supported.
- */
- virtual void HandleMenuCmdL(
- TInt aMenuCmdId,
- const CLiwGenericParamList& aInParamList,
- CLiwGenericParamList& aOutParamList,
- TUint aCmdOptions = 0,
- const MLiwNotifyCallback* aCallback = NULL) = 0;
-
- /**
- * Returns current LIW menu pane for this menu service provider.
- *
- * @return Pointer to the current LIW menu pane object.
- */
- IMPORT_C const CLiwMenuPane* MenuPane() const;
-
- protected:
- IMPORT_C virtual void* ExtensionInterface(TUid aInterface);
-
- private:
- // Rest of the class is for LIW's internal use and doesn't consern
- // service providers.
- friend class CLiwServiceHandlerImpl;
-
- void InitializeMenuPaneHookL(
- CLiwMenuPane* aMenuPane,
- TInt aIndex,
- TInt aCascadeId,
- const CLiwGenericParamList& aInParamList);
-
- void HandleMenuCmdHookL(
- CLiwMenuPane* aMenuPane,
- TInt aMenuCmdId,
- const CLiwGenericParamList& aInParamList,
- CLiwGenericParamList& aOutParamList,
- TUint aCmdOptions = 0,
- const MLiwNotifyCallback* aCallback = NULL);
-
- private:
- CLiwMenuPane* iMenuPane; // Not owned.
-
- // Reserved member
- TAny* iSpare;
- };
-
-
-#endif // LIW_SERVICE_IF_MENU_H
-
-// End of file
--- a/serviceapifw_plat/liw_service_interface_menu_api/liw_service_interface_menu_api.metaxml Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<api id="6ffeead58bc28380a25b2d2fa6b2a07f" dataversion="1.0">
-<name>liw_service_interface_menu_api</name>
-<description>Menu interface, which need to be implemented by those providers hooking into menu items of consumer applications. Contains initialization and command handling methods that relate to menu UI element.</description>
-<type>c++</type>
-<subsystem>languageinterworkingfw</subsystem>
-<libs><lib name="liwservicehandler.lib"/>
-</libs>
-<release category="domain" sinceversion=""/>
-<attributes>
-<htmldocprovided>yes</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/serviceapifw_plat/rtsecuritymanager_client_api/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build file for rtsecurity manager client API
-*
-*/
-
-
-
-
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/rtsecmanager.h MW_LAYER_PLATFORM_EXPORT_PATH(rtsecmanager.h)
-../inc/rtsecmgrscriptsession.h MW_LAYER_PLATFORM_EXPORT_PATH(rtsecmgrscriptsession.h)
-../inc/rtsecmgrtrustInfo.h MW_LAYER_PLATFORM_EXPORT_PATH(rtsecmgrtrustinfo.h)
-
--- a/serviceapifw_plat/rtsecuritymanager_client_api/inc/rtsecmanager.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,300 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines Runtime security manager's core class. Defines
- * APIs for runtime bindings and clients to access security
- * management functionalities
- *
-*/
-
-
-
-
-
-
-#ifndef _CRTSECMANAGER_H
-#define _CRTSECMANAGER_H
-
-#include <e32base.h>
-
-#include <rtsecmgrcommondef.h>
-#include <rtsecmgrtrustinfo.h>
-
-class CRTSecMgrScriptSession;
-class MSecMgrPromptHandler;
-class CRTSecMgrClientProxy;
-class CTrustInfo;
-class CPermission;
-
-/**
- * Core class of the runtime recurity manager component.
- *
- * Runtime security manager broadly offers
- *
- * - Policy management functions
- * - Script management functions
- * - Access permission check
- *
- * CRTSecManager offers methods to perform policy management functionalities
- * such as
- * - Registering runtime security access policy
- * - Updating the registered security access policy
- * - Un-registering the registered security access policy
- *
- * Similarly, CRTSecManager offers methods for script management such as
- * - Registering a runtime script with security manager
- * - Un-registering the registered script
- * - Obtaining scipt session associated with the registered script
- *
- * The main functionality of CRTSecManager is to perform access permission
- * check using script session functions
- *
- * @lib rtsecmgrclient.lib
- */
-NONSHARABLE_CLASS(CRTSecManager) : public CBase
- {
-public:
-
- /**
- * Two-phased constructor
- *
- * Constructs a CRTSecManager instance
- *
- * Initializes client side security manager session. Starts the security
- * manager server, if it is not already running.
- *
- * @return pointer to an instance of CRTSecManager
- */
- IMPORT_C static CRTSecManager* NewL();
-
- /**
- * Two-phased constructor
- *
- * Constructs a CRTSecManager instance and leaves the created instance
- * onto the cleanupstack.
- *
- * Initializes client side security manager session. Starts the security
- * manager server, if it is not already running.
- *
- * @return pointer to an instance of CRTSecManager
- */
- IMPORT_C static CRTSecManager* NewLC();
-
- /**
- * Destructor
- *
- * Closes client side security manager session
- */
- IMPORT_C ~CRTSecManager();
-
- /**
- * Registers a runtime security policy. Runtimes should call this function
- * to register their security access and trust policies.
- *
- * @param aSecPolicy RFile Handle to security policy file
- *
- * @return TPolicyID generated policy identifier if successul; Otherwise one of
- * system wide error codes
- *
- * \note
- * Clients should call ShareProtected on the file session object as shown below.
- *
- * @code *
- * RFs fileSession;
- * fileSession.Connect();
- * fileSession.ShareProtected(); //Mandatorily call before invoking SetPolicy
- *
- * RFile secPolicyFile;
- * secPolicyFile.Open(fileSession, _L("AccessPolicy.xml"), EFileShareAny );
- * TPolicyID policyID = secMgr->SetPolicy(secPolicyFile);
- *
- * if(policyID <= KErrNone)
- * {
- * //error..
- * }
- *
- * @endcode
- *
- */
- IMPORT_C TPolicyID SetPolicy(const RFile& aSecPolicy);
-
- /**
- * Registers a runtime security policy. Runtimes should call this function
- * to register their security access and trust policies.
- *
- * @param aPolicyBuffer const TDesC& security policy file buffer
- *
- * @return TPolicyID generated policy identifier if successul; Otherwise one of
- * system wide error codes
- *
- * \note
- * Clients should call ShareProtected on the file session object as shown below.
- *
- * @code *
- * RFs fileSession;
- * fileSession.Connect();
- * fileSession.ShareProtected(); //Mandatorily call before invoking SetPolicy
- *
- * RFile secPolicyFile;
- * secPolicyFile.Open(fileSession, _L("AccessPolicy.xml"), EFileShareAny );
- * HBufC8* fileBuffer = HBufC8::NewL(KFileBufferMaxLen);
- * secPolicyFile.Read(*fileBuffer);
- *
- * TPolicyID policyID = secMgr->SetPolicy(*fileBuffer);
- *
- * if(policyID <= KErrNone)
- * {
- * //error..
- * }
- *
- * @endcode
- *
- */
- IMPORT_C TPolicyID SetPolicy(const TDesC8& aPolicyBuffer);
-
- /**
- * UnRegisters a registered security policy. Runtimes should call this function
- * to de-register the already registered security policy.
- *
- * @param aPolicyID TPolicyID Policy identifier previously generated with SetPolicy
- *
- * @return TInt One of sytem wide error codes in case of failure; Otherwise KErrNone
- *
- */
- IMPORT_C TInt UnSetPolicy(TPolicyID aPolicyID);
-
- /**
- * Updates an already registered security policy. Runtimes should call this function
- * to update their policy.
- *
- * @param aPolicyID TPolicyID Policy identifier previously generated with SetPolicy
- * @param aSecPolicy RFile Handle to security policy file
- *
- * @see SetPolicy for file session pre-conditions
- *
- * @return TPolicyID One of sytem wide error codes in case of failure; Otherwise the passed policyID
- *
- */
- IMPORT_C TPolicyID UpdatePolicy(TPolicyID aPolicyID,const RFile& aSecPolicy);
-
- /**
- * Updates an already registered security policy. Runtimes should call this function
- * to update their policy.
- *
- * @param aPolicyID TPolicyID Policy identifier previously generated with SetPolicy
- * @param aPolicyBuffer const TDesC& security policy file buffer
- *
- * @see SetPolicy for file session pre-conditions
- *
- * @return TPolicyID One of sytem wide error codes in case of failure; Otherwise the passed policyID
- *
- */
- IMPORT_C TPolicyID UpdatePolicy(TPolicyID aPolicyID,const TDesC8& aPolicyBuffer);
-
- /**
- * Registers a script/executable. Runtimes should specify the trust information
- * of the script to be registered.
- *
- * @param aPolicyID TPolicyID Runtime's registered policy identifier
- * @param aTrustInfo CTrustInfo a valid instance of CTrustInfo object
- *
- * @return TExecutableID generated executable identifier if successul; Otherwise one of
- * system wide error codes
- *
- */
- IMPORT_C TExecutableID RegisterScript(TPolicyID aPolicyID, const CTrustInfo& aTrustInfo);
-
- /**
- * Registers a script/executable. Runtimes should specify the trust information
- * of the script to be registered.
- *
- * @param aPolicyID TPolicyID Runtime's registered policy identifier
- * @param aHashMarker const TDesC& Hash value to identify script when starting script session
- * @param aTrustInfo CTrustInfo a valid instance of CTrustInfo object
- *
- * @return TExecutableID generated executable identifier if successul; Otherwise one of
- * system wide error codes
- *
- */
- IMPORT_C TExecutableID RegisterScript(TPolicyID aPolicyID, const TDesC& aHashMarker, const CTrustInfo& aTrustInfo);
-
- /**
- * De-Registers a script/executable. Runtimes should pass the previously registered
- * script identifier corresponding to the script to be de-registered.
- *
- * @param aExeID TExecutableID A valid script identifier
- *
- * @return TInt One of sytem wide error codes in case of failure; Otherwise KErrNone
- *
- */
- IMPORT_C TInt UnRegisterScript(TExecutableID aExeID, TPolicyID aPolicyID);
-
- /**
- * Creates a script session instance. CRTSecMgrScriptSession performs access permission
- * check for native platform service invocation. A CRTSecMgrScriptSession instance needs to
- * be created for every instance of scripts which could potentially invoke platform service.
- *
- * @param aPolicyID TPolicyID Valid registered policy identifier
- * @param aExeID TExecutableID Script identifier, KAnonymousScript in case of anonymous script session
- * @param aPromptHdlr MSecMgrPromptHandler An optional prompt handler. If not provided, Security manager
- * will supply a default prompt handler
- *
- * @return CRTSecMgrScriptSession* A pointer to the created instance of CRTSecMgrScriptSession if the executableID is valid;
- * Otherwise NULL
- */
- IMPORT_C CRTSecMgrScriptSession* GetScriptSessionL(TPolicyID aPolicyID, TExecutableID aExecID, MSecMgrPromptHandler* aPromptHdlr=NULL , const TDesC& aHashValue = KNullDesC);
-
- /**
- * Creates a script session instance for an unregisterd trusted script. CRTSecMgrScriptSession performs access permission
- * check for native platform service invocation.
- *
- * @param aPolicyID TPolicyID Valid registered policy identifier
- * @param aTrustInfo CTrustInfo a valid instance of CTrustInfo object
- * @param aPromptHdlr MSecMgrPromptHandler An optional prompt handler. If not provided, Security manager
- * will supply a default prompt handler
- *
- * @return CRTSecMgrScriptSession* A pointer to the created instance of CRTSecMgrScriptSession;
- * NULL in case of invalid policy identifier
- *
- *
- */
- IMPORT_C CRTSecMgrScriptSession* GetScriptSessionL(TPolicyID aPolicyID, const CTrustInfo& aTrustInfo, MSecMgrPromptHandler* aPromptHdlr=NULL);
-
- /**
- * Creates a script session instance. CRTSecMgrScriptSession performs access permission
- * check for native platform service invocation. A CRTSecMgrScriptSession instance needs to
- * be created for every instance of scripts which could potentially invoke platform service.
- *
- * @param aPolicyID TPolicyID Valid registered policy identifier
- * @param aExeID TExecutableID Script identifier, KAnonymousScript in case of anonymous script session
- * @param aHashValue TDesC hash value passed while registering the script
- * @param aPromptHdlr MSecMgrPromptHandler An optional prompt handler. If not provided, Security manager
- * will supply a default prompt handler
- *
- * @return CRTSecMgrScriptSession* A pointer to the created instance of CRTSecMgrScriptSession if the executableID is valid;
- * Otherwise NULL
-
- IMPORT_C CRTSecMgrScriptSession* GetScriptSession(TPolicyID aPolicyID, TExecutableID aExecID, const TDesC& aHashValue, MSecMgrPromptHandler* aPromptHdlr=NULL);*/
-private:
- //Private default constructor
- CRTSecManager();
-
- //Part of second-phase constructor
- void ConstructL();
-
-private:
- //Proxy to client side session object
- CRTSecMgrClientProxy* iClientProxy;
- };
-#endif //_CRTSECMANAGER_H
-
--- a/serviceapifw_plat/rtsecuritymanager_client_api/inc/rtsecmgrscriptsession.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,661 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Client side proxy class representing script session
- *
-*/
-
-
-
-
-
-
-
-#ifndef _CRTSECMGRSCRIPTSESSION_H_
-#define _CRTSECMGRSCRIPTSESSION_H_
-
-#include <rtsecmanager.rsg>
-#include <rtsecmgrcommondef.h>
-#include <rtsecmgrpermission.h>
-#include <rtsecmgrscript.h>
-#include <rtsecmgrtrustinfo.h>
-
-class CCoeEnv;
-class CRTSecMgrSubSessionProxy;
-
-/**
- * Type holding data to be used while prompting.
- *
- * The default or custom (runtime over-ridden) prompt handler requires the permission
- * type to prompt and the user-selection to be returned to security
- * manager for access permission check
- *
- * @lib rtsecmgrclient.lib
- */
-class CPromptData : public CBase
- {
-public:
-
- /**
- * Two-phased constructor
- *
- * Constructs a CPromptData instance
- *
- * @return pointer to an instance of CPromptData
- */
- static CPromptData* NewL()
- {
- CPromptData* self = CPromptData::NewLC ();
- CleanupStack::Pop (self);
- return self;
- }
-
- /**
- * Two-phased constructor
- *
- * Constructs a CPromptData instance and leaves the created instance
- * onto the cleanupstack.
- *
- * @return pointer to an instance of CPromptData
- */
-
- static CPromptData* NewLC()
- {
- CPromptData* self = new (ELeave) CPromptData();
- CleanupStack::PushL (self);
- self->ConstructL ();
- return self;
- }
-
-
- /**
- * Destructor
- *
- */
- ~CPromptData()
- {
- if(iPermission)
- delete iPermission;
-
- }
-
-
- /*
- *
- *
- */
- void ConstructL()
- {
-
- }
-
- /**
- * Returns permission data
- *
- * @return an object containing the permission data
- */
- inline CPermission* Permission() const
- {
- return iPermission;
- }
-
- /**
- * Sets the user-selection data
- *
- * @param aUserSelection TUserPromptOption user-selected data value
- */
- inline void SetUserSelection(TUserPromptOption aUserSelection)
- {
- iUserSelection = aUserSelection;
- }
-
- /**
- * Sets the permission value of the domain
- *
- * @param aPermission CPermission permission value of the domain
- */
-
- inline void SetPermissions(CPermission& aPermission)
- {
- if(iPermission)
- {
- delete iPermission;
- iPermission = NULL;
- }
-
- iPermission = CPermission::NewL(aPermission);
- //iPermission = &aPermission;
- }
-private:
- //private default constructor
- CPromptData::CPromptData() :
- iUserSelection(RTUserPrompt_UnDefined)
- {
- }
-
- //private permission data
- CPermission* iPermission;
-
- //private user-selection
- TUserPromptOption iUserSelection;
-
- friend class CRTSecMgrScriptSession;
- };
-
-//typdef to model list of prompt data structure
-typedef RPointerArray<CPromptData> RPromptDataList;
-typedef RArray<TInt> RResourceArray;
-
-/*
- * Prompt callback handler class.
- *
- * Runtimes should implement the prompt handler function to prompt the user
- * and to obtain the user option chosen. The prompt data are used by
- * runtime security manager for further access permission check.
- *
- * If runtimes do not override prompt handling, security manager component
- * would then provide default prompt handler functionality.
- *
- * @lib rtsecmgrclient.lib
- */
-class MSecMgrPromptHandler
- {
-public:
- /**
- * Prompts the user.
- *
- * @param aPromptDataList RPromptDataList list of prompt data used by
- * prompt callback handler to show to the user
- *
- * @return KErrNone if prompting successful; In case of failure, one of
- * system wide error codes
- */
- virtual TInt Prompt(RPromptDataList& aPromptDataList , TExecutableID aExecID = KAnonymousScript) =0;
-
- /**
- * Sets the user chosen prompt selection.
- *
- * @param aPromptUiOption TSecMgrPromptUIOption prompt selection
- */
- virtual void SetPromptOption(TSecMgrPromptUIOption aPromptUiOption) =0;
- /**
- * Returns the prompt selection
- *
- * @return TSecMgrPromptUIOption the prompt selection
- */
- virtual TSecMgrPromptUIOption PromptOption() const =0;
- };
-
-struct TPermanentInfo
- {
- TPermGrant iAllowedBits; //permanent allowed caps
- TPermGrant iDeniedBits; //permanent denied caps
- RProviderArray iAllowedProviders; //permanent allowed providers
- RProviderArray iDeniedProviders; //permanent denied providers
- };
-
-struct TSessionInfo
- {
- TCapabilityBitSet AllowedCaps; //caps allowed for this session (caps allowed for this session & perm allowed)
- TCapabilityBitSet DeniedCaps; //caps denied for this sesion (caps denied for this session & perm denied)
- RProviderArray AllowedProviders;//providers allowed for this session
- RProviderArray DeniedProviders;//providers denied for this session
- };
-
-/**
- *
- * Thin proxy to the client side sub-session handle.
- *
- * This class implements the default prompt handling functionality. In addition, the main
- * functionality of native platform access check is performed by CRTSecMgrScriptSession.
- *
- * @lib rtsecmgrclient.lib
- *
- */
-NONSHARABLE_CLASS(CRTSecMgrScriptSession) : public CBase, MSecMgrPromptHandler
- {
-public:
- /**
- * Two-phased constructor
- *
- * Constructs a CRTSecMgrScriptSession instance
- *
- * Initializes client side script sub-session.
- *
- * @param MSecMgrPromptHandler pointer to a prompt handler callback
- *
- * @return pointer to an instance of CRTSecMgrScriptSession if succesful;
- * Otherwise NULL
- */
- static CRTSecMgrScriptSession* NewL(MSecMgrPromptHandler* aPromptHdlr=0);
-
- /**
- * Two-phased constructor
- *
- * Constructs a CRTSecMgrScriptSession instance and leaves the created instance
- * on the cleanupstack
- *
- * Initializes client side script sub-session.
- *
- * @param MSecMgrPromptHandler pointer to a prompt handler callback
- *
- * @return pointer to an instance of CRTSecMgrScriptSession if succesful;
- * Otherwise NULL
- */
- static CRTSecMgrScriptSession* NewLC(MSecMgrPromptHandler* aPromptHdlr=0);
-
- /**
- * Callback funciton for moreinfo link in advanced prompt
- *
- * Calls the moreinfo function for indivudual capability or for a alias group
- *
- * @param aCallbackParam TAny* pointer to TCallbackParam
- *
- */
- static TInt LinkCallback(TAny *aCallbackParam);
-
- /**
- * Destructor
- *
- * Closes the sub-session
- *
- */
- IMPORT_C ~CRTSecMgrScriptSession();
-
- /**
- * Opens security manager script sub-session. This method in turn opens a
- * sub-session on the server side, by bringing script related data onto the cache.
- *
- * @param aParentSession RSessionBase handle to parent security manager session
- * @param aPolicyID TPolicyID policy identifier of the script associated with this script session
- * @param aExecID TExecutableID identifier of the script associated with this script session
- *
- * @return KErrNone if successful; In case of failure, one of system wide error cods
- */
- TInt Open(const RSessionBase& aParentSession,TPolicyID aPolicyID,TExecutableID aExecID);
-
- /**
- * Opens security manager script sub-session. This method in turn opens a
- * sub-session on the server side, by bringing script related data onto the cache.
- *
- * @param aParentSession RSessionBase handle to parent security manager session
- * @param aPolicyID TPolicyID policy identifier of the script associated with this script session
- * @param aExecID TExecutableID identifier of the script associated with this script session
- * @param aHashValue TDesC hash value of the scrpt passed while registering the script
- *
- * @return KErrNone if successful; In case of failure, one of system wide error cods
- */
- TInt Open(const RSessionBase& aParentSession,TPolicyID aPolicyID,TExecutableID aExecID,const TDesC& aHashValue);
-
- /**
- * Opens security manager script sub-session. This method in turn opens a
- * sub-session on the server side, by bringing script related data onto the cache.
- *
- * @param aParentSession RSessionBase handle to parent security manager session
- * @param aPolicyID TPolicyID policy identifier of the script associated with this script session
- * @param aExecID TExecutableID identifier of the script associated with this script session
- * @param aTrustInfo CTrustInfo trust data structure
- *
- * @return KErrNone if successful; In case of failure, one of system wide error cods
- */
- TInt Open(const RSessionBase& aParentSession,TPolicyID aPolicyID,TExecutableID aExecID,const CTrustInfo& aTrustInfo);
-
- /**
- * Performs access permission check
- *
- * This method evaluates access permission by comparing the expected capabilities
- * to perform service invocation with the capabilities of the script. The
- * capabilities of the script is computed as sum of :
- *
- * - default allowed capabilities as specified in security access policy
- * - user-granted capabilities, allowed by user while prompting
- *
- * The capabilities allowed by the user could be of various durations, like
- * session-based, blanket/permanent and the one valid for the current invocation only
- * (one-shot)
- *
- * @param aCapabilitiesToCheck RCapabilityArray list of capabilities to be checked against
- * script's capbilities
- *
- * @return EAccessOk if the access permission check is successful; Else, EAccessNOk
- */
- IMPORT_C TInt IsAllowed(const RCapabilityArray& aCapabilitiesToCheck);
-
- /**
- * Performs access permission check
- *
- * This overloaded method evaluates access permission by comparing the expected capabilities
- * to perform service invocation with the capabilities of the script. The
- * capabilities of the script is computed as sum of :
- *
- * - default allowed capabilities as specified in security access policy
- * - user-granted capabilities, allowed by user while prompting
- *
- * The capabilities allowed by the user could be of various durations, like
- * session-based, blanket/permanent and the one valid for the current invocation only
- * (one-shot)
- *
- * This overloaded version returns the list of capabilities that do not match after
- * access permission check. This can be used by the client to display to the user the
- * list of unmatched capabilities
- *
- * @param aCapabilitiesToCheck RCapabilityArray list of capabilities to be checked against
- * script's capbilities
- * @param aUnMatchedCapabilities RCapabilityArray list of unmatched capabilities
- *
- * @return EAccessOk if the access permission check is successful; Else, EAccessNOk
- */
- IMPORT_C TInt IsAllowed(const RCapabilityArray& aCapabilitiesToCheck,RCapabilityArray& aUnMatchedCapabilities);
-
- /**
- * Performs access permission check
- *
- * This overloaded method evaluates access permission by comparing the expected capabilities
- * to perform service invocation with the capabilities of the script. The
- * capabilities of the script is computed as sum of :
- *
- * - default allowed capabilities as specified in security access policy
- * - user-granted capabilities, allowed by user while prompting
- *
- * The capabilities allowed by the user could be of various durations, like
- * session-based, blanket/permanent and the one valid for the current invocation only
- * (one-shot)
- *
- * This overloaded version returns the list of capabilities that do not match after
- * access permission check. This can be used by the client to display to the user the
- * list of unmatched capabilities
- *
- * @param aCapabilitiesToCheck RCapabilityArray list of capabilities to be checked against
- * script's capbilities
- * @param aProviderUid TProviderUid The provider that is being loaded
- * @param aResourceFilePath TFileName resource file containing the string to prompt.
- *
- * @return EAccessOk if the access permission check is successful; Else, EAccessNOk
- */
- IMPORT_C TInt IsAllowed(const RCapabilityArray& aCapabilitiesToCheck, TProviderUid aProviderUid, TFileName aResourceFileName);
-
- /**
- * Definition of default prompt handler.
- *
- * @param aPromptDataList RPromptDataList list of prompt data used by
- * prompt callback handler to show to the user
- *
- * @return KErrNone if prompting successful; In case of failure, one of
- * system wide error codes
- *
- */
- TInt Prompt(RPromptDataList& aPromptDataList , TExecutableID aExecID = KAnonymousScript);
-
- /**
- * Definition of cost notification.
- *
- */
- void PromptCostL() ;
-
- /**
- * Gets the underlying script object
- *
- * This method is to be used by components, such as application manager,
- * that are interested in displaying script related information to the user.
- *
- * Following are the script related information:
- *
- * - Capabilities allowed by default
- * - User-grantable capabilities
- * - Currently allowed or denied blanket permissions
- *
- * Note that this method should not be used by runtimes unless and until there is
- * a strong design justification
- *
- * @return a reference to underlying script object
- */
- inline CScript& CRTSecMgrScriptSession::Script()
- {
- return *iScript;
- }
-
- /**
- * Returns prompt handler reference
- *
- * @return reference to prompt handler
- */
- inline MSecMgrPromptHandler* PromptHandler() const
- {
- return iPromptHdlr;
- }
-
- /**
- * Sets prompt UI option. The supported prompt options are :
- *
- * - Basic/Default
- * - Advanced
- *
- * The difference between the basic and advanced prompt option
- * reisdes in the fact the number of prompt options and the corresponding
- * prompt texts displayed would be different.
- *
- * If not explictly, the default prompt UI option is set to basic/default prompt UI.
- *
- * @param aUIPromptOption TSecMgrPromptUIOption basic/advanced prompt UI option
- */
- inline void SetPromptOption(TSecMgrPromptUIOption aUIPromptOption)
- {
- iUIPromptOption = aUIPromptOption;
- }
-
- /**
- * Gets prompt UI option. The supported prompt options are :
- *
- * - Basic/Default
- * - Advanced
- *
- * The difference between the basic and advanced prompt option
- * reisdes in the fact the number of prompt options and the corresponding
- * prompt texts displayed would be different.
- *
- * @return aUIPromptOption TSecMgrPromptUIOption basic/advanced prompt UI option
- */
- inline TSecMgrPromptUIOption PromptOption() const
- {
- return iUIPromptOption;
- }
-
- /**
- * Sets the application name to the value passed by the runtime.
- * The name is displayed as part of the prompt for provider based prompting.
- * If name is not set then the default name is used.
- *
- * @param aName TDesC& name of the application.
- */
- IMPORT_C void SetApplicationNameL(const TDesC& aName);
-
-
-private:
- /*
- * Default private constructor
- *
- */
- CRTSecMgrScriptSession(MSecMgrPromptHandler* aPromptHdlr=0);
-
- /*
- * Two phased constructor
- *
- */
- void ConstructL();
-
- /*
- * Contains prompt logic
- *
- */
- TInt Prompt(CPromptData* aPromptData);
-
- /*
- * Private default implementation for advanced prompt UI option
- *
- */
- TInt PromptAdvanced(CPromptData* aPromptData);
-
- /*
- * Logic for displaying more inormation when the user selects more info
- *
- */
- TInt MoreInfoL(CPromptData& aPromptData);
-
- /*
- * Logic identifying the user-selection of prompt
- * duration
- *
- */
- void HandleGrantChosen(CPromptData* aPromptData,
- TCapabilityBitSet aCapBitSet, TCapabilityBitSet& aAllowedCaps,
- TBool& aIsPermGrantModified);
-
- /*
- * Private implementation to update blanket permission data
- *
- */
- void UpdatePermGrant();
-
- /*
- * Conversion utility to convert a single 32-bit value to the list of
- * capabilities (RArray<TCapability>)
- *
- */
- void BuildCapsL(TCapabilityBitSet aCapBitSet, RCapabilityArray& aInOutTCapList);
-
- /*
- * Private implementation to evaluate access permission check
- *
- */
- TInt IsAllowed(const RCapabilityArray& aCapsToCheck,RPromptDataList& aPromptDataList,TCapabilityBitSet& aUnMatchedCapBits);
-
- /*
- * Private implementation to evaluate access permission check. This
- * overloaded version additionally returns the unmatched capabilities
- *
- */
- TInt IsAllowed(const RCapabilityArray& aCapsToCheck,TCapabilityBitSet& aUnMatchedCapBits);
-
- /*
- * Conversion utility to generate an unsigned 32-bit value toggling the individual bits
- * to the corresponding TCapability value
- *
- */
- void AddCapability(TCapabilityBitSet& aInOutCapBitSet, TCapability aCapToSet);
-
- /*
- * Attempts to close the script sub-session
- *
- */
- void Close();
-
- /*
- * Function to add the security manager resource file to the CONE environment
- */
- void AddResourceFiles();
-
- /*
- * Function to add the provider's resource file from which the body of the prompt is populated.
- *
- * @param aResourceFileName TFileName The resource file to be added to the CONE environment
- */
- TInt AddProviderResourceFile(TFileName aResourceFileName);
-
- /*
- * Close all the resource files added to the CONE environment
- */
- void CloseResourceFiles();
-
-private:
- /*
- * permissions allowed or denied for the current session
- * The lifetime of this data structure is associated
- * with this script session
- *
- */
- struct
- {
- TSessionInfo* sessionInfo; //Information about what is allowed for this session (caps/providers allowed for this session & perm allowed)
- TCapabilityBitSet DeniedCaps; //Information about what is denied for this session (caps/providers denied for this session & perm denied)
- }_sessionData;
-
- /*
- * anonymous enumerations for selection index
- *
- */
- enum
- {
- PROMPT_SELIDX_ZERO = 0,
- PROMPT_SELIDX_ONE = PROMPT_SELIDX_ZERO + 1,
- PROMPT_SELIDX_TWO = PROMPT_SELIDX_ZERO + 2,
- PROMPT_SELIDX_THREE = PROMPT_SELIDX_ZERO + 3,
- PROMPT_SELIDX_FOUR = PROMPT_SELIDX_ZERO + 4,
- PROMPT_SELIDX_FIVE = PROMPT_SELIDX_ZERO + 5
- };
-
- /*
- * private script reference
- *
- */
- CScript* iScript;
-
- /*
- * permanently allowed capability bits
- *
- */
- TPermanentInfo* _permanentInfo; //perm allowed information, persistently stored for this script
-
- /*
- * Generic data about the script session
- *
- */
- HBufC* iSessionData;
-
- /*
- * reference to prompt handler instance
- *
- */
- MSecMgrPromptHandler* iPromptHdlr;
-
- /*
- * sub-session proxy pointer
- *
- */
- CRTSecMgrSubSessionProxy* iSubSessionProxy;
-
- /*
- * pointer to Coe environment
- */
- CCoeEnv* iCoeEnv;
-
- /*
- * security manager resource file offset value
- *
- */
- RResourceArray iResourceOffsetArray;
-
- /*
- * Prompt UI option
- *
- */
- TSecMgrPromptUIOption iUIPromptOption;
-
- /*
- * Custom prompt flag
- *
- */
- TBool isCustomPrompt;
- };
-
-#endif //_CRTSECMGRSCRIPTSESSION_H_
-
--- a/serviceapifw_plat/rtsecuritymanager_client_api/inc/rtsecmgrtrustInfo.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Models trust information
- *
-*/
-
-
-
-
-
-
-
-#ifndef _CTRUSTINFO_H_
-#define _CTRUSTINFO_H_
-
-#include <rtsecmgrcommondef.h>
-
-/**
- * CTrustInfo models trust data structure.
- *
- * The runtime security manager evaluates trustedness of a
- * runtime content/script/executable based on the trust information
- * passed by runtimes. The definition of this type is currently
- * incomplete, with state information such as
- *
- * - Origin of the script
- * - Certificate chain of the signed trusted contents
- *
- * @lib rtsecmgrclient.lib
- */
-NONSHARABLE_CLASS(CTrustInfo) : public CBase
- {
-public:
- /**
- * Two-phased constructor
- *
- * Constructs a CTrustInfo instance
- *
- * @return pointer to an instance of CTrustInfo
- */
- IMPORT_C static CTrustInfo* NewL();
-
- /**
- * Two-phased constructor
- *
- * Constructs a CTrustInfo instance and leaves the created instance
- * on the cleanupstack
- *
- * @return pointer to an instance of CTrustInfo
- */
- IMPORT_C static CTrustInfo* NewLC();
-
- /**
- * Destructor
- *
- */
- IMPORT_C ~CTrustInfo();
-private:
- /*
- * Default private constructor
- */
- CTrustInfo();
- };
-
-#endif //_CTRUSTINFO_H_
-
-// End of file
--- a/serviceapifw_plat/rtsecuritymanager_client_api/rtsecuritymanager_client_api.metaxml Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<api id="d1675f0eec9be17120c61a78d0b35b56" dataversion="1.0">
-<name>rtsecuritymanager client api</name>
-<description>rtsecuritymanager client API</description>
-<type>c++</type>
-<subsystem>rtsecuritymanager</subsystem>
-<libs><lib name="RTSecMgrClient.lib"/>
-</libs>
-<release category="domain" sinceversion=""/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/serviceapifw_plat/rtsecuritymanager_client_api/tsrc/bwins/ui_tsecuritymanageru.def Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- ?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * LibEntryL(class CTestModuleIf &)
-
--- a/serviceapifw_plat/rtsecuritymanager_client_api/tsrc/conf/ui_tsecuritymanager.cfg Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,373 +0,0 @@
-//1
-[Test]
-title Simulate KeyDown event
-pause 1000
-presskey global EKeyDownArrow
-pause 1000
-presskey global EKeyDevice0
-[Endtest]
-
-//2
-[Test]
-title secclient1 setpolicy buffer nohash buffer1000
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient1 buffer1000 Buffer nohash
-delete foobar
-sendtobackground
-[Endtest]
-
-//3
-[Test]
-title secclient1 setpolicy file nohash buffer1000
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient1 buffer1000 File nohash
-//foobar secclient1
-delete foobar
-sendtobackground
-[Endtest]
-
-
-
-//4
-[Test]
-title secclient1 setpolicy buffer hash buffer1000
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient1 buffer1000 Buffer hash
-delete foobar
-sendtobackground
-[Endtest]
-
-//5
-[Test]
-title secclient1 setpolicy file hash buffer1000
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient1 buffer1000 File hash
-delete foobar
-sendtobackground
-[Endtest]
-
-//6
-[Test]
-title secclient2 2 crtsecmanager sessions
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient2 pa ra me ters
-delete foobar
-sendtobackground
-[Endtest]
-
-//7
-[Test]
-title secclient3 using unsetpolicy id
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient3 pa ra me ters
-delete foobar
-sendtobackground
-[Endtest]
-
-//8
-[Test]
-title secclient4 using unregister sript
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient4 pa ra me ters
-delete foobar
-sendtobackground
-[Endtest]
-
-
-//9
-[Test]
-title secclient5 creating instance 1000 times
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient5 pa ra me ters
-delete foobar
-sendtobackground
-[Endtest]
-
-
-//10
-[Test]
-title secclient6 unregister twice
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient6 pa ra me ters
-delete foobar
-sendtobackground
-[Endtest]
-
-//11
-[Test]
-title secclient7 updatepolicy with setpolicy gsswithtrust
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient7 gsswithtrust
-delete foobar
-sendtobackground
-[Endtest]
-
-//12
-[Test]
-title secclient7 updatepolicy with setpolicy gsswithouttrust
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient7 gsswithouttrust
-delete foobar
-sendtobackground
-[Endtest]
-
-
- //13
-[Test]
-title secclient8 update policy buffer registerscript
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient8 Buffer registerscript
-delete foobar
-sendtobackground
-[Endtest]
-
-
-
-//14
-[Test]
-title secclient8 update policy buffer file noregisterscript
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient8 File noregisterscript
-delete foobar
-sendtobackground
-[Endtest]
-
-
-//15
-[Test]
-title secclient8 update policy buffer noregisterscript
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient8 Buffer noregisterscript
-delete foobar
-sendtobackground
-[Endtest]
-
-//16
-[Test]
-title secclient8 update policy buffer file registerscript
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient8 File registerscript
-delete foobar
-sendtobackground
-[Endtest]
-
-//17
-[Test]
-title serverstart1 testcase
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar serverstart1 pa ra me ters
-delete foobar
-sendtobackground
-[Endtest]
-
-//18
-[Test]
-title secclient9
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient9 hash
-delete foobar
-sendtobackground
-[Endtest]
-
-
-//19
-[Test]
-title secclient9_2
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient9 nohash
-delete foobar
-sendtobackground
-[Endtest]
-
-
-
-
-//20
-[Test]
-title Simulate KeyDown event
-pause 1000
-presskey global EKeyUpArrow
-pause 1000
-presskey global EKeyDevice0
-[Endtest]
-
-
-//21
-[Test]
-title Simulate KeyDown event
-pause 1000
-presskey global EKeyDownArrow
-pause 1000
-presskey global EKeyDownArrow
-pause 3000
-presskey global EKeyDownArrow
-pause 3000
-presskey global EKeyDevice0
-
-[Endtest]
-
-//22
-[Test]
-title Simulate KeyDown event
-bringtoforeground
-pause 2000
-presskey global EKeyDevice0
-pause 2000
-presskey global EKeyDevice0
-sendtobackground
-[Endtest]
-
-
- //23
-[Test]
-title secclient8 update policy buffer file registerscript advancedprompt
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient8 File registerscript advancedprompt
-delete foobar
-sendtobackground
-[Endtest]
-
-
-//24
-[Test]
-title Simulate KeyDown event
-pause 2000
-presskey global EKeyEnter
-pause 2000
-presskey global EKeyEnter
-[Endtest]
-
-
-//25
-[Test]
-title secclient10 update policy buffer file registerscript
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient10 File registerscript
-delete foobar
-sendtobackground
-[Endtest]
-
-
-//26
-[Test]
-title Simulate KeyDown event
-pause 2000
-presskey global EKeyDownArrow
-pause 2000
-presskey global EKeyDevice0
-pause 2000
-presskey global EKeyDevice0
-//pause 2000
-//presskey global EKeyDownArrow
-pause 2000
-presskey global EKeyDevice0
-
-[Endtest]
-
-
-//27
-[Test]
-title secclient11
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient11 buffer1000 Buffer nohash
-delete foobar
-sendtobackground
-[Endtest]
-
-//28
-[Test]
-title secclient11
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient11 buffer1000 File hash
-delete foobar
-sendtobackground
-[Endtest]
-
-
-//29
-[Test]
-title Simulate KeyDown event
-presskey global EKeyDevice0
-bringtoforeground
-presskey global EKeyDevice0
-sendtobackground
-[Endtest]
-
-
-//30
-[Test]
-title Simulate KeyDown event
-bringtoforeground
-pause 2000
-presskey global EKeyDevice0
-sendtobackground
-[Endtest]
-
-
-//31
-[Test]
-title secclient12
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient12
-delete foobar
-sendtobackground
-[Endtest]
-
-
-//32
-[Test]
-title secclient13_1
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient13 1
-delete foobar
-sendtobackground
-[Endtest]
-
-
-//33
-[Test]
-title secclient13_2
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient13 2
-delete foobar
-sendtobackground
-[Endtest]
-
-
-//34
-[Test]
-title secclient13_3
-bringtoforeground
-create ui_tsecuritymanager foobar
-foobar secclient13 3
-delete foobar
-sendtobackground
-[Endtest]
-
-
-
\ No newline at end of file
--- a/serviceapifw_plat/rtsecuritymanager_client_api/tsrc/conf/ui_tsecuritymanager_comb.cfg Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,373 +0,0 @@
-//1
-[Test]
-
-title secclient1 setpolicy buffer nohash buffer1000
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 2
-
-// Press Key
-
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 1
-
-[Endtest]
-
-
-//2
-[Test]
-
-title secclient1 setpolicy alwaysallow_buffer_nohash_buffer1000
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 2
-
-// Press Key
-
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 20
-
-[Endtest]
-
-
-//3
-[Test]
-
-title secclient1 setpolicy moreinfo_buffer_nohash_buffer1000
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 2
-
-// Press Key
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 21
-
-
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 22
-
-[Endtest]
-
-
-
-//4
-[Test]
-
-title secclient1 setpolicy file nohash buffer1000
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 3
-
-// Press Key
-
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 1
-
-[Endtest]
-
-//5
-
-[Test]
-
-title secclient1 setpolicy buffer hash buffer1000
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 4
-
-// Press Key
-
-//run testscripter c:\testframework\ui_tsecuritymanager.cfg 1
-
-[Endtest]
-
-//4
-
-[Test]
-
-title secclient1 setpolicy file hash buffer1000
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 5
-
-// Press Key
-
-//run testscripter c:\testframework\ui_tsecuritymanager.cfg 1
-
-[Endtest]
-
-
-//5
-
-[Test]
-
-title secclient2 2 crtsecmanager sessions
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 6
-
-// Press Key
-
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 1
-
-[Endtest]
-
-
-//6
-
-[Test]
-
-title secclient3 using unsetpolicy id
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 7
-
-// Press Key
-
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 1
-
-[Endtest]
-
-
-
-//7
-
-[Test]
-
-title secclient4 using unregister sript
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 8
-
-// Press Key
-
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 1
-
-[Endtest]
-
-
-
-//8
-
-[Test]
-title secclient5 creating instance 1000 times
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 9
-
-// Press Key
-
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 1
-
-[Endtest]
-
-
-//9
-
-[Test]
-title secclient6 unregister twice
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 10
-
-// Press Key
-
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 1
-
-[Endtest]
-
-
-
-//10
-
-[Test]
-title secclient7 updatepolicy with setpolicy gsswithtrust
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 11
-
-// Press Key
-
-//run testscripter c:\testframework\ui_tsecuritymanager.cfg 1
-
-[Endtest]
-
-
-
-
-//11
-
-[Test]
-title secclient7 updatepolicy with setpolicy gsswithouttrust
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 12
-
-// Press Key
-
-//run testscripter c:\testframework\ui_tsecuritymanager.cfg 1
-
-[Endtest]
-
-
-
-//12
-
-[Test]
-title secclient8 update policy buffer registerscript
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 13
-
-// Press Key
-
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 1
-
-[Endtest]
-
-
-//13
-
-[Test]
-title secclient8 update policy buffer file noregisterscript
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 14
-
-// Press Key
-
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 1
-
-[Endtest]
-
-
-
-
-
-//14
-
-[Test]
-title secclient8 update policy buffer noregisterscript
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 15
-
-// Press Key
-
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 1
-
-[Endtest]
-
-
-
-//15
-
-[Test]
-title secclient8 update policy buffer file registerscript
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 16
-
-// Press Key
-
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 1
-
-[Endtest]
-
-
-//16
-
-[Test]
-title serverstart1 testcase
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 17
-
-// Press Key
-
-//run testscripter c:\testframework\ui_tsecuritymanager.cfg 1
-
-[Endtest]
-
-
-//17
-
-[Test]
-title secclient9
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 18
-
-// Press Key
-
-//run testscripter c:\testframework\ui_tsecuritymanager.cfg 1
-
-[Endtest]
-
-
-//18
-
-[Test]
-title secclient9_2
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 19
-
-// Press Key
-
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 1
-
-[Endtest]
-
-
-
-//19
-
-[Test]
-title secclient8 update policy buffer file registerscript advancedprompt
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 23
-
-// Press Key
-
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 26
-
-[Endtest]
-
-
-//20
-
-[Test]
-title secclient10 update policy buffer file registerscript
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 25
-
-// Press Key
-
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 22
-
-[Endtest]
-
-
-
-
-//21
-
-[Test]
-title secclient12 test valid policy file
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 31
-
-
-
-[Endtest]
-
-
-
-//22
-
-[Test]
-title secclient13_1 test valid policy file
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 32
-
-[Endtest]
-
-//22
-
-[Test]
-title secclient13_2 test valid policy file
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 33
-
-[Endtest]
-
-
-//23
-
-[Test]
-title secclient13_3 test valid policy file
-// Show avkonlist
-run testscripter c:\testframework\ui_tsecuritymanager.cfg 34
-
-[Endtest]
-
-
-
-
-
-
--- a/serviceapifw_plat/rtsecuritymanager_client_api/tsrc/data/accesspolicy.xml Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<policy>
- <!-- an alias groups a set of capabilities under one name -->
- <alias name="UserDataGroup">
- <info>This can contain info which can be displayed with capabilities while prompting</info>
- <capabilities>
- <capability>ReadUserData</capability>
- <capability>WriteUserData</capability>
- <capability>Location</capability>
- <capability>UserEnvironment</capability>
- </capabilities>
- </alias>
-
- <alias name="DeviceResourcesGroup">
- <info>This can contain info which can be displayed with capabilities while prompting</info>
- <capabilities>
- <capability>MultimediaDD</capability>
- <capability>ReadDeviceData</capability>
- <capability>WriteDeviceData</capability>
- <capability>CommDD</capability>
- <capability>SurroundingsDD</capability>
- <capability>NetworkControl</capability>
- <!--capability>SwEvent</capability-->
- </capabilities>
- </alias>
-
- <alias name="NetworkGroup">
- <info>This can contain info which can be displayed with capabilities while prompting</info>
- <capabilities>
- <capability>NetworkServices</capability>
- <capability>LocalServices</capability>
- </capabilities>
- </alias>
-
-
- <!-- specify a protection domain -->
- <domain name="UnTrusted">
- <allow>
- <capabilities>
- <capability>SwEvent</capability>
-
-
- </capabilities>
- </allow>
-
- <!-- user-grantable capabilities for this domain -->
- <user>
- <condition>oneshot</condition>
- <condition>session</condition>
- <condition>blanket</condition>
- <defaultCondition>session</defaultCondition>
- <capabilities>
- <capability>NetworkGroup</capability>
- <capability>UserDataGroup</capability>
- <capability>DeviceResourcesGroup</capability>
- <!--capability>ReadUserData</capability>
- <capability>WriteUserData</capability>
- <capability>Location</capability-->
- </capabilities>
- </user>
- </domain>
-
-
-</policy>
--- a/serviceapifw_plat/rtsecuritymanager_client_api/tsrc/data/accesspolicy_1.xml Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE policy>
-<policy>
- <!-- an alias groups a set of capabilities under one name -->
- <alias name="UserDataGroup">
- <info>This can contain info which can be displayed with capabilities while prompting</info>
- <capabilities>
- <capability>ReadUserData</capability>
- <capability>WriteUserData</capability>
- <capability>Location</capability>
- <capability>UserEnvironment</capability>
- </capabilities>
- </alias>
-
- <alias name="DeviceResourcesGroup">
- <info>This can contain info which can be displayed with capabilities while prompting</info>
- <capabilities>
- <capability>MultimediaDD</capability>
- <capability>ReadDeviceData</capability>
- <capability>WriteDeviceData</capability>
- <capability>CommDD</capability>
- <capability>SurroundingsDD</capability>
- <capability>NetworkControl</capability>
- <!--capability>SwEvent</capability-->
- </capabilities>
- </alias>
-
- <alias name="NetworkGroup">
- <info>This can contain info which can be displayed with capabilities while prompting</info>
- <capabilities>
- <capability>NetworkServices</capability>
- <capability>LocalServices</capability>
- </capabilities>
- </alias>
-
-
- <!-- specify a protection domain -->
- <domain name="UnTrusted">
- <allow>
- <capabilities>
- <capability>SwEvent</capability>
-
-
- </capabilities>
- </allow>
-
- <!-- user-grantable capabilities for this domain -->
- <user>
- <condition>oneshot</condition>
- <condition>session</condition>
- <condition>blanket</condition>
- <defaultCondition>session</defaultCondition>
- <capabilities>
- <capability>NetworkGroup</capability>
- <capability>UserDataGroup</capability>
- <capability>DeviceResourcesGroup</capability>
- <!--capability>ReadUserData</capability>
- <capability>WriteUserData</capability>
- <capability>Location</capability-->
- </capabilities>
- </user>
- </domain>
-
-
-<policy>
--- a/serviceapifw_plat/rtsecuritymanager_client_api/tsrc/data/accesspolicy_2.xml Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE policy>
\ No newline at end of file
--- a/serviceapifw_plat/rtsecuritymanager_client_api/tsrc/data/accesspolicy_3.xml Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE policy>
-<policy>
- <!-- an alias groups a set of capabilities under one name -->
- <alias name="UserDataGroup">
- <info>This can contain info which can be displayed with capabilities while prompting</info>
- <capabilities>
- <capability>ReadUserData</capability>
- <capability>WriteUserData</capability>
- <capability>Location</capability>
- <capability>UserEnvironment</capability>
- </capabilities>
- </alias>
-
- <alias name="DeviceResourcesGroup">
- <info>This can contain info which can be displayed with capabilities while prompting</info>
- <capabilities>
- <capability>MultimediaDD</capability>
- <capability>ReadDeviceData</capability>
- <capability>WriteDeviceData</capability>
- <capability>CommDD</capability>
- <capability>SurroundingsDD</capability>
- <capability>NetworkControl</capability>
- <!--capability>SwEvent</capability-->
- </capabilities>
- </alias>
-
- <alias name="NetworkGroup">
- <info>This can contain info which can be displayed with capabilities while prompting</info>
- <capabilities>
- <capability>NetworkServices</capability>
- <capability>LocalServices</capability>
- </capabilities>
- </alias>
-
-
- <!-- specify a protection domain -->
- <domain name="UnTrusted">
- <allow>
- <capabilities>
- <capability>SwEvent</capability>
-
-
- </capabilities>
- </allow>
-
- <!-- user-grantable capabilities for this domain -->
- <user>
- <condition>oneshot</condition>
- <condition>session</condition>
- <condition>blanket</condition>
- <defaultCondition>session</defaultCondition>
- <capabilities>
- <capability>NetworkGroup</capability>
- <capability>UserDataGroup</capability>
- <capability>DeviceResourcesGroup</capability>
- <!--capability>ReadUserData</capability>
- <capability>WriteUserData</capability>
- <capability>Location</capability-->
- </capabilities>
- </user>
- </domain>
-
-
-</Policy>
--- a/serviceapifw_plat/rtsecuritymanager_client_api/tsrc/eabi/ui_tsecuritymanageru.def Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- _Z9LibEntryLR13CTestModuleIf @ 1 NONAME
-
--- a/serviceapifw_plat/rtsecuritymanager_client_api/tsrc/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ?Description
-*
-*/
-
-
-
-
-
-
-
-
-
-PRJ_PLATFORMS
-// specify the platforms your component needs to be built for here
-// defaults to WINS MARM so you can ignore this if you just build these
-DEFAULT
-
-PRJ_TESTEXPORTS
-// NOTE: If using ARS requirements all export operations should be done under this.
-// 'abld test export'
-//../init/testframework.ini /epoc32/WINSCW/C/TestFramework/testframework.ini
-../conf/ui_tsecuritymanager.cfg /epoc32/WINSCW/C/TestFramework/ui_tsecuritymanager.cfg
-../conf/ui_tsecuritymanager_comb.cfg /epoc32/WINSCW/C/TestFramework/ui_tsecuritymanager_comb.cfg
-../data/accesspolicy.xml /epoc32/WINSCW/C/data/others/accesspolicy.xml
-../data/accesspolicy_1.xml /epoc32/WINSCW/C/data/others/accesspolicy_1.xml
-../data/accesspolicy_2.xml /epoc32/WINSCW/C/data/others/accesspolicy_2.xml
-../data/accesspolicy_3.xml /epoc32/WINSCW/C/data/others/accesspolicy_3.xml
-
-
-PRJ_EXPORTS
-
-
-
-// Specify the source file followed by its destination here
-// copy will be used to copy the source file to its destination
-// If there's no destination then the source file will be copied
-// to the same name in /epoc32/include
-// Example:
-/*
-/agnmodel/inc/AGMCOMON.H
-*/
-
-PRJ_TESTMMPFILES
-// NOTE: If using ARS requirements .mmp file operation should be done under this.
-// 'abld test build'
-ui_tsecuritymanager.mmp
-
-
-PRJ_MMPFILES
-// Specify the .mmp files required for building the important component
-// releasables.
-//
-// Specify "tidy" if the component you need to build doesn't need to be
-// released. Specify "ignore" if the MMP file exists but should be
-// ignored.
-// Example:
-/*
-/agnmodel/group/agnmodel.mmp
-#if defined(MARM)
-/agnmodel/group/agsvexe.mmp
-#endif
-*/
-
-
-// End of File
\ No newline at end of file
--- a/serviceapifw_plat/rtsecuritymanager_client_api/tsrc/group/ui_tsecuritymanager.mmp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-/*TYPE TESTCLASS*//*
-* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ?Description
-*
-*/
-
-
-#if defined(__S60_)
- // To get the OS_LAYER_SYSTEMINCLUDE-definition
- #include <platform_paths.hrh>
-#endif
-
-TARGET ui_tsecuritymanager.dll
-TARGETTYPE dll
-UID 0x1000008D 0x101FB3E3
-
-CAPABILITY ALL -TCB
-/* Remove comments and replace 0x00000000 with correct vendor id */
-// VENDORID 0x00000000
-/* Remove comments and replace 0x00000000 with correct secure id */
-// SECUREID 0x00000000
-
-//TARGETPATH ?target_path
-DEFFILE ui_tsecuritymanager.def
-
-SOURCEPATH ../src
-SOURCE ui_tsecuritymanager.cpp
-SOURCE ui_tsecuritymanagerblocks.cpp
-
-//RESOURCE resource_file
-//RESOURCE resource_file2
-
-USERINCLUDE ../inc
-
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib
-LIBRARY stiftestinterface.lib
-LIBRARY stiftestengine.lib
-
-
-LIBRARY apparc.lib
-LIBRARY cone.lib
-LIBRARY eikcore.lib
-LIBRARY avkon.lib
-LIBRARY gdi.lib
-LIBRARY RTSecMgrClient.lib
-LIBRARY efsrv.lib
-LIBRARY RTSecMgrUtil.lib bafl.lib AknSkins.lib Flogger.lib
-LIBRARY ws32.lib eikcoctl.lib eikctl.lib apgrfx.lib aknskins.lib aknskinsrv.lib aknswallpaperutils.lib
-
-LANG SC
-
-
--- a/serviceapifw_plat/rtsecuritymanager_client_api/tsrc/inc/ui_tsecuritymanager.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-/*
-* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ?Description
-*
-*/
-
-
-
-
-
-
-
-
-
-#ifndef UI_TSECURITYMANAGER_H
-#define UI_TSECURITYMANAGER_H
-
-// INCLUDES
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-
-#include <e32base.h>
-#include <e32std.h>
-#include <f32file.h>
-#include <rtsecmgrscriptsession.h>
-#include <rtsecmgrcommondef.h>
-
-// Forward reference
- class CRTSecManager;
-class CTrustInfo;
-class RSecMgrSession;
-class RSecMgrSubSession;
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-#define TEST_CLASS_VERSION_MAJOR 0
-#define TEST_CLASS_VERSION_MINOR 0
-#define TEST_CLASS_VERSION_BUILD 0
-
-// Logging path
-_LIT( Kui_tsecuritymanagerLogPath, "\\logs\\testframework\\ui_tsecuritymanager\\" );
-// Log file
-_LIT( Kui_tsecuritymanagerLogFile, "ui_tsecuritymanager.txt" );
-_LIT( Kui_tsecuritymanagerLogFileWithTitle, "ui_tsecuritymanager_[%S].txt" );
-
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-class Cui_tsecuritymanager;
-
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
-// CLASS DECLARATION
-
-/**
-* Cui_tsecuritymanager test class for STIF Test Framework TestScripter.
-* ?other_description_lines
-*
-* @lib ?library
-* @since ?Series60_version
-*/
-NONSHARABLE_CLASS(Cui_tsecuritymanager) : public CScriptBase,public RSessionBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static Cui_tsecuritymanager* NewL( CTestModuleIf& aTestModuleIf );
-
- /**
- * Destructor.
- */
- virtual ~Cui_tsecuritymanager();
-
- public: // New functions
- TVersion Version() const;
- /**
- * ?member_description.
- * @since ?Series60_version
- * @param ?arg1 ?description
- * @return ?description
- */
- //?type ?member_function( ?type ?arg1 );
-
- public: // Functions from base classes
-
- /**
- * From CScriptBase Runs a script line.
- * @since ?Series60_version
- * @param aItem Script line containing method name and parameters
- * @return Symbian OS error code
- */
- virtual TInt RunMethodL( CStifItemParser& aItem );
-
- protected: // New functions
-
- /**
- * ?member_description.
- * @since ?Series60_version
- * @param ?arg1 ?description
- * @return ?description
- */
- //?type ?member_function( ?type ?arg1 );
-
- protected: // Functions from base classes
-
- /**
- * From ?base_class ?member_description
- */
- //?type ?member_function();
-
- private:
-
- /**
- * C++ default constructor.
- */
- Cui_tsecuritymanager( CTestModuleIf& aTestModuleIf );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- // Prohibit copy constructor if not deriving from CBase.
- // ?classname( const ?classname& );
- // Prohibit assigment operator if not deriving from CBase.
- // ?classname& operator=( const ?classname& );
-
- /**
- * Frees all resources allocated from test methods.
- * @since ?Series60_version
- */
- void Delete();
-
- /**
- * Test methods are listed below.
- */
-
- /**
- * Example test method.
- * @since ?Series60_version
- * @param aItem Script line containing parameters.
- * @return Symbian OS error code.
- */
- virtual TInt serverstart1( CStifItemParser& aItem );
- virtual TInt serverstart2( CStifItemParser& aItem );
- virtual TInt secclient1( CStifItemParser& aItem );
- virtual TInt secclient2( CStifItemParser& aItem );
- virtual TInt secclient3(CStifItemParser& aItem );
- virtual TInt secclient4(CStifItemParser& aItem );
- virtual TInt secclient5(CStifItemParser& aItem );
- virtual TInt secclient6(CStifItemParser& aItem );
- virtual TInt secclient7(CStifItemParser& aItem );
- virtual TInt secclient8(CStifItemParser& aItem );
- virtual TInt secclient9(CStifItemParser& aItem );
- virtual TInt secclient10(CStifItemParser& aItem );
- virtual TInt secclient11(CStifItemParser& aItem );
- virtual TInt secclient12(CStifItemParser& aItem );
- virtual TInt secclient13(CStifItemParser& aItem );
-
-
- // void SendTestClassVersion();
-
-
- TInt StartSecManagerServer() const;
-
- TFullName ServerLocation() const;
- TInt ExecuteThreadOne(TAny *aPtr);
-
- //ADD NEW METHOD DEC HERE
- //[TestMethods] - Do not remove
-
- public: // Data
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- protected: // Data
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- private: // Data
-
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- // Reserved pointer for future extension
- //TAny* iReserved;
-
- public: // Friend classes
- //?friend_class_declaration;
- protected: // Friend classes
- //?friend_class_declaration;
- private: // Friend classes
- //?friend_class_declaration;
- CTrustInfo* iTrust;
- //CLogHandler* iLogger;
- CRTSecManager* iSession;
- CRTSecManager* iSession2;
- CRTSecMgrScriptSession* scriptSession;
- TInt iPolicyId;
-
- RThread iThread1;
-
- };
-
-
- const TInt KSecurityServerUid2Int(0x1020507E);
-const TUid KSecMgrServerUid2 =
- {
- KSecurityServerUid2Int
- };
-
-#endif // UI_TSECURITYMANAGER_H
-
-// End of File
--- a/serviceapifw_plat/rtsecuritymanager_client_api/tsrc/init/testframework.ini Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +0,0 @@
-#
-# This is STIFTestFramework initialization file
-# Comment lines start with '#'-character.
-# See STIF TestFramework users guide.doc for instructions
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set following test engine settings:
-# - Set Test Reporting mode. TestReportMode's possible values are:
-# + 'Summary': Summary of the tested test cases.
-# + 'Environment': Hardware and software info.
-# + 'TestCases': Test case report.
-# + 'FullReport': Set of all above ones.
-# + Example 'TestReportMode= Summary TestCases'
-#
-# - CreateTestReport setting controls report creation mode
-# + YES, Test report will created.
-# + NO, No Test report.
-#
-# - File path indicates the base path of the test report.
-# - File name indicates the name of the test report.
-#
-# - File format indicates the type of the test report.
-# + TXT, Test report file will be txt type, for example 'TestReport.txt'.
-# + HTML, Test report will be html type, for example 'TestReport.html'.
-#
-# - File output indicates output source of the test report.
-# + FILE, Test report logging to file.
-# + RDEBUG, Test report logging to using rdebug.
-#
-# - File Creation Mode indicates test report overwriting if file exist.
-# + OVERWRITE, Overwrites if the Test report file exist.
-# + APPEND, Continue logging after the old Test report information if
-# report exist.
-# - Sets a device reset module's dll name(Reboot).
-# + If Nokia specific reset module is not available or it is not correct one
-# StifHWResetStub module may use as a template for user specific reset
-# module.
-
-[Engine_Defaults]
-
-TestReportMode= FullReport # Possible values are: 'Empty', 'Summary', 'Environment',
- 'TestCases' or 'FullReport'
-
-CreateTestReport= YES # Possible values: YES or NO
-
-TestReportFilePath= C:\LOGS\TestFramework\
-TestReportFileName= TestReport
-
-TestReportFormat= TXT # Possible values: TXT or HTML
-TestReportOutput= FILE # Possible values: FILE or RDEBUG
-TestReportFileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND
-
-DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
-UITestingSupport= YES
-SeparateProcesses= YES
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Module configurations start
-# Modules are added between module tags
-# tags. Module name is specified after ModuleName= tag, like
-# ModuleName= XXXXXXXXX
-# Modules might have initialisation file, specified as
-# IniFile= c:\testframework\YYYYYY
-# Modules might have several configuration files, like
-# TestCaseFile= c:\testframework\NormalCases.txt
-# TestCaseFile= c:\testframework\SmokeCases.txt
-# TestCaseFile= c:\testframework\ManualCases.txt
-
-# (TestCaseFile is synonym for old term ConfigFile)
-
-# Following case specifies demo module settings. Demo module
-# does not read any settings from file, so tags
-# IniFile and TestCaseFile are not used.
-# In the simplest case it is enough to specify only the
-# name of the test module when adding new test module
-
-#[New_Module]
-#ModuleName= demomodule
-#[End_Module]
-
-
-
-
-# Load testmoduleXXX, optionally with initialization file and/or test case files
-[New_Module]
-ModuleName= testcombiner
-
-#TestModuleXXX used initialization file
-IniFile= c:\testframework\Testframework.ini
-
-
-
-TestCaseFile= c:\testframework\ui_tsecuritymanager_comb.cfg
-
-
-[End_Module]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set STIFTestFramework logging overwrite parameters for Logger.
-# Hardware and emulator environment logging path and styles can
-# be configured from here to overwrite the Logger's implemented values.
-#
-# Settings description:
-# - Indicates option for creation log directory/directories. If log directory/directories
-# is/are not created by user they will make by software.
-# + YES, Create log directory/directories if not allready exist.
-# + NO, Log directory/directories not created. Only created one is used.
-#
-# - Overwrite emulator path setting.
-# + Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined
-# Logger's path 'D:\\LOGS\\Module\\' with those definition the path
-# will be 'C:\LOGS\TestFramework\LOGS\Module\'
-#
-# - Overwrite emulator's logging format.
-# + TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
-# + HTML, Log file(s) will be html type(s), for example 'Module.html'.
-#
-# - Overwrited emulator logging output source.
-# + FILE, Logging to file(s).
-# + RDEBUG, Logging to using rdebug(s).
-#
-# - Overwrite hardware path setting (Same description as above in emulator path).
-# - Overwrite hardware's logging format(Same description as above in emulator format).
-# - Overwrite hardware's logging output source(Same description as above in emulator output).
-#
-# - File Creation Mode indicates file overwriting if file exist.
-# + OVERWRITE, Overwrites if file(s) exist.
-# + APPEND, Continue logging after the old logging information if file(s) exist.
-#
-# - Will thread id include to the log filename.
-# + YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
-# + NO, No thread id to log file(s), Example filename 'Module.txt'.
-#
-# - Will time stamps include the to log file.
-# + YES, Time stamp added to each line in log file(s). Time stamp is
-# for example'12.Nov.2003 115958 LOGGING INFO'
-# + NO, No time stamp(s).
-#
-# - Will line breaks include to the log file.
-# + YES, Each logging event includes line break and next log event is in own line.
-# + NO, No line break(s).
-#
-# - Will event ranking include to the log file.
-# + YES, Event ranking number added to each line in log file(s). Ranking number
-# depends on environment's tics, for example(includes time stamp also)
-# '012 12.Nov.2003 115958 LOGGING INFO'
-# + NO, No event ranking.
-#
-
-[Logger_Defaults]
-
-#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#'
-
-#CreateLogDirectories= YES # Possible values: YES or NO
-
-#EmulatorBasePath= C:\LOGS\TestFramework\
-#EmulatorFormat= HTML # Possible values: TXT or HTML
-#EmulatorOutput= FILE # Possible values: FILE or RDEBUG
-
-#HardwareBasePath= D:\LOGS\TestFramework\
-#HardwareFormat= HTML # Possible values: TXT or HTML
-#HardwareOutput= FILE # Possible values: FILE or RDEBUG
-
-#FileCreationMode= OVERWRITE # Possible values: OVERWRITE or APPEND
-
-#ThreadIdToLogFile= YES # Possible values: YES or NO
-#WithTimeStamp= YES # Possible values: YES or NO
-#WithLineBreak= YES # Possible values: YES or NO
-#WithEventRanking= YES # Possible values: YES or NO
-
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
\ No newline at end of file
--- a/serviceapifw_plat/rtsecuritymanager_client_api/tsrc/src/ui_tsecuritymanager.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
-* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ?Description
-*
-*/
-
-
-
-
-
-
-
-
-
-// INCLUDE FILES
-#include <StifTestInterface.h>
-#include "ui_tsecuritymanager.h"
-#include <SettingServerClient.h>
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::Cui_tsecuritymanager
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-Cui_tsecuritymanager::Cui_tsecuritymanager(
- CTestModuleIf& aTestModuleIf ):
- CScriptBase( aTestModuleIf )
- {
- }
-
-// -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void Cui_tsecuritymanager::ConstructL()
- {
- //Read logger settings to check whether test case name is to be
- //appended to log file name.
- RSettingServer settingServer;
- TInt ret = settingServer.Connect();
- if(ret != KErrNone)
- {
- User::Leave(ret);
- }
- // Struct to StifLogger settigs.
- TLoggerSettings loggerSettings;
- // Parse StifLogger defaults from STIF initialization file.
- ret = settingServer.GetLoggerSettings(loggerSettings);
- if(ret != KErrNone)
- {
- User::Leave(ret);
- }
- // Close Setting server session
- settingServer.Close();
-
- TFileName logFileName;
-
- if(loggerSettings.iAddTestCaseTitle)
- {
- TName title;
- TestModuleIf().GetTestCaseTitleL(title);
- logFileName.Format(Kui_tsecuritymanagerLogFileWithTitle, &title);
- }
- else
- {
- logFileName.Copy(Kui_tsecuritymanagerLogFile);
- }
-
- iLog = CStifLogger::NewL( Kui_tsecuritymanagerLogPath,
- logFileName,
- CStifLogger::ETxt,
- CStifLogger::EFile,
- EFalse );
-
- // SendTestClassVersion();
- }
-
-// -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-Cui_tsecuritymanager* Cui_tsecuritymanager::NewL(
- CTestModuleIf& aTestModuleIf )
- {
- Cui_tsecuritymanager* self = new (ELeave) Cui_tsecuritymanager( aTestModuleIf );
-
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
-
- return self;
-
- }
-
-// Destructor
-Cui_tsecuritymanager::~Cui_tsecuritymanager()
- {
-
- // Delete resources allocated from test methods
- Delete();
-
- // Delete logger
- delete iLog;
-
- }
-
-//-----------------------------------------------------------------------------
-// Cui_tsecuritymanager::SendTestClassVersion
-// Method used to send version of test class
-//-----------------------------------------------------------------------------
-//
-/*void Cui_tsecuritymanager::SendTestClassVersion()
- {
- TVersion moduleVersion;
- moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
- moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
- moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
-
- TFileName moduleName;
- moduleName = _L("ui_tsecuritymanager.dll");
-
- TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName);
- }*/
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// LibEntryL is a polymorphic Dll entry point.
-// Returns: CScriptBase: New CScriptBase derived object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CScriptBase* LibEntryL(
- CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
- {
-
- return ( CScriptBase* ) Cui_tsecuritymanager::NewL( aTestModuleIf );
-
- }
-
-
-// End of File
--- a/serviceapifw_plat/rtsecuritymanager_client_api/tsrc/src/ui_tsecuritymanagerblocks.cpp Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1889 +0,0 @@
-/*
-* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ?Description
-*
-*/
-
-
-
-
-
-
-
-
-#include <badesca.h>
-#include <bautils.h>
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "ui_tsecuritymanager.h"
-#include<coemain.h>
-
-#include <e32base.h>
-#include <e32std.h>
-#include <f32file.h>
-#include <rtsecmanager.h>
-#include <rtsecmgrutility.h>
-#include <rtsecmgrscriptsession.h>
-#include <rtsecmgrcommondef.h>
-//#include <rtsecmgrclient.h>
-#include<w32std.h>
-_LIT(KSecMgrServerExeName, "RTSecMgrServer.exe");
-_LIT(KServerStartFailed, "Security manager server starting failed");
-_LIT(KSecServerProcessName, "SecurityManagerServer");
-const TUint KDefaultMessageSlots= 16;
-const TUint KRTSecMgrServMajorVersionNumber=0;
-const TUint KRTSecMgrServMinorVersionNumber=1;
-const TUint KRTSecMgrServBuildVersionNumber=1;
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::Delete
-// Delete here all resources allocated and opened from test methods.
-// Called from destructor.
-// -----------------------------------------------------------------------------
-//
-void Cui_tsecuritymanager::Delete()
- {
-
- }
-
-// -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::RunMethodL
-// Run specified method. Contains also table of test mothods and their names.
-// -----------------------------------------------------------------------------
-//
-TInt Cui_tsecuritymanager::RunMethodL(
- CStifItemParser& aItem )
- {
-
- static TStifFunctionInfo const KFunctions[] =
- {
- // Copy this line for every implemented function.
- // First string is the function name used in TestScripter script file.
- // Second is the actual implementation member function.
- ENTRY( "serverstart1", Cui_tsecuritymanager::serverstart1 ),
- ENTRY( "serverstart2", Cui_tsecuritymanager::serverstart2 ),
- ENTRY( "secclient1", Cui_tsecuritymanager::secclient1 ),
- ENTRY( "secclient2", Cui_tsecuritymanager::secclient2 ),
- ENTRY( "secclient3",Cui_tsecuritymanager::secclient3),
- ENTRY( "secclient4",Cui_tsecuritymanager::secclient4),
- ENTRY( "secclient5",Cui_tsecuritymanager::secclient5),
- ENTRY( "secclient6",Cui_tsecuritymanager::secclient6),
- ENTRY( "secclient7",Cui_tsecuritymanager::secclient7),
- ENTRY( "secclient8",Cui_tsecuritymanager::secclient8),
- ENTRY( "secclient9",Cui_tsecuritymanager::secclient9),
- ENTRY( "secclient10",Cui_tsecuritymanager::secclient10),
- ENTRY( "secclient11",Cui_tsecuritymanager::secclient11),
- ENTRY( "secclient12",Cui_tsecuritymanager::secclient12),
- ENTRY( "secclient13",Cui_tsecuritymanager::secclient13),
-
- // [test cases entries] - Do not remove
-
- };
- const TInt count = sizeof( KFunctions ) /
- sizeof( TStifFunctionInfo );
-
- return RunInternalL( KFunctions, count, aItem );
-
- }
-
-// -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::serverstart1
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt Cui_tsecuritymanager::serverstart1( CStifItemParser& aItem )
- {
- __UHEAP_MARK;
-
- TInt retry(2); // Try this twice
- TInt err(KErrNone);
-
- while (retry>KErrNone)
- {
- // Try to create a Server session
- err = CreateSession ( KSecServerProcessName, Version (),
- KDefaultMessageSlots);
-
- if ( err != KErrNotFound && err != KErrServerTerminated)
- {
- // KErrNone or unrecoverable error
- if ( err != KErrNone)
- {
- }
- retry = 0;
- }
- else
- {
- // Return code was KErrNotFound or KErrServerTerminated.
- // Try to start a new security manager server instance
-
- err = StartSecManagerServer ();
-
-
-
- if ( err != KErrNone && err != KErrAlreadyExists)
- {
- // Unrecoverable error
-
- retry = 0;
- }
- }
-
- retry--;
- }
-
-
-// __UHEAP_MARKEND;
-
-
-
- return KErrNone;
-
- }
-
-
- TVersion Cui_tsecuritymanager::Version(void) const
- {
- return (TVersion(KRTSecMgrServMajorVersionNumber,KRTSecMgrServMinorVersionNumber,KRTSecMgrServBuildVersionNumber));
- }
-
-
-
- TInt Cui_tsecuritymanager::StartSecManagerServer() const
- {
-
- RProcess server ,server1;
- const TUidType serverUid( KNullUid, KSecMgrServerUid2, KNullUid);
- TInt err = server.Create ( ServerLocation (),
- KNullDesC,
- serverUid,
- EOwnerProcess);
-
- TInt err1 = server1.Create ( ServerLocation (),
- KNullDesC,
- serverUid,
- EOwnerProcess);
-
- // Return error code if we the process couldn't be created
- if ( KErrNone == err)
- {
- // Rendezvous is used to detect server start
- TRequestStatus status;
- server.Rendezvous ( status);
-
- if ( status != KRequestPending)
- {
-
- server.Kill ( 0); // Abort startup
- }
- else
- {
- server.Resume (); // Logon OK - start the server
- }
- User::WaitForRequest (status); // Wait for start or death
-
- if ( server.ExitType ()== EExitPanic)
- {
-
- err = KErrGeneral;
- }
- else
- {
- err = status.Int ();
- }
-
- // We can close the handle now
- server.Close ();
-
- }
- return err;
- }
-
-
- TFullName Cui_tsecuritymanager::ServerLocation() const
- {
- TFullName fullPathAndName;
- fullPathAndName.Append ( KSecMgrServerExeName);
- return fullPathAndName;
- }
-
-
-
-
-
-
-
-
- // -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::serverstart1
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt Cui_tsecuritymanager::serverstart2( CStifItemParser& aItem )
- {
- __UHEAP_MARK;
-CRTSecMgrClientProxy *proxy;
- RSecMgrSession *isecmgrsession;
- // Connect();
- // proxy->ConstructL();
-
-// __UHEAP_MARKEND;
-
-
-
- return KErrNone;
-
- }
-
-
- // -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::secclient1
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt Cui_tsecuritymanager::secclient1( CStifItemParser& aItem )
- {
-
-
- TInt cnt = User::CountAllocCells();
- // __UHEAP_MARK;
- TInt32 exId;
- TPtrC sptr;
-
- aItem.GetNextString(sptr);
-
- iSession = CRTSecManager::NewL ();
- // iSession2 = CRTSecManager::NewL ();
- iTrust = CTrustInfo::NewL ();
-
-
-
- RFs fileSession;
- if ( KErrNone==fileSession.Connect ())
- {
- CleanupClosePushL (fileSession);
- if(KErrNone==fileSession.ShareProtected())
- {
- RFile secPolicyFile;
-
-
- TBuf8<5000> aFilebuffer ;
-
-
-
-
-
- aItem.GetNextString(sptr);
-
- if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"),
- EFileShareAny))
- {
-
-
- CleanupClosePushL (secPolicyFile);
-
-
-
- if(!sptr.Compare(_L("File")))
- {
-
-
-
- iPolicyId = iSession->SetPolicy (secPolicyFile);
- }
- if(!sptr.Compare(_L("Buffer")))
- {
- if(KErrNone == secPolicyFile.Read(aFilebuffer))
- {
-
- iPolicyId = iSession->SetPolicy (aFilebuffer);
- }
- }
-
-
-
- CleanupStack::PopAndDestroy ();//secPolicyFile
- }
- }
- CleanupStack::PopAndDestroy ();//fileSession
- }
-
-
- aItem.GetNextString(sptr);
-
- if(!sptr.Compare(_L("nohash")))
- {
-
-
- exId = iSession->RegisterScript (iPolicyId, *iTrust);
- }
-
- if(!sptr.Compare(_L("hash")))
- {
-
- _LIT(KHash,"sdsds");
- TBuf<10> aHash;
- aHash.Copy(_L("sdsds"));
- exId = iSession->RegisterScript(iPolicyId,aHash,*iTrust);
-
- }
-
-
-
- CRTSecMgrScriptSession* scriptSession;
-
- scriptSession = iSession->GetScriptSessionL(iPolicyId, exId);
-
-
-
-//#endif
-
-
-
- if(scriptSession)
- {
- CleanupStack::PushL (scriptSession);
- RCapabilityArray caps;
- caps.Append (ECapabilityWriteUserData);
- caps.Append (ECapabilityReadUserData);
- caps.Append (ECapabilityLocation);
- caps.Append (ECapabilityUserEnvironment);
-
-
-
-
- TInt IsAllowed(scriptSession->IsAllowed(caps));
-
-
-
-
- caps.Close();
-
- CleanupStack::PopAndDestroy ();//scriptSession
- }
-
-
-
-
- // TInt result = iSession->UnSetPolicy (iPolicyId);
-
-
-
-
-
-
-
-
-//delete scriptSession1;
-delete iSession;
-//delete iSession2;
-delete iTrust;
-
- cnt = User::CountAllocCells();
-//__UHEAP_MARKEND;
-return KErrNone;
-}
-
-
-
- // -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::secclient2
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt Cui_tsecuritymanager::secclient2( CStifItemParser& aItem )
- {
-
- __UHEAP_MARK;
-
- iSession = CRTSecManager::NewL ();
- iSession2 = CRTSecManager::NewL (); // 2nd session
- iTrust = CTrustInfo::NewL ();
-
-
-
- RFs fileSession;
- if ( KErrNone==fileSession.Connect ())
- {
- CleanupClosePushL (fileSession);
- if(KErrNone==fileSession.ShareProtected())
- {
- RFile secPolicyFile;
-
- if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"),
- EFileShareAny))
- {
- CleanupClosePushL (secPolicyFile);
-
- iPolicyId = iSession->SetPolicy (secPolicyFile);
- CleanupStack::PopAndDestroy ();//secPolicyFile
- }
- }
- CleanupStack::PopAndDestroy ();//fileSession
- }
-
-
- TInt32 exId = iSession2->RegisterScript (iPolicyId, *iTrust);
-
- CRTSecMgrScriptSession* scriptSession;
-
-//#ifdef AUTO_TESTING
-// scriptSession = iSession->GetScriptSessionL(iPolicyId, exId, *iTrust, this);
-//#else
-
- scriptSession = iSession->GetScriptSessionL(iPolicyId, exId);
-//#endif
-
-
-
- if(scriptSession)
- {
- CleanupStack::PushL (scriptSession);
- RCapabilityArray caps;
- caps.Append (ECapabilityWriteUserData);
- caps.Append (ECapabilityReadUserData);
- caps.Append (ECapabilityLocation);
- caps.Append (ECapabilityUserEnvironment);
-
-
-
-
- TInt IsAllowed(scriptSession->IsAllowed(caps));
-
-
-
-
- caps.Close();
-
- CleanupStack::PopAndDestroy ();//scriptSession
- }
-
-
-
-
- TInt result = iSession->UnSetPolicy (iPolicyId);
-
-
-
-
-
-
-
-
-//delete scriptSession1;
-delete iSession;
-delete iSession2;
-delete iTrust;
-//__UHEAP_MARKEND;
-return KErrNone;
-}
-
-
-
-
-
-
- // -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::secclient3
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt Cui_tsecuritymanager::secclient3( CStifItemParser& aItem )
- {
-
- __UHEAP_MARK;
-
- iSession = CRTSecManager::NewL ();
- iSession2 = CRTSecManager::NewL (); // 2nd session
- iTrust = CTrustInfo::NewL ();
-
-
-
- RFs fileSession;
- if ( KErrNone==fileSession.Connect ())
- {
- CleanupClosePushL (fileSession);
- if(KErrNone==fileSession.ShareProtected())
- {
- RFile secPolicyFile;
-
- if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"),
- EFileShareAny))
- {
- CleanupClosePushL (secPolicyFile);
- iPolicyId = iSession->SetPolicy (secPolicyFile);
- CleanupStack::PopAndDestroy ();//secPolicyFile
- }
- }
- CleanupStack::PopAndDestroy ();//fileSession
- }
-
-
- TInt32 exId = iSession2->RegisterScript (iPolicyId, *iTrust);
-
- CRTSecMgrScriptSession* scriptSession;
-
-
- scriptSession = iSession->GetScriptSessionL(iPolicyId, exId);
-
-
-
-
- if(scriptSession)
- {
- CleanupStack::PushL (scriptSession);
- RCapabilityArray caps;
- caps.Append (ECapabilityWriteUserData);
- caps.Append (ECapabilityReadUserData);
- caps.Append (ECapabilityLocation);
- caps.Append (ECapabilityUserEnvironment);
-
-
-
-
- TInt IsAllowed(scriptSession->IsAllowed(caps));
-
-
-
-
- caps.Close();
-
- CleanupStack::PopAndDestroy ();//scriptSession
- }
-
-
-
-
- TInt result = iSession->UnSetPolicy (iPolicyId);
-
-
- TExecutableID exId2 = iSession2->RegisterScript (iPolicyId, *iTrust);
-
-
-// TInt32 x = -108;
- if(exId2 != ErrRegisterScriptFailed)
- {
- delete iSession;
-delete iSession2;
-delete iTrust;
- return exId2;
-
- }
-
-
-
-//delete scriptSession1;
-delete iSession;
-delete iSession2;
-delete iTrust;
-//__UHEAP_MARKEND;
-return KErrNone;
-}
-
-
-
- // -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::secclient4
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt Cui_tsecuritymanager::secclient4(CStifItemParser& aItem )
- {
-
- __UHEAP_MARK;
-
- iSession = CRTSecManager::NewL ();
- iSession2 = CRTSecManager::NewL (); // 2nd session
- iTrust = CTrustInfo::NewL ();
-
-
-
- RFs fileSession;
- if ( KErrNone==fileSession.Connect ())
- {
- CleanupClosePushL (fileSession);
- if(KErrNone==fileSession.ShareProtected())
- {
- RFile secPolicyFile;
-
- if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"),
- EFileShareAny))
- {
- CleanupClosePushL (secPolicyFile);
- iPolicyId = iSession->SetPolicy (secPolicyFile);
- CleanupStack::PopAndDestroy ();//secPolicyFile
- }
- }
- CleanupStack::PopAndDestroy ();//fileSession
- }
-
-
- TInt32 exId = iSession->RegisterScript (iPolicyId, *iTrust);
-
- CRTSecMgrScriptSession* scriptSession;
-
-
- scriptSession = iSession->GetScriptSessionL(iPolicyId, exId);
-
-
-
-
- if(scriptSession)
- {
- CleanupStack::PushL (scriptSession);
- RCapabilityArray caps;
- caps.Append (ECapabilityWriteUserData);
- caps.Append (ECapabilityReadUserData);
- caps.Append (ECapabilityLocation);
- caps.Append (ECapabilityUserEnvironment);
-
-
-
-
- TInt IsAllowed(scriptSession->IsAllowed(caps));
-
-
-
-
- caps.Close();
-
- CleanupStack::PopAndDestroy ();//scriptSession
- }
-
-
-
- TInt result = iSession->UnRegisterScript (exId, iPolicyId);
-
- scriptSession = iSession->GetScriptSessionL(iPolicyId, exId);
-
- if(scriptSession)
-
- {
- return KErrGeneral;
- }
-
-
-//delete scriptSession1;
-delete iSession;
-delete iSession2;
-delete iTrust;
-//__UHEAP_MARKEND;
-return KErrNone;
-}
-
-
-
-
- // -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::secclient5
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt Cui_tsecuritymanager::secclient5(CStifItemParser& aItem )
- {
-
- __UHEAP_MARK;
-
-
- int i= 0;
-
-
- CRTSecManager *iSession[10];
-
- while(i<10)
- {
-
-
- iSession[i] = CRTSecManager::NewL ();
- i++;
- }
-
-
-
- iTrust = CTrustInfo::NewL ();
-
-
-
- RFs fileSession;
- if ( KErrNone==fileSession.Connect ())
- {
- CleanupClosePushL (fileSession);
- if(KErrNone==fileSession.ShareProtected())
- {
- RFile secPolicyFile;
-
- if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"),
- EFileShareAny))
- {
- CleanupClosePushL (secPolicyFile);
- iPolicyId = iSession[0]->SetPolicy (secPolicyFile);
- CleanupStack::PopAndDestroy ();//secPolicyFile
- }
- }
- CleanupStack::PopAndDestroy ();//fileSession
- }
-
-
- TInt32 exId = iSession[1]->RegisterScript (iPolicyId, *iTrust);
-
- CRTSecMgrScriptSession* scriptSession;
-
-
- scriptSession = iSession[2]->GetScriptSessionL(iPolicyId, exId);
-
-
-
-
- if(scriptSession)
- {
- CleanupStack::PushL (scriptSession);
- RCapabilityArray caps;
- caps.Append (ECapabilityWriteUserData);
- caps.Append (ECapabilityReadUserData);
- caps.Append (ECapabilityLocation);
- caps.Append (ECapabilityUserEnvironment);
-
-
-
-
- TInt IsAllowed(scriptSession->IsAllowed(caps));
-
-
-
-
- caps.Close();
-
- CleanupStack::PopAndDestroy ();//scriptSession
- }
-
-
-
-
-
- int j = 0;
-
- while(j<10)
- {
-
- delete iSession[j] ;
- j++;
- }
-
-
-delete iTrust;
-//__UHEAP_MARKEND;
-return KErrNone;
-}
-
-
-
-
-
- // -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::secclient6
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt Cui_tsecuritymanager::secclient6(CStifItemParser& aItem )
- {
-
- __UHEAP_MARK;
-
- iSession = CRTSecManager::NewL ();
- iSession2 = CRTSecManager::NewL (); // 2nd session
- iTrust = CTrustInfo::NewL ();
-
-
-
- RFs fileSession;
- if ( KErrNone==fileSession.Connect ())
- {
- CleanupClosePushL (fileSession);
- if(KErrNone==fileSession.ShareProtected())
- {
- RFile secPolicyFile;
-
- if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"),
- EFileReadDirectIO))
- {
- CleanupClosePushL (secPolicyFile);
- iPolicyId = iSession->SetPolicy (secPolicyFile);
- CleanupStack::PopAndDestroy ();//secPolicyFile
- }
- }
- CleanupStack::PopAndDestroy ();//fileSession
- }
-
-
- TInt32 exId = iSession->RegisterScript (iPolicyId, *iTrust);
-
- CRTSecMgrScriptSession* scriptSession;
-
-
- scriptSession = iSession->GetScriptSessionL(iPolicyId, exId);
-
-
-
-
- if(scriptSession)
- {
- CleanupStack::PushL (scriptSession);
- RCapabilityArray caps;
- caps.Append (ECapabilityWriteUserData);
- caps.Append (ECapabilityReadUserData);
- caps.Append (ECapabilityLocation);
- caps.Append (ECapabilityUserEnvironment);
-
-
-
-
- TInt IsAllowed(scriptSession->IsAllowed(caps));
-
-
-
-
- caps.Close();
-
- CleanupStack::PopAndDestroy ();//scriptSession
- }
-
-
-
- TInt result = iSession->UnRegisterScript (exId, iPolicyId);
-
- TInt result1 = iSession->UnRegisterScript (exId, iPolicyId);
-
-
-if(result1 != ErrUnRegisterScriptFailed )
-{
-
-delete iSession;
-delete iSession2;
-delete iTrust;
-return result1;
- }
-
-//delete scriptSession1;
-delete iSession;
-delete iSession2;
-delete iTrust;
-//__UHEAP_MARKEND;
-return KErrNone;
-}
-
-
-
-
-
- // -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::secclient7
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt Cui_tsecuritymanager::secclient7(CStifItemParser& aItem )
- {
-
- __UHEAP_MARK;
- TPtrC sptr;
- TInt32 exId;
- aItem.GetNextString(sptr);
-
- iSession = CRTSecManager::NewL ();
- iSession2 = CRTSecManager::NewL (); // 2nd session
- iTrust = CTrustInfo::NewL ();
- RFile secPolicyFile;
-
-
- RFs fileSession;
- if ( KErrNone==fileSession.Connect ())
- {
- CleanupClosePushL (fileSession);
- if(KErrNone==fileSession.ShareProtected())
- {
-
-
- if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"),
- EFileShareAny))
- {
- CleanupClosePushL (secPolicyFile);
- // iPolicyId = iSession->SetPolicy (secPolicyFile);
- iPolicyId = iSession->UpdatePolicy(iPolicyId,secPolicyFile);
-
-
- CleanupStack::PopAndDestroy ();//secPolicyFile
- }
- }
- CleanupStack::PopAndDestroy ();//fileSession
- }
-
-
-
-
-
-
- if(iPolicyId!= ErrInvalidPolicyID)
- return KErrGeneral;
-
- if(!sptr.Compare(_L("gsswithtrust")))
- {
-
-
- scriptSession = iSession->GetScriptSessionL(iPolicyId,*iTrust );
-if(scriptSession != NULL)
-return KErrGeneral;
- }
-
- if(!sptr.Compare(_L("gsswithouttrust")))
- {
-exId = iSession->RegisterScript(iPolicyId, *iTrust);
- scriptSession = iSession->GetScriptSessionL(iPolicyId, exId);
-
-if(scriptSession != NULL)
-return KErrGeneral;
- }
-
-
-
-
-//delete scriptSession1;
-delete iSession;
-delete iSession2;
-delete iTrust;
-//__UHEAP_MARKEND;
-return KErrNone;
-}
-
-
-
-
-
-
- // -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::secclient8
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt Cui_tsecuritymanager::secclient8( CStifItemParser& aItem )
- {
-
- __UHEAP_MARK;
- TInt32 exId;
- TPtrC sptr;
-
- aItem.GetNextString(sptr);
- CRTSecMgrScriptSession* scriptSession;
- iSession = CRTSecManager::NewL ();
- // iSession2 = CRTSecManager::NewL ();
- iTrust = CTrustInfo::NewL ();
-
-
-
- RFs fileSession;
- if ( KErrNone==fileSession.Connect ())
- {
- CleanupClosePushL (fileSession);
- if(KErrNone==fileSession.ShareProtected())
- {
- RFile secPolicyFile;
-
- TBuf8<5000> aFilebuffer ;
-
- if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"),
- EFileShareAny))
- {
-
-
- CleanupClosePushL (secPolicyFile);
-
-
-
- if(!sptr.Compare(_L("File")))
- {
-
-
-
- iPolicyId = iSession->SetPolicy (secPolicyFile);
-
- iPolicyId = iSession->UpdatePolicy(iPolicyId,secPolicyFile);
-
-
-
- }
-
- if(!sptr.Compare(_L("Buffer")))
- {
- if(KErrNone == secPolicyFile.Read(aFilebuffer))
- {
-
- iPolicyId = iSession->SetPolicy (aFilebuffer);
- iPolicyId = iSession->UpdatePolicy(iPolicyId,aFilebuffer);
-
-
- }
- }
-
-
-
- CleanupStack::PopAndDestroy ();//secPolicyFile
- }
- }
- CleanupStack::PopAndDestroy ();//fileSession
- }
-
- aItem.GetNextString(sptr);
-
- if(!sptr.Compare(_L("registerscript")))
- {
-
-
- exId = iSession->RegisterScript(iPolicyId, *iTrust);
- scriptSession = iSession->GetScriptSessionL(iPolicyId, exId);
- }
-
- if(!sptr.Compare(_L("noregisterscript")))
- {
- //no implementaion
-
- scriptSession = iSession->GetScriptSessionL(iPolicyId,*iTrust );
- }
-
-
-
-
-
-
-
-
-
-
-//#endif
-
-
-
- if(scriptSession)
- {
- CleanupStack::PushL (scriptSession);
- RCapabilityArray caps ;
- caps.Append (ECapabilityWriteUserData);
- caps.Append (ECapabilityReadUserData);
- caps.Append (ECapabilityLocation);
- caps.Append (ECapabilityUserEnvironment);
- aItem.GetNextString(sptr);
- if(!sptr.Compare(_L("advancedprompt")))
- {
-
- scriptSession->PromptHandler()->SetPromptOption(RTPROMPTUI_ADVANCED);
- }
-
-
- RCapabilityArray unMatchedCapabilities;
- TInt isAllowed(scriptSession->IsAllowed (caps,unMatchedCapabilities));
-
- // TInt IsAllowed(scriptSession->IsAllowed(caps));
-
-
-
-
- caps.Close();
-
- CleanupStack::PopAndDestroy ();//scriptSession
- }
-
-
-
-
- // TInt result = iSession->UnSetPolicy (iPolicyId);
-
-
-
-
-
-
-
-
-//delete scriptSession1;
-delete iSession;
-//delete iSession2;
-delete iTrust;
-//__UHEAP_MARKEND;
-return KErrNone;
-}
-
-
-
-
- // -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::secclient1
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt Cui_tsecuritymanager::secclient9( CStifItemParser& aItem )
- {
-
- __UHEAP_MARK;
- TInt32 exId;
- TPtrC sptr;
-
-
-
- iSession = CRTSecManager::NewL ();
- // iSession2 = CRTSecManager::NewL ();
- iTrust = CTrustInfo::NewL ();
-
-
-
- RFs fileSession;
- if ( KErrNone==fileSession.Connect ())
- {
- CleanupClosePushL (fileSession);
- if(KErrNone==fileSession.ShareProtected())
- {
- RFile secPolicyFile;
-
-
- TBuf8<5000> aFilebuffer ;
-
-
-
-
-
-
-
- if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"),
- EFileShareAny))
- {
-
-
- CleanupClosePushL (secPolicyFile);
-
-
- if(KErrNone == secPolicyFile.Read(aFilebuffer))
- {
-
- iPolicyId = iSession->SetPolicy (aFilebuffer);
- }
-
-
-
-
- CleanupStack::PopAndDestroy ();//secPolicyFile
- }
- }
- CleanupStack::PopAndDestroy ();//fileSession
- }
-
-
- aItem.GetNextString(sptr);
-
- if(!sptr.Compare(_L("nohash")))
- {
-
-
- exId = iSession->RegisterScript (iPolicyId, *iTrust);
- scriptSession = iSession->GetScriptSessionL(iPolicyId,*iTrust );
- }
-
- if(!sptr.Compare(_L("hash")))
- {
-
- _LIT(KHash,"sdsds");
- TBuf<10> aHash;
- aHash.Copy(_L("sdsds"));
- exId = iSession->RegisterScript(iPolicyId,aHash,*iTrust);
- scriptSession = iSession->GetScriptSessionL(iPolicyId, exId);
- }
-
-
-
-// CRTSecMgrScriptSession* scriptSession;
-
-
-
-
-
-//#endif
-
-
-
- if(scriptSession)
- {
- CleanupStack::PushL (scriptSession);
- RCapabilityArray caps;
- caps.Append (ECapabilityWriteUserData);
- caps.Append (ECapabilityReadUserData);
- caps.Append (ECapabilityLocation);
- caps.Append (ECapabilityUserEnvironment);
-
-
- // RCapabilityArray caps;
- RCapabilityArray unMatchedCapabilities;
- TInt isAllowed(scriptSession->IsAllowed (caps,unMatchedCapabilities));
-
- // TInt IsAllowed(scriptSession->IsAllowed(caps));
-
-
-
-
- caps.Close();
-
- CleanupStack::PopAndDestroy ();//scriptSession
- }
-
-
-
-
- // TInt result = iSession->UnSetPolicy (iPolicyId);
-
-
-
-
-
-
-
-
-//delete scriptSession1;
-delete iSession;
-//delete iSession2;
-delete iTrust;
-//__UHEAP_MARKEND;
-return KErrNone;
-}
-
-
-
-
-
-
- // -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::secclient10
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt Cui_tsecuritymanager::secclient10( CStifItemParser& aItem )
- {
-
- __UHEAP_MARK;
- TInt32 exId;
- TPtrC sptr;
-
- aItem.GetNextString(sptr);
- CRTSecMgrScriptSession* scriptSession;
- iSession = CRTSecManager::NewL ();
- // iSession2 = CRTSecManager::NewL ();
- iTrust = CTrustInfo::NewL ();
-
-
-
- RFs fileSession;
- if ( KErrNone==fileSession.Connect ())
- {
- CleanupClosePushL (fileSession);
- if(KErrNone==fileSession.ShareProtected())
- {
- RFile secPolicyFile;
-
- TBuf8<5000> aFilebuffer ;
-
- if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"),
- EFileShareAny))
- {
-
-
- CleanupClosePushL (secPolicyFile);
-
-
-
- if(!sptr.Compare(_L("File")))
- {
-
-
-
- iPolicyId = iSession->SetPolicy (secPolicyFile);
-
- iPolicyId = iSession->UpdatePolicy(iPolicyId,secPolicyFile);
-
-
-
- }
-
- if(!sptr.Compare(_L("Buffer")))
- {
- if(KErrNone == secPolicyFile.Read(aFilebuffer))
- {
-
- iPolicyId = iSession->SetPolicy (aFilebuffer);
- iPolicyId = iSession->UpdatePolicy(iPolicyId,aFilebuffer);
-
-
- }
- }
-
-
-
- CleanupStack::PopAndDestroy ();//secPolicyFile
- }
- }
- CleanupStack::PopAndDestroy ();//fileSession
- }
-
- aItem.GetNextString(sptr);
-
- if(!sptr.Compare(_L("registerscript")))
- {
-
-
- exId = iSession->RegisterScript(iPolicyId, *iTrust);
- scriptSession = iSession->GetScriptSessionL(iPolicyId, exId);
- }
-
- if(!sptr.Compare(_L("noregisterscript")))
- {
- //no implementaion
-
- scriptSession = iSession->GetScriptSessionL(iPolicyId,*iTrust );
- }
-
-
-
-
-
-
-
-
-
-
-//#endif
-
-
-
- if(scriptSession)
- {
- CleanupStack::PushL (scriptSession);
- RCapabilityArray caps ;
- caps.Append (ECapabilityWriteUserData);
- caps.Append (ECapabilityReadUserData);
- caps.Append (ECapabilityLocation);
- caps.Append (ECapabilityUserEnvironment);
- // caps.Append(ECapabilitySurroundingsDD);
- aItem.GetNextString(sptr);
- if(!sptr.Compare(_L("advancedprompt")))
- {
-
- scriptSession->PromptHandler()->SetPromptOption(RTPROMPTUI_ADVANCED);
- }
-
-
- RCapabilityArray unMatchedCapabilities;
- unMatchedCapabilities.Append (ECapabilitySurroundingsDD);
- TInt isAllowed(scriptSession->IsAllowed (caps,unMatchedCapabilities));
-
- // TInt IsAllowed(scriptSession->IsAllowed(caps));
-
-
-
-
- caps.Close();
-
- CleanupStack::PopAndDestroy ();//scriptSession
- }
-
-
-
-
- // TInt result = iSession->UnSetPolicy (iPolicyId);
-
-
-
-
-
-
-
-
-//delete scriptSession1;
-delete iSession;
-//delete iSession2;
-delete iTrust;
-//__UHEAP_MARKEND;
-return KErrNone;
-}
-
-
-
-
-
-
- // -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::secclient1
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt Cui_tsecuritymanager::secclient11( CStifItemParser& aItem )
- {
-
-
- TInt cnt = User::CountAllocCells();
- // __UHEAP_MARK;
- TInt32 exId;
- TPtrC sptr;
-
- aItem.GetNextString(sptr);
-
- iSession = CRTSecManager::NewL ();
- // iSession2 = CRTSecManager::NewL ();
- iTrust = CTrustInfo::NewL ();
-
- // isubsession = RSecMgrSubSession::NewL();
- // SubSessionHandle();
-
- RFs fileSession;
- if ( KErrNone==fileSession.Connect ())
- {
- CleanupClosePushL (fileSession);
- if(KErrNone==fileSession.ShareProtected())
- {
- RFile secPolicyFile;
-
-
- TBuf8<5000> aFilebuffer ;
-
-
-
-
-
- aItem.GetNextString(sptr);
-
- if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"),
- EFileShareAny))
- {
-
-
- CleanupClosePushL (secPolicyFile);
-
-
-
- if(!sptr.Compare(_L("File")))
- {
-
-
-
- iPolicyId = iSession->SetPolicy (secPolicyFile);
- }
- if(!sptr.Compare(_L("Buffer")))
- {
- if(KErrNone == secPolicyFile.Read(aFilebuffer))
- {
-
- iPolicyId = iSession->SetPolicy (aFilebuffer);
- }
- }
-
-
-
- CleanupStack::PopAndDestroy ();//secPolicyFile
- }
- }
- CleanupStack::PopAndDestroy ();//fileSession
- }
-
-
- aItem.GetNextString(sptr);
-
- if(!sptr.Compare(_L("nohash")))
- {
-
-
- exId = iSession->RegisterScript (iPolicyId, *iTrust);
- }
-
- if(!sptr.Compare(_L("hash")))
- {
-
- _LIT(KHash,"sdsds");
- TBuf<10> aHash;
- aHash.Copy(_L("sdsds"));
- exId = iSession->RegisterScript(iPolicyId,aHash,*iTrust);
-
- }
-
-
-
- CRTSecMgrScriptSession* scriptSession;
-
- scriptSession = iSession->GetScriptSessionL(iPolicyId, exId);
-
-
-
-//#endif
-
-
-
- if(scriptSession)
- {
- CleanupStack::PushL (scriptSession);
- RCapabilityArray caps;
- // caps.Append (ECapabilityWriteUserData);
- // caps.Append (ECapabilityReadUserData);
- // caps.Append (ECapabilityLocation);
- caps.Append (ECapabilityNetworkServices);
-
-
-
-
- TInt IsAllowed(scriptSession->IsAllowed(caps));
-
-
-
-
- caps.Close();
-
- CleanupStack::PopAndDestroy ();//scriptSession
- }
-
-
-
-
- // TInt result = iSession->UnSetPolicy (iPolicyId);
-
-
-
-
-
-
-
-
-//delete scriptSession1;
-delete iSession;
-//delete iSession2;
-delete iTrust;
-
- cnt = User::CountAllocCells();
-//__UHEAP_MARKEND;
-return KErrNone;
-}
-
-
- // -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::secclient12
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt Cui_tsecuritymanager::secclient12( CStifItemParser& aItem )
- {
-
-
- TInt cnt = User::CountAllocCells();
- // __UHEAP_MARK;
- TInt32 exId;
- TPtrC sptr;
-
- aItem.GetNextString(sptr);
-
- iSession = CRTSecManager::NewL ();
- // iSession2 = CRTSecManager::NewL ();
- iTrust = CTrustInfo::NewL ();
-
-
-
- RFs fileSession;
- if ( KErrNone==fileSession.Connect ())
- {
- CleanupClosePushL (fileSession);
- if(KErrNone==fileSession.ShareProtected())
- {
- RFile secPolicyFile;
-
-
- TBuf8<500> aFilebuffer ;
-
-
-
-
-
- aItem.GetNextString(sptr);
-
- if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"),
- EFileShareAny))
- {
-
-
-
-
-
-
- CleanupClosePushL (secPolicyFile);
-
-
-
- if(KErrNone == secPolicyFile.Read(aFilebuffer))
- {
-
- iPolicyId = iSession->SetPolicy (aFilebuffer);
- }
-
- if(iPolicyId!=ErrInvalidPolicyFormat )
- return KErrGeneral;
-
-
- CleanupStack::PopAndDestroy ();//secPolicyFile
- }
- }
- CleanupStack::PopAndDestroy ();//fileSession
- }
-
-
-
-
-
- exId = iSession->RegisterScript (iPolicyId, *iTrust);
-
- if(exId!=ErrInvalidPolicyID)
- return KErrGeneral;
-
-
- CRTSecMgrScriptSession* scriptSession;
-
- scriptSession = iSession->GetScriptSessionL(iPolicyId, exId);
-
-
-
-//#endif
-
-
-
- if(scriptSession)
- {
- CleanupStack::PushL (scriptSession);
- RCapabilityArray caps;
- caps.Append (ECapabilityWriteUserData);
- caps.Append (ECapabilityReadUserData);
- caps.Append (ECapabilityLocation);
- caps.Append (ECapabilityUserEnvironment);
-
-
-
-
- TInt IsAllowed(scriptSession->IsAllowed(caps));
-
-
-
-
- caps.Close();
-
- CleanupStack::PopAndDestroy ();//scriptSession
- }
-
-
-
-
- // TInt result = iSession->UnSetPolicy (iPolicyId);
-
-
-
-
-
-
-
-
-//delete scriptSession1;
-delete iSession;
-//delete iSession2;
-delete iTrust;
-
- cnt = User::CountAllocCells();
-//__UHEAP_MARKEND;
-return KErrNone;
-}
-
-
-
-
-
- // -----------------------------------------------------------------------------
-// Cui_tsecuritymanager::secclient13
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt Cui_tsecuritymanager::secclient13( CStifItemParser& aItem )
- {
-
-
- TInt cnt = User::CountAllocCells();
- // __UHEAP_MARK;
- TInt32 exId;
- TPtrC sptr;
-
- TBuf<50> path;
- aItem.GetNextString(sptr);
-
-
-
- // _LIT(path,"c:\\data\\Others\\accesspolicy_1.xml");
-
- if(!sptr.Compare(_L("1")))
- {
- path.Copy(_L("c:\\data\\Others\\accesspolicy_1.xml")) ;
- }
-
- if(!sptr.Compare(_L("2")))
- {
-
- path.Copy(_L("c:\\data\\Others\\accesspolicy_2.xml")) ;
- }
- if(!sptr.Compare(_L("3")))
- {
-
- path.Copy(_L("c:\\data\\Others\\accesspolicy_3.xml")) ;
- }
-
-
-
-
-
- iSession = CRTSecManager::NewL ();
- iTrust = CTrustInfo::NewL ();
-
-
-
- RFs fileSession;
- if ( KErrNone==fileSession.Connect ())
- {
- CleanupClosePushL (fileSession);
- if(KErrNone==fileSession.ShareProtected())
- {
- RFile secPolicyFile;
-
-
- TBuf8<5000> aFilebuffer ;
-
-
-
-
-
-
- if ( KErrNone == secPolicyFile.Open (fileSession,path,
- EFileShareAny))
- {
-
-
-
- CleanupClosePushL (secPolicyFile);
-
-
-
- if(KErrNone == secPolicyFile.Read(aFilebuffer))
- {
-
- iPolicyId = iSession->SetPolicy (aFilebuffer);
- }
-
- if(iPolicyId!=ErrInvalidPolicyFormat )
- return KErrGeneral;
-
-
- CleanupStack::PopAndDestroy ();//secPolicyFile
- }
- }
- CleanupStack::PopAndDestroy ();//fileSession
- }
-
-
-
-
-
- exId = iSession->RegisterScript (iPolicyId, *iTrust);
-
- if(exId!=ErrInvalidPolicyID)
- return KErrGeneral;
-
-
- CRTSecMgrScriptSession* scriptSession;
-
- scriptSession = iSession->GetScriptSessionL(iPolicyId, exId);
-
-
-
-//#endif
-
-
-
- if(scriptSession)
- {
- CleanupStack::PushL (scriptSession);
- RCapabilityArray caps;
- caps.Append (ECapabilityWriteUserData);
- caps.Append (ECapabilityReadUserData);
- caps.Append (ECapabilityLocation);
- caps.Append (ECapabilityUserEnvironment);
-
-
-
-
- TInt IsAllowed(scriptSession->IsAllowed(caps));
-
-
-
-
- caps.Close();
-
- CleanupStack::PopAndDestroy ();//scriptSession
-
- return KErrGeneral;
- }
-
-
-
- // TInt result = iSession->UnSetPolicy (iPolicyId);
-
-
-
-
-
-
-
-
-//delete scriptSession1;
-delete iSession;
-//delete iSession2;
-delete iTrust;
-
- cnt = User::CountAllocCells();
-//__UHEAP_MARKEND;
-return KErrNone;
-}
-
-
-
-
-
--- a/serviceapifw_plat/rtsecuritymanager_common_api/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build file for rtsecuritymanager common API
-*
-*/
-
-
-
-
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/rtsecmgrcommondef.h MW_LAYER_PLATFORM_EXPORT_PATH(rtsecmgrcommondef.h)
--- a/serviceapifw_plat/rtsecuritymanager_common_api/inc/rtsecmgrcommondef.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Security Manager common header
- *
-*/
-
-
-
-
-
-
-#ifndef _RTSECMGR_COMMON_DEF_H_
-#define _RTSECMGR_COMMON_DEF_H_
-
-#include <e32base.h>
-#include <avkon.hrh>
-
-typedef TInt TPolicyID;
-typedef TInt TExecutableID;
-typedef TUint32 TPermGrant;
-typedef RArray<TCapability> RCapabilityArray;
-typedef TUid TProviderUid;
-typedef RArray<TProviderUid> RProviderArray;
-
-typedef TUint32 TCapabilityBitSet;
-
-//constant for default NULL capability bitset
-const TCapabilityBitSet KDefaultNullBit = 0x0000;
-
-//constant for default capability bitset with LSB enabled
-const TCapabilityBitSet KDefaultEnableBit = 0x0001;
-
-enum TAccessCheckCode
- {
- EAccessNok = -1,
- EAccessOk
- };
-
-enum
- {
- EPromptOk = EAknSoftkeyOk,
- EPromptCancel = EAknSoftkeyCancel
- };
-
-/*
- * Enumerations for various duration option
- */
-const TUint32 DEFAULT_ONESHOT = 0x80000000;
-const TUint32 DEFAULT_SESSION = 0x40000000;
-const TUint32 DEFAULT_BLANKET = 0x20000000;
-
-const TUint32 CONDITION_ONESHOT = 0x8000000;
-const TUint32 CONDITION_SESSION = 0x4000000;
-const TUint32 CONDITION_BLANKET = 0x2000000;
-
-const TUint32 ONESHOT_DENIED = 0x88000000;
-const TUint32 SESSION_DENIED = 0x44000000;
-const TUint32 BLANKET_DENIED = 0x22000000;
-
-const TUint32 DEFAULT_ALL = 0xE0000000;
-const TUint32 CONDITION_ALL = 0xE000000;
-const TUint32 CAPABILITY_ALL = 0xFFFFF;
-
-const TUint32 NetworkServices_CAP = 0x00002000;
-
-enum TUserPromptOption
- {
- RTUserPrompt_UnDefined = 0, //can be used for permisssions denied by default
- RTUserPrompt_OneShot = CONDITION_ONESHOT,
- RTUserPrompt_Session = CONDITION_SESSION,
- RTUserPrompt_Permanent = CONDITION_BLANKET,
- RTUserPrompt_Denied = ONESHOT_DENIED,
- RTUserPrompt_SessionDenied = SESSION_DENIED,
- RTUserPrompt_PermDenied = BLANKET_DENIED
- };
-
-enum TSecMgrPromptUIOption
- {
- RTPROMPTUI_DEFAULT = 0,
- RTPROMPTUI_ADVANCED,
- RTPROMPTUI_PROVIDER
- };
-
-//error code used btn server and client
-//error code starts with -101 as predefined symbian codes
-//range upto -48
-enum TSecMgrErrCode
- {
- ErrInvalidParameters = -101,
- ErrFileSessionNotShared = ErrInvalidParameters -1,
- ErrInvalidPolicyFormat = ErrFileSessionNotShared -1,
- ErrFatalDBError = ErrInvalidPolicyFormat -1,
- ErrSetPolicyFailed = ErrFatalDBError -1,
- ErrUpdatePolicyFailed = ErrSetPolicyFailed -1,
- ErrInvalidPolicyID = ErrUpdatePolicyFailed -1,
- ErrPolicyIDDoesNotExist = ErrInvalidPolicyID -1,
- ErrInvalidScriptID = ErrPolicyIDDoesNotExist -1,
- ErrRegisterScriptFailed = ErrInvalidScriptID -1,
- ErrUpdateGrantFailed = ErrRegisterScriptFailed -1,
- ErrServerReadConfig = ErrUpdateGrantFailed -1,
- ErrUnRegisterScriptFailed = ErrServerReadConfig -1,
- ErrUnSetPolicyFailed = ErrUnRegisterScriptFailed -1,
- ErrUpdatePermGrantFailed = ErrUnSetPolicyFailed -1,
- ErrBackupNotCreated = ErrUpdatePermGrantFailed - 1,
- ErrRestoreTempFailed = ErrBackupNotCreated - 1,
- ErrAccessDenied = ErrRestoreTempFailed - 1
- };
-
-const TInt KAnonymousScript = -1;
-const TInt KInvalidPolicyID = -1;
-const TInt KMaxTrustInfoLen = 512; //magic number - half of 1 KB
-
-#endif //_RTSECMGR_COMMON_DEF_H_
--- a/serviceapifw_plat/rtsecuritymanager_common_api/rtsecuritymanager_common_api.metaxml Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" ?>
-<api id="c62a6b6d0eb50466eed58c4869f98a56" dataversion="1.0">
-<name>rtsecuritymanager_common_api</name>
-<description>rtsecuritymanager_common_api</description>
-<type>c++</type>
-<subsystem>rtsecuritymanager</subsystem>
-<libs></libs>
-<release category="domain" sinceversion=""/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/serviceapifw_plat/rtsecuritymanager_common_api/tsrc/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ?Description
-*
-*/
-
-
-
-
-
-
-
-#include "../../../rtsecuritymanager_client_api/tsrc/group/bld.inf"
\ No newline at end of file
--- a/serviceapifw_plat/rtsecuritymanager_utility_api/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build file for rtsecuritymanager utility API
-*
-*/
-
-
-
-
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/rtsecmgrpermission.h MW_LAYER_PLATFORM_EXPORT_PATH(rtsecmgrpermission.h)
-../inc/rtsecmgrpermissionset.h MW_LAYER_PLATFORM_EXPORT_PATH(rtsecmgrpermissionset.h)
-../inc/rtsecmgrscript.h MW_LAYER_PLATFORM_EXPORT_PATH(rtsecmgrscript.h)
-../inc/rtsecmgrutility.h MW_LAYER_PLATFORM_EXPORT_PATH(rtsecmgrutility.h)
-
--- a/serviceapifw_plat/rtsecuritymanager_utility_api/inc/rtsecmgrpermission.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines permission data structure
- *
-*/
-
-
-
-
-
-
-
-#ifndef _C_PERMISSION_H_
-#define _C_PERMISSION_H_
-
-#include <e32debug.h>
-#include <s32strm.h>
-#include <s32mem.h>
-#include <rtsecmgrcommondef.h>
-
-typedef TUint32 TPermissionData;
-const TPermissionData LOWBIT = 0x0001;
-
-/**
- * Represents permission data structure.
- *
- * A permission data is modelled as 32 bit unsigned integer type
- * with the following layout :
- *
- * - With leftmost 20 bits representing one of symbian native capability value
- * - Bits 25 to 28 represent various user prompt conditions like oneshot,
- * session or blanket
- * - Bits 29-32 represent default condition value
- * - Bits 21-24 are reserved
- *
- * Various accessor and modifier methods are provided to access underlying
- * native capability value, the default condition and the conditions set
- * for this permission data.
- *
- * @lib rtsecmgrutil.lib
- */
-NONSHARABLE_CLASS(CPermission) : public CBase
- {
-public:
- /**
- * Default constructor
- *
- */
- IMPORT_C static CPermission* NewL();
-
- /**
- * destructor
- *
- */
- IMPORT_C ~CPermission();
-
- /**
- * Default constructor
- *
- */
- IMPORT_C static CPermission* NewLC();
-
-
- /**
- * Copy constructor
- *
- * @param aPermission TPermission permission source from which copy is made
- */
- IMPORT_C static CPermission* NewL(const CPermission& aPermission);
-
- /**
- * Copy constructor
- *
- * @param aPermission TPermission permission source from which copy is made
- */
- IMPORT_C static CPermission* NewLC(const CPermission& aPermission);
-
- /**
- * Overloaded constructor taking capability
- *
- * @param aCapability TCapability capability to be set
- */
- IMPORT_C static CPermission* NewL(const RCapabilityArray& aCapabilities);
-
- /**
- * Overloaded constructor taking capability
- *
- * @param aCapability TCapability capability to be set
- */
- IMPORT_C static CPermission* NewLC(const RCapabilityArray& aCapabilities);
-
- /**
- * Overloaded constructor taking capability and default condition
- *
- * @param aCapability TCapability capability to be set
- * @param aDefaultOption TUserPromptOption Default user prompt option to be set
- */
- IMPORT_C static CPermission* NewL(const RCapabilityArray& aCapabilities, TUserPromptOption aDefOpt);
-
- /**
- * Overloaded constructor taking capability and default condition
- *
- * @param aCapability TCapability capability to be set
- * @param aDefaultOption TUserPromptOption Default user prompt option to be set
- */
- IMPORT_C static CPermission* NewLC(const RCapabilityArray& aCapabilities, TUserPromptOption aDefOpt);
-
- /**
- * Overloaded constructor taking capability, default condition and conditions of
- * permission
- *
- * @param aCapability TCapability capability to be set
- * @param aDefaultOption TUserPromptOption Default user prompt option to be set
- * @param aCondition TUserPromptOption Conditions to be set
- */
- IMPORT_C static CPermission* NewL(const RCapabilityArray& aCapabilities, TUserPromptOption aDefOpt,
- TUserPromptOption aCondition);
-
- /**
- * Overloaded constructor taking capability, default condition and conditions of
- * permission
- *
- * @param aCapability TCapability capability to be set
- * @param aDefaultOption TUserPromptOption Default user prompt option to be set
- * @param aCondition TUserPromptOption Conditions to be set
- */
- IMPORT_C static CPermission* NewLC(const RCapabilityArray& aCapabilities, TUserPromptOption aDefOpt,
- TUserPromptOption aCondition);
-
- /**
- * Returns default prompt option
- *
- * @return TUserPromptOption default condition
- */
- IMPORT_C TUserPromptOption Default() const;
-
- /**
- * Returns condition
- *
- * @return TUserPromptOption condition
- */
- IMPORT_C TUserPromptOption Condition() const;
-
- /**
- * Returns capability value
- *
- * @return TCapability capability value
- */
- IMPORT_C TCapability Capability() const;
-
- /**
- * Returns capability of the permission
- *
- * @param aCapabilities RCapabilityArray& contains the capabilities
- */
- IMPORT_C void Capabilitilites(RCapabilityArray& aCapabilities) const;
-
- /**
- * Sets default condition value
- *
- * @param aDefaultOption TUserPromptOption default condition value
- */
- IMPORT_C void SetDefault(TUserPromptOption aDefaultOption);
-
- /**
- * Sets condition value
- *
- * @param aCondition TUserPromptOption condition value
- */
- IMPORT_C void SetCondition(TUserPromptOption aCondition);
-
- /**
- * Sets the name of the permission
- *
- * @param aName const TDesC& value
- */
- IMPORT_C void SetPermName(const TDesC& aName);
-
- /**
- * Returns Name of the permission
- *
- * @return const TDesC&
- */
- IMPORT_C const TDesC& PermName() const;
-
- /**
- * Returns iPermissionData of the permission
- *
- * @return TPermission iPermissionData value
- */
- IMPORT_C TPermissionData PermissionData() const;
-
- // ---------------------------------------------------------------------------
- // Adds a capability to permission data
- // ---------------------------------------------------------------------------
- //
- IMPORT_C void AppendCapPermData(TCapability aCap);
-
- // ---------------------------------------------------------------------------
- // Adds an unconditional capability
- // ---------------------------------------------------------------------------
- //
- IMPORT_C void SetPermissionData(TPermissionData aPermData);
-
- /**
- * Internalizes permission data from stream
- *
- * @param aInStream RReadStream input source stream
- */
- IMPORT_C void InternalizeL(RReadStream& aInStream);
-
- /**
- * Externalizes permission data to stream
- *
- * @param aOutStream RWriteStream output stream
- */
- IMPORT_C void ExternalizeL(RWriteStream& aOutStream) const;
-
-private:
- /*
- * Default private constructor
- */
- inline CPermission() : iPermName(NULL), iPermissionData(0)
- {}
-
- /*
- * private copy constructor
- */
- CPermission(const CPermission& aPermission);
-
-
- CPermission(const RCapabilityArray& aCapabilities);
-
- CPermission(const RCapabilityArray& aCapabilities, TUserPromptOption aDefOpt);
-
- CPermission(const RCapabilityArray& aCapabilities, TUserPromptOption aDefOpt,TUserPromptOption aCondition);
-
-private:
- //layout of TPermissionData
- //__________________________________________________________________________
- //| | | | |
- //| Default | Condition | RESERVED | CAPABILITY BITS |
- //|_________________|______________|_______________|________________________|
- //
- // 32,31,30,29, 28,27,26,25, 24,23,22,21, 20,19,18,...4,3,2,1
- //
- //underlying permission data structure
-
-
- TPermissionData iPermissionData;
-
-
- /*
- * alias group name
- */
- HBufC* iPermName;
-
- };
-
-#endif //_T_PERMISSION_H_
-
--- a/serviceapifw_plat/rtsecuritymanager_utility_api/inc/rtsecmgrpermissionset.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines permission set class
- *
-*/
-
-
-
-
-
-
-
-#ifndef _CPERMISSIONSET_H_
-#define _CPERMISSIONSET_H_
-
-#include <e32debug.h>
-#include <s32strm.h>
-#include <s32mem.h>
-#include <rtsecmgrcommondef.h>
-#include <rtsecmgrpermission.h>
-
-//Forward declaration
-class CPermissionSet;
-
-typedef RPointerArray<CPermission> RPermissions;
-typedef TUint32 TUnConditionalPermission;
-typedef RArray<TCapability> RUnConditionals;
-typedef RPointerArray<CPermissionSet> RPermissionSet;
-
-/**
- * CPermissionSet represents list of user grantable permissions
- * and list of unconditional permissions.
- *
- * CPermissionSet provides accessor and modifier methods to access
- * and modify CPermissionSet object state
- *
- * @lib rtsecmgrutil.lib
- */
-NONSHARABLE_CLASS(CPermissionSet) : public CBase
- {
-public:
- /**
- * Two-phased constructor
- *
- * Constructs a CPermissionSet instance
- *
- * @return pointer to an instance of CPermissionSet
- */
- IMPORT_C static CPermissionSet* NewL();
-
- /**
- * Two-phased constructor
- *
- * Constructs a CPermissionSet instance and leaves the created instance
- * on the cleanupstack
- *
- * @return pointer to an instance of CPermissionSet
- */
- IMPORT_C static CPermissionSet* NewLC();
-
- /**
- * Two-phased constructor
- *
- * Constructs a CPermissionSet instance from another permissionset
- * object
- *
- * @param aPermSet CPermissionSet source permissionset object
- *
- * @return pointer to an instance of CPermissionSet
- */
- IMPORT_C static CPermissionSet* NewL(const CPermissionSet& aPermSet);
-
- /**
- * Two-phased constructor
- *
- * Constructs a CPermissionSet instance from another permissionset
- * object and leaves the created instance on the cleanupstack
- *
- * @param aPermSet CPermissionSet source permissionset object
- *
- * @return pointer to an instance of CPermissionSet
- */
- IMPORT_C static CPermissionSet* NewLC(const CPermissionSet& aPermSet);
-
- /**
- * Destructor
- *
- */
- IMPORT_C ~CPermissionSet();
-
- /**
- * Externalizes permissionset data to stream
- *
- * @param aOutStream RWriteStream output stream
- */
- IMPORT_C void ExternalizeL(RWriteStream& aSink) const;
-
- /**
- * Internalizes permissionset data from stream
- *
- * @param aInStream RReadStream input source stream
- */
- IMPORT_C void InternalizeL(RReadStream& aSource);
-
- /*
- * Adds an unconditional capability to the permissionset
- *
- * @param aCapability TCapability unconditional capability to be added
- */
- IMPORT_C void AppendUncondCap(TCapability aCapability);
-
- /*
- * Adds a list of unconditional capabilities to the permissionset
- *
- * @param TUnConditionalPermission aUnConditionals - list of TCapability that are to be added
- */
- IMPORT_C void AppendUncondCapabilities(TUnConditionalPermission aUnConditionals);
-
- /*
- * Adds a permission to the permissionset
- *
- * @param aPermission CPermission permission data to be added
- *
- */
- IMPORT_C void AppendPermission(CPermission& aPermission);
-
- /*
- * Gets the list of user-grantable permissions
- *
- * @return RPermissions non-modifiable reference to the list of user-grantable permissions
- *
- */
- IMPORT_C const RPermissions& Permissions() const;
-
- /*
- * Gets the list of unconditional permissions
- *
- * @return TUnConditionalPermission unconditional permission
- *
- */
- IMPORT_C TUnConditionalPermission UnconditionalCaps() const;
-
- /*
- * Gets the list of unconditional permissions as array of
- * TCapability
- *
- * @return RUnConditionals list of unconditional capabilities
- *
- * @see TCapability
- *
- */
- IMPORT_C void UnconditionalCaps(RUnConditionals& aUnConditionals) const;
-
- /*
- * Gets list of user-grantable permissions. This overloaded version
- * returns modifiable list of user-grantable permissions
- *
- * @return RPermissions list of user-grantable permissions
- *
- */
- IMPORT_C RPermissions& Permissions();
-
-private:
- /*
- * Default private constructor
- */
- inline CPermissionSet()
- {}
-
- /*
- * private copy constructor
- */
- CPermissionSet(const CPermissionSet& aPermSet);
-
- /*
- * Private second phase constructor
- */
- void ConstructL(const CPermissionSet& aPermSet);
-
-private:
-
- //unconditional permissions
- TUnConditionalPermission iUncondCapSet;
-
- //user-grantable permissions
- RPermissions iPermissions;
- };
-#endif //_CPERMISSIONSET_H_
-
--- a/serviceapifw_plat/rtsecuritymanager_utility_api/inc/rtsecmgrscript.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,336 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Models script data structure
- *
-*/
-
-
-
-
-
-
-#ifndef _CSCRIPT_H_
-#define _CSCRIPT_H_
-
-#include <rtsecmgrcommondef.h>
-#include <rtsecmgrutility.h>
-
-/**
- * Type holding data to be used while prompting.
- *
- * The default or custom (runtime over-ridden) prompt handler requires the permission
- * type to prompt and the user-selection to be returned to security
- * manager for access permission check
- *
- * @lib rtsecmgrclient.lib
- */
-NONSHARABLE_CLASS(CScript) : public CBase
- {
-public:
-
- /**
- * Two-phased constructor
- *
- * Constructs a CScript instance
- *
- * @param aPolicyID TPolicyID policy identifier of the script
- * @param aScriptID TExecutableID script identifier
- *
- * @return pointer to an instance of CScript
- */
- IMPORT_C static CScript* NewL(TPolicyID aPolicyID,TExecutableID aScriptID);
-
- /**
- * Two-phased constructor
- *
- * Constructs a CScript instance and leaves the created instance
- * on cleanupstack
- *
- * @param aPolicyID TPolicyID policy identifier of the script
- * @param aScriptID TExecutableID script identifier
- *
- * @return pointer to an instance of CScript
- */
- IMPORT_C static CScript* NewLC(TPolicyID aPolicyID,TExecutableID aScriptID);
-
- /*
- * Destructor
- */
- IMPORT_C ~CScript();
-
- /*
- * overloaded assignment operator
- *
- * @param aRhs CScript source script object specified on the right
- * hand side of the assignment operator
- *
- * @return CScript returns the reference of this script object
- */
- IMPORT_C const CScript& operator=(const CScript& aRhs);
-
- /*
- * Gets the policy identifier of the script
- *
- * @return TPolicyID policy identifier of the script
- */
- IMPORT_C TPolicyID PolicyID() const;
-
- /*
- * Gets the script identifier
- *
- * @return TExecutableID identifier of the script
- */
- IMPORT_C TExecutableID ScriptID() const;
-
- /*
- * Gets the permissionset of the script. The permissionset
- * contains the list of user-grantable permissions and the list
- * of unconditional permissions
- *
- * @return CPermissionSet permissionset of the script
- */
- IMPORT_C const CPermissionSet& PermissionSet() const;
-
- /*
- * Gets the permissionset of the script. The permissionset
- * contains the list of user-grantable permissions and the list
- * of unconditional permissions. This overloaded version returns
- * a modifiable reference to permissionset object.
- *
- * @return CPermissionSet modifiable reference to permissionset of the script
- */
- IMPORT_C CPermissionSet& PermissionSet();
-
- /*
- * Gets the permanently granted permissions
- *
- * @return TPermGrant permanently granted permission
- *
- */
- IMPORT_C TPermGrant PermGranted() const;
-
- /*
- * Gets the permanently denied permissions
- *
- * @return TPermGrant permanently denied permission
- *
- */
- IMPORT_C TPermGrant PermDenied() const;
-
- /*
- * Gets the permanently granted providers
- *
- * @param aAllowedProviders RProviderArray IN/OUT param which will co
- *
- */
- IMPORT_C void PermGranted(RProviderArray& aAllowedProviders) ;
-
- /*
- * Gets the permanently denied permissions
- *
- * @return TPermGrant permanently denied permission
- *
- */
- IMPORT_C void PermDenied(RProviderArray& aDeniedProviders) ;
-
- /*
- * Sets the permissionset of the script
- *
- * @param aPermissionSet CPermissionSet source permissionset to be set
- */
- IMPORT_C void SetPermissionSet(const CPermissionSet& aPermissionSet);
-
- /**
- * Externalizes script data to stream
- *
- * @param aOutStream RWriteStream output stream
- */
- IMPORT_C void ExternalizeL(RWriteStream& aSink) const;
-
- /**
- * Internalizes script data from stream
- *
- * @param aInStream RReadStream input source stream
- */
- IMPORT_C void InternalizeL(RReadStream& aSource);
-
- /*
- * Sets permanently granted permission
- *
- * @param aPermGrant TPermGrant permanently granted permission to be set
- *
- */
- IMPORT_C void SetPermGranted(TPermGrant aPermGrant);
-
- /*
- * Sets permanently denied permission
- *
- * @param aPermDenied TPermGrant permanently denied permission to be set
- *
- */
- IMPORT_C void SetPermDenied(TPermGrant aPermDenied);
-
- /*
- * Sets permanently granted permission
- *
- * @param aPermGrant TPermGrant permanently granted permission to be set
- *
- */
- IMPORT_C void SetPermGranted(RProviderArray aPermGrantProviders);
-
- /*
- * Sets permanently denied permission
- *
- * @param aPermDenied TPermGrant permanently denied permission to be set
- *
- */
- IMPORT_C void SetPermDenied(RProviderArray aPermDeniedProviders);
-
- /*
- * Sets hash value of the script
- *
- * @param aHashMark TDesC hash value of the script
- *
- */
- inline void SetHashMarkL(const TDesC& aHashMark);
-
- /*
- * Compares the HashValue of the script with the one passed as argument.
- *
- * @return TBool hash values match or not.
- *
- */
- inline TBool HashMatch(const TDesC& aHashValue = KNullDesC) const;
-
- /*
- * returns hash value of the script
- *
- * @return TDesC hash value of the script
- *
- */
- inline TDesC Hash();
-
-private:
- /*
- * default private constructor
- *
- */
- inline CScript():iPermGrant(KDefaultNullBit),iPermDenied(KDefaultNullBit)
- {}
-
- /*
- * overloaded constructor
- *
- * @param aPolicyID TPolicyID policy identifier of the script
- * @param aScriptID TExecutableID script identifier
- *
- */
- inline CScript(TPolicyID aPolicyID,TExecutableID aScriptID):iPolicyID(aPolicyID),iPermGrant(KDefaultNullBit),iPermDenied(KDefaultNullBit),iScriptID(aScriptID)
- {}
-
- /*
- * copy constructor
- *
- * @param aRhs source script object
- */
- CScript(const CScript& aRhs);
-
- /*
- * Two-phased constructor
- *
- */
- void ConstructL();
-
-
-private:
- //permission set
- CPermissionSet* iPermissionSet;
-
- //script identifier
- TExecutableID iScriptID;
-
- //policy identifier of the script
- TPolicyID iPolicyID;
-
- //permanently granted permission
- TPermGrant iPermGrant;
-
- //permanently denied permission
- TPermGrant iPermDenied; //separate bit-patterns for permanently allowed & denied
-
- //permanently allowed providers
- RProviderArray iAllowedProviders;
-
- //permanently denied providers
- RProviderArray iDeniedProviders;
-
- //hash value of the script
- HBufC* iHashMark;
-
- // Reserved for future additions
- TAny* iReserved;
- };
-
-/*
- * Sets hash value of the script
- *
- * @param aHashMark TDesC hash value of the script
- *
- */
-inline void CScript::SetHashMarkL(const TDesC& aHashMark)
- {
- if ( iHashMark)
- {
- delete iHashMark;
- }
- iHashMark = aHashMark.AllocLC ();
- CleanupStack::Pop ();
- }
-
-/*
- *
- *
- * @return TBool Etrue
- *
- */
-inline TBool CScript::HashMatch(const TDesC& aHashValue) const
- {
- TBool matches(EFalse);
- if(iHashMark)
- {
- if(0==aHashValue.CompareF(*iHashMark))
- {
- return !matches;
- }
- }
- return matches;
- }
-
-/*
- *
- * @return TDesC hash value of the script.
- *
- */
-
-inline TDesC CScript::Hash()
- {
- if(iHashMark)
- return *iHashMark;
- else
- return KNullDesC;
- }
-
-#endif //_CSCRIPT_H_
-
-// End of file
--- a/serviceapifw_plat/rtsecuritymanager_utility_api/inc/rtsecmgrutility.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Security Manager utility header
- *
-*/
-
-
-
-
-
-
-
-#ifndef _RTSECURITYMGRUTILITY_H_
-#define _RTSECURITYMGRUTILITY_H_
-
-#include <e32debug.h>
-#include <s32strm.h>
-#include <s32mem.h>
-#include <rtsecmgrcommondef.h>
-#include <rtsecmgrpermission.h>
-#include <rtsecmgrpermissionset.h>
-
-#endif //_RTSECURITYMGRUTILITY_H_
-
-// End of file
--- a/serviceapifw_plat/rtsecuritymanager_utility_api/rtsecuritymanager_utility_api.metaxml Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<api id="e11a4612a8905eb046e1e8e5b21600d7" dataversion="1.0">
-<name>rtsecuritymanager_utility_api</name>
-<description>rtsecuritymanager_utility_api</description>
-<type>c++</type>
-<subsystem>rtsecuritymanager</subsystem>
-<libs><lib name="RTSecMgrUtil.lib"/>
-</libs>
-<release category="domain" sinceversion=""/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/serviceapifw_plat/rtsecuritymanager_utility_api/tsrc/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: ?Description
-*
-*/
-
-
-
-
-
-
-
-#include "../../../rtsecuritymanager_client_api/tsrc/group/bld.inf"
\ No newline at end of file
--- a/serviceapifw_pub/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-
-
--- a/sysdef_1_4_0.dtd Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
- <!ELEMENT SystemDefinition (systemModel?, build?)>
- <!ATTLIST SystemDefinition
- name CDATA #REQUIRED
- schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (logicalset* | module*)*>
- <!ATTLIST layer
- name CDATA #REQUIRED
- levels CDATA #IMPLIED
- span CDATA #IMPLIED>
- <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalset name CDATA #REQUIRED>
- <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalsubset name CDATA #REQUIRED>
- <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
- <!ATTLIST module
- name CDATA #REQUIRED
- level CDATA #IMPLIED>
- <!ELEMENT component (unit* | package* | prebuilt*)*>
- <!ATTLIST component name CDATA #REQUIRED>
- <!ELEMENT unit EMPTY>
- <!ATTLIST unit
- unitID ID #REQUIRED
- name CDATA #REQUIRED
- mrp CDATA #REQUIRED
- filter CDATA #IMPLIED
- bldFile CDATA #REQUIRED
- priority CDATA #IMPLIED
- contract CDATA #IMPLIED>
- <!ELEMENT package EMPTY>
- <!ATTLIST package
- name CDATA #REQUIRED
- mrp CDATA #REQUIRED
- filter CDATA #IMPLIED
- contract CDATA #IMPLIED>
- <!ELEMENT prebuilt EMPTY>
- <!ATTLIST prebuilt
- name CDATA #REQUIRED
- version CDATA #REQUIRED
- late (Y|N) #IMPLIED
- filter CDATA #IMPLIED
- contract CDATA #IMPLIED>
- <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
- <!ELEMENT unitList (unitRef+)>
- <!ATTLIST unitList
- name ID #REQUIRED
- description CDATA #REQUIRED>
- <!ELEMENT unitRef EMPTY>
- <!ATTLIST unitRef unit IDREF #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
- name ID #REQUIRED
- description CDATA #REQUIRED
- target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
- name ID #REQUIRED
- abldTarget CDATA #REQUIRED
- description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
- name ID #REQUIRED
- abldOption CDATA #REQUIRED
- description CDATA #REQUIRED
- enable (Y | N | y | n) #REQUIRED>
- <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
- <!ATTLIST configuration
- name ID #REQUIRED
- description CDATA #REQUIRED
- filter CDATA #REQUIRED>
- <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
- <!ELEMENT unitListRef EMPTY>
- <!ATTLIST unitListRef unitList IDREF #REQUIRED>
- <!ELEMENT layerRef EMPTY>
- <!ATTLIST layerRef layerName CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
- command CDATA #REQUIRED
- targetList IDREFS #IMPLIED
- unitParallel (Y | N | y | n) #REQUIRED
- targetParallel (Y | N | y | n) #IMPLIED>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
- name CDATA #REQUIRED
- cwd CDATA #REQUIRED
- command CDATA #REQUIRED>
--- a/tsrc/group/bld.inf Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-
-
-
-
-#include "../../serviceapifw_plat/rtsecuritymanager_client_api/tsrc/group/bld.inf"
-#include "../../serviceapifw_plat/liw_criteria_api/tsrc/group/bld.inf"