Make identities.txt private to the current user. LP #1291476.
[moonshot-ui.git] / src / moonshot-local-flat-file-store.vala
index 99874fc..8d98230 100644 (file)
@@ -19,9 +19,12 @@ public class LocalFlatFileStore : Object, IIdentityCardStore {
         return null;
     }
 
-    public void remove_card(IdCard card) {
-        id_card_list.remove(card);
-        store_id_cards ();
+    public bool remove_card(IdCard card) {
+        if (id_card_list.remove(card)) {
+            store_id_cards ();
+            return true;
+        }
+        return false;
     }
 
     public LinkedList<IdCard> get_card_list() {
@@ -142,8 +145,10 @@ public class LocalFlatFileStore : Object, IIdentityCardStore {
         try {
             var path = get_data_dir ();
             var filename = Path.build_filename (path, FILE_NAME);
-            FileUtils.set_contents (filename, text, -1);
-        } 
+            var file  = File.new_for_path(filename);
+            var stream = file.replace(null, false, FileCreateFlags.PRIVATE);
+            stream.write(text.data);
+        }
         catch (Error e) {
             stdout.printf ("Error:  %s\n", e.message);
         }