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) {
11 if (typeof(file)=='string') file = get_file( file );
12 var f = create_output_stream(file);
13 var obj_json = js2JSON( obj );
14 f.write( obj_json, String( obj_json ).length ); f.close();
16 throw('Tried setting obj = ' + obj + '\n');
19 sdump('D_FILE', 'set_object_in_file: ' + js2JSON(E) + '\n');
24 function get_object_in_file(file) {
26 if (typeof(file)=='string') file = get_file( file );
28 var f = create_input_stream(file);
29 var data = f.read(-1);
30 var obj = JSON2js( data );
34 throw('File does not exist. ');
37 sdump('D_FILE', 'get_object_in_file: ' + js2JSON(E) + '\n');
42 //////////////////////////////////////////////////////////////////////////////////////////////////////
44 function create_input_stream(file) {
46 if (typeof(file)=='string') file = get_file( file );
47 var f = Components.classes["@mozilla.org/network/file-input-stream;1"]
48 .createInstance(Components.interfaces.nsIFileInputStream);
49 if (file && file.exists()) {
50 f.init(file, 0x01, 0, 0);
51 var s = Components.classes["@mozilla.org/scriptableinputstream;1"]
52 .createInstance(Components.interfaces.nsIScriptableInputStream);
64 function create_output_stream(file) {
66 if (typeof(file)=='string') file = get_file( file );
67 var f = Components.classes["@mozilla.org/network/file-output-stream;1"]
68 .createInstance(Components.interfaces.nsIFileOutputStream);
70 if (! file.exists()) file.create( 0, 0640 );
71 f.init(file, 0x02 | 0x08 | 0x20, 0644, 0);
80 function get_file( fname ) {
82 file = dirService.get( "AChrom", Components.interfaces.nsIFile );
83 file.append(mw.myPackageDir); file.append("content"); file.append("conf"); file.append(fname);
84 sdump('D_FILE','get_file( ' + fname + ').path = ' + file.path + '\n');