177 /** |
177 /** |
178 @param aPolicyType Database security policy type: RSqlSecurityPolicy::ESchemaPolicy, |
178 @param aPolicyType Database security policy type: RSqlSecurityPolicy::ESchemaPolicy, |
179 RSqlSecurityPolicy::EReadPolicy, RSqlSecurityPolicy::EWritePolicy. |
179 RSqlSecurityPolicy::EReadPolicy, RSqlSecurityPolicy::EWritePolicy. |
180 @param aPolicy Security policy data used for setting the related database security policy. |
180 @param aPolicy Security policy data used for setting the related database security policy. |
181 |
181 |
182 @return KErrNone |
|
183 |
|
184 @panic SqlDb 4 In _DEBUG mode. Invalid policy type. |
182 @panic SqlDb 4 In _DEBUG mode. Invalid policy type. |
185 */ |
183 */ |
186 TInt CSqlSecurityPolicy::SetDbPolicy(RSqlSecurityPolicy::TPolicyType aPolicyType, const TSecurityPolicy& aPolicy) |
184 void CSqlSecurityPolicy::SetDbPolicy(RSqlSecurityPolicy::TPolicyType aPolicyType, const TSecurityPolicy& aPolicy) |
187 { |
185 { |
188 const TInt KPolicyIndex = CSqlSecurityPolicy::PolicyType2Index(aPolicyType); |
186 const TInt KPolicyIndex = CSqlSecurityPolicy::PolicyType2Index(aPolicyType); |
189 __SQLASSERT((TUint)KPolicyIndex < EPolicyTypeCount, ESqlPanicBadArgument); |
187 __SQLASSERT((TUint)KPolicyIndex < EPolicyTypeCount, ESqlPanicBadArgument); |
190 RSqlBufFlat::TCell* begin = iBufFlat.Header(); |
188 RSqlBufFlat::TCell* begin = iBufFlat.Header(); |
191 __SQLASSERT(begin != NULL, ESqlPanicInternalError); |
189 __SQLASSERT(begin != NULL, ESqlPanicInternalError); |
192 CSqlSecurityPolicy::TPolicyItem* item = CSqlSecurityPolicy::PolicyItemPtr(begin, begin + CSqlSecurityPolicy::EDbPolicyIdx); |
190 CSqlSecurityPolicy::TPolicyItem* item = CSqlSecurityPolicy::PolicyItemPtr(begin, begin + CSqlSecurityPolicy::EDbPolicyIdx); |
193 __SQLASSERT(item != NULL, ESqlPanicInternalError); |
191 __SQLASSERT(item != NULL, ESqlPanicInternalError); |
194 //KPolicyIndex value is tested at the beginning of the function |
192 //KPolicyIndex value is tested at the beginning of the function |
195 //coverity[overrun-local] |
193 //coverity[overrun-local] |
196 item->iPolicy[KPolicyIndex] = aPolicy; |
194 item->iPolicy[KPolicyIndex] = aPolicy; |
197 return KErrNone; |
|
198 } |
195 } |
199 |
196 |
200 /** |
197 /** |
201 If there is no entry in the container for the object with aObjectName name, a new entry for this object will be |
198 If there is no entry in the container for the object with aObjectName name, a new entry for this object will be |
202 created and all object security policies will be initialized with the default security policy. aPolicyType object |
199 created and all object security policies will be initialized with the default security policy. aPolicyType object |