24 namespace security |
24 namespace security |
25 { |
25 { |
26 |
26 |
27 bool JavaCertStoreMetadataFileHandler::writeState(std::string aFilePath, int aState) |
27 bool JavaCertStoreMetadataFileHandler::writeState(std::string aFilePath, int aState) |
28 { |
28 { |
29 int len = aFilePath.size(); |
|
30 HBufC* filePath = HBufC::NewL(len); |
|
31 CleanupStack::PushL(filePath); |
|
32 TPtr ptr = filePath->Des(); |
|
33 TPtr8 ptr8((unsigned char *)aFilePath.c_str(),len); |
|
34 ptr8.SetLength(len); |
|
35 ptr.Copy(ptr8); |
|
36 RFs rFs; |
|
37 RFile stateFile; |
|
38 bool res = false; |
29 bool res = false; |
39 int err = rFs.Connect(); |
30 TRAP_IGNORE( |
40 if (err == KErrNone) |
31 int len = aFilePath.size(); |
41 { |
32 HBufC* filePath = HBufC::NewL(len); |
42 err = stateFile.Open(rFs, ptr, EFileWrite); |
33 CleanupStack::PushL(filePath); |
43 if (err == KErrNotFound) |
34 TPtr ptr = filePath->Des(); |
44 { |
35 TPtr8 ptr8((unsigned char *)aFilePath.c_str(),len); |
45 err = stateFile.Create(rFs, ptr, EFileWrite); |
36 ptr8.SetLength(len); |
46 } |
37 ptr.Copy(ptr8); |
|
38 RFs rFs; |
|
39 RFile stateFile; |
|
40 int err = rFs.Connect(); |
47 if (err == KErrNone) |
41 if (err == KErrNone) |
48 { |
42 { |
49 CleanupClosePushL(stateFile); |
43 err = stateFile.Open(rFs, ptr, EFileWrite); |
50 TPckgBuf<TUint32> state(aState); |
44 if (err == KErrNotFound) |
51 stateFile.Write(0, state); |
45 { |
52 CleanupStack::PopAndDestroy(); // state file |
46 err = stateFile.Create(rFs, ptr, EFileWrite); |
53 res = true; |
47 } |
|
48 if (err == KErrNone) |
|
49 { |
|
50 CleanupClosePushL(stateFile); |
|
51 TPckgBuf<TUint32> state(aState); |
|
52 stateFile.Write(0, state); |
|
53 CleanupStack::PopAndDestroy(); // state file |
|
54 res = true; |
|
55 } |
54 } |
56 } |
55 } |
57 CleanupStack::PopAndDestroy(); // file path |
56 CleanupStack::PopAndDestroy(); // file path |
58 ); |
57 return res; |
59 return res; |
58 } |
60 } |
59 |
61 |
60 int JavaCertStoreMetadataFileHandler::readState(std::string aFilePath) |
62 int JavaCertStoreMetadataFileHandler::readState(std::string aFilePath) |
61 { |
63 { |
62 int state = STATE_UNDEFINED; |
64 int state = STATE_UNDEFINED; |
63 int len = aFilePath.size(); |
65 TRAP_IGNORE( |
64 HBufC* filePath = HBufC::NewL(len); |
66 int len = aFilePath.size(); |
65 CleanupStack::PushL(filePath); |
67 HBufC* filePath = HBufC::NewL(len); |
66 TPtr ptr = filePath->Des(); |
68 CleanupStack::PushL(filePath); |
67 TPtr8 ptr8((unsigned char *)aFilePath.c_str(),len); |
69 TPtr ptr = filePath->Des(); |
68 ptr8.SetLength(len); |
70 TPtr8 ptr8((unsigned char *)aFilePath.c_str(),len); |
69 ptr.Copy(ptr8); |
71 ptr8.SetLength(len); |
70 RFs rFs; |
72 ptr.Copy(ptr8); |
71 RFile stateFile; |
73 RFs rFs; |
72 int err = rFs.Connect(); |
74 RFile stateFile; |
73 if (err == KErrNone) |
75 int err = rFs.Connect(); |
74 { |
|
75 err = stateFile.Open(rFs, ptr, EFileRead); |
|
76 if (err == KErrNone) |
76 if (err == KErrNone) |
77 { |
77 { |
78 CleanupClosePushL(stateFile); |
78 err = stateFile.Open(rFs, ptr, EFileRead); |
79 TPckgBuf<TUint32> tmp; |
|
80 err = stateFile.Read(0, tmp); |
|
81 CleanupStack::PopAndDestroy(); // state file |
|
82 if (err == KErrNone) |
79 if (err == KErrNone) |
83 { |
80 { |
84 state = tmp(); |
81 CleanupClosePushL(stateFile); |
|
82 TPckgBuf<TUint32> tmp; |
|
83 err = stateFile.Read(0, tmp); |
|
84 CleanupStack::PopAndDestroy(); // state file |
|
85 if (err == KErrNone) |
|
86 { |
|
87 state = tmp(); |
|
88 } |
85 } |
89 } |
86 } |
90 } |
87 } |
91 CleanupStack::PopAndDestroy(); // file path |
88 CleanupStack::PopAndDestroy(); // file path |
92 ); |
89 return state; |
93 return state; |
90 } |
94 } |
91 |
95 |
92 } //end namespace security |
96 } //end namespace security |
93 } //end namespace java |
97 } //end namespace java |