1 sdump('D_TRACE','Loading file.js\n');
3 var dirService = Components.classes["@mozilla.org/file/directory_service;1"].
4 getService( Components.interfaces.nsIProperties );
6 //////////////////////////////////////////////////////////////////////////////////////////////////////
8 function set_object_in_file(file,obj) {
10 if (typeof(file)=='string') file = get_file( file );
11 var f = create_output_stream(file);
12 var obj_json = js2JSON( obj );
13 f.write( obj_json, obj_json.length ); f.close();
15 sdump('D_FILE', 'set_object_in_file: ' + js2JSON(E) + '\n');
20 function get_object_in_file(file) {
22 if (typeof(file)=='string') file = get_file( file );
24 var f = create_input_stream(file);
25 var obj = JSON2js( f.read(-1) );
29 throw('File does not exist. ');
32 sdump('D_FILE', 'get_object_in_file: ' + js2JSON(E) + '\n');
37 //////////////////////////////////////////////////////////////////////////////////////////////////////
39 function create_input_stream(file) {
41 if (typeof(file)=='string') file = get_file( file );
42 var f = Components.classes["@mozilla.org/network/file-input-stream;1"]
43 .createInstance(Components.interfaces.nsIFileInputStream);
44 if (file && file.exists()) {
45 f.init(file, 0x01, 0, 0);
46 var s = Components.classes["@mozilla.org/scriptableinputstream;1"]
47 .createInstance(Components.interfaces.nsIScriptableInputStream);
59 function create_output_stream(file) {
61 if (typeof(file)=='string') file = get_file( file );
62 var f = Components.classes["@mozilla.org/network/file-output-stream;1"]
63 .createInstance(Components.interfaces.nsIFileOutputStream);
65 if (! file.exists()) file.create( 0, 0640 );
66 f.init(file, 0x02 | 0x08 | 0x20, 0644, 0);
75 function get_file( fname ) {
77 file = dirService.get( "AChrom", Components.interfaces.nsIFile );
78 file.append(mw.myPackageDir); file.append("content"); file.append("conf"); file.append(fname);
79 sdump('D_FILE','get_file( ' + fname + ').path = ' + file.path + '\n');