242 case KDefaultObjType: |
242 case KDefaultObjType: |
243 if(defaultPolicySet) |
243 if(defaultPolicySet) |
244 { |
244 { |
245 __SQLLEAVE(KErrGeneral);//two "default policy" records in the table |
245 __SQLLEAVE(KErrGeneral);//two "default policy" records in the table |
246 } |
246 } |
247 StoreDefaultSecurityPolicyL(aSecurityPolicyCon, policy, dbPolicySetFlag); |
247 StoreDefaultSecurityPolicy(aSecurityPolicyCon, policy, dbPolicySetFlag); |
248 defaultPolicySet = ETrue; |
248 defaultPolicySet = ETrue; |
249 break; |
249 break; |
250 case KDbObjType: |
250 case KDbObjType: |
251 StoreDbSecurityPolicyL(aSecurityPolicyCon, policyType, policy, dbPolicySetFlag); |
251 StoreDbSecurityPolicyL(aSecurityPolicyCon, policyType, policy, dbPolicySetFlag); |
252 break; |
252 break; |
889 |
889 |
890 @param aSecurityPolicyCon Security policies container. |
890 @param aSecurityPolicyCon Security policies container. |
891 @param aPolicy Default security policy object |
891 @param aPolicy Default security policy object |
892 @param aDbPolicySetFlag Bit flag. Keeps information which database security policies are set and which aren't. |
892 @param aDbPolicySetFlag Bit flag. Keeps information which database security policies are set and which aren't. |
893 |
893 |
894 @leave See CSqlSecurityPolicy::SetDbPolicy() return values. |
|
895 @see CSqlSecurityPolicy::SetDbPolicy() |
894 @see CSqlSecurityPolicy::SetDbPolicy() |
896 */ |
895 */ |
897 void TSqlDbSysSettings::StoreDefaultSecurityPolicyL(CSqlSecurityPolicy& aSecurityPolicyCon, |
896 void TSqlDbSysSettings::StoreDefaultSecurityPolicy(CSqlSecurityPolicy& aSecurityPolicyCon, |
898 const TSecurityPolicy& aPolicy, TInt aDbPolicySetFlag) |
897 const TSecurityPolicy& aPolicy, TInt aDbPolicySetFlag) |
899 { |
898 { |
900 aSecurityPolicyCon.SetDefaultPolicy(aPolicy); |
899 aSecurityPolicyCon.SetDefaultPolicy(aPolicy); |
901 if(!(aDbPolicySetFlag & (1 << RSqlSecurityPolicy::ESchemaPolicy))) |
900 if(!(aDbPolicySetFlag & (1 << RSqlSecurityPolicy::ESchemaPolicy))) |
902 { |
901 { |
903 __SQLLEAVE_IF_ERROR(aSecurityPolicyCon.SetDbPolicy(RSqlSecurityPolicy::ESchemaPolicy, aPolicy)); |
902 aSecurityPolicyCon.SetDbPolicy(RSqlSecurityPolicy::ESchemaPolicy, aPolicy); |
904 } |
903 } |
905 if(!(aDbPolicySetFlag & (1 << RSqlSecurityPolicy::EReadPolicy))) |
904 if(!(aDbPolicySetFlag & (1 << RSqlSecurityPolicy::EReadPolicy))) |
906 { |
905 { |
907 __SQLLEAVE_IF_ERROR(aSecurityPolicyCon.SetDbPolicy(RSqlSecurityPolicy::EReadPolicy, aPolicy)); |
906 aSecurityPolicyCon.SetDbPolicy(RSqlSecurityPolicy::EReadPolicy, aPolicy); |
908 } |
907 } |
909 if(!(aDbPolicySetFlag & (1 << RSqlSecurityPolicy::EWritePolicy))) |
908 if(!(aDbPolicySetFlag & (1 << RSqlSecurityPolicy::EWritePolicy))) |
910 { |
909 { |
911 __SQLLEAVE_IF_ERROR(aSecurityPolicyCon.SetDbPolicy(RSqlSecurityPolicy::EWritePolicy, aPolicy)); |
910 aSecurityPolicyCon.SetDbPolicy(RSqlSecurityPolicy::EWritePolicy, aPolicy); |
912 } |
911 } |
913 } |
912 } |
914 |
913 |
915 /** |
914 /** |
916 Stores a database security policy into aSecurityPolicyCon container. |
915 Stores a database security policy into aSecurityPolicyCon container. |
934 } |
933 } |
935 if(aDbPolicySetFlag & (1 << aPolicyType)) |
934 if(aDbPolicySetFlag & (1 << aPolicyType)) |
936 { |
935 { |
937 __SQLLEAVE(KErrGeneral); |
936 __SQLLEAVE(KErrGeneral); |
938 } |
937 } |
939 __SQLLEAVE_IF_ERROR(aSecurityPolicyCon.SetDbPolicy(static_cast <RSqlSecurityPolicy::TPolicyType> (aPolicyType), aPolicy)); |
938 aSecurityPolicyCon.SetDbPolicy(static_cast <RSqlSecurityPolicy::TPolicyType> (aPolicyType), aPolicy); |
940 aDbPolicySetFlag |= (1 << aPolicyType); |
939 aDbPolicySetFlag |= (1 << aPolicyType); |
941 } |
940 } |
942 |
941 |
943 /** |
942 /** |
944 Stores a database object security policy into aSecurityPolicyCon container. |
943 Stores a database object security policy into aSecurityPolicyCon container. |