Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package {
- import flash.filesystem.File;
- import flash.filesystem.FileMode;
- import flash.filesystem.FileStream;
- import flash.utils.*;
- //-----------------------------------
- //
- public class AppUtil {
- private static var _instance:AppUtil;
- public static var date:String = '2011-07-19'; // hardcoded for now
- public static var name:String = 'ThisApp';
- public static var author:String = 'Author';
- public static var version:String = '0.0';
- //-----------------------------------
- //
- public function AppUtil() {
- if (AppUtil._instance)
- return;
- AppUtil._instance = this;
- // The alternative to this mess is to use File.userDirectory, but I don't consider
- // that guaranteed to always point to the parent of app/META-INF
- var manifest:File = new File(File.applicationDirectory.nativePath).resolvePath('../META-INF/MANIFEST.MF');
- var file:FileStream = new FileStream();
- file.open(manifest, FileMode.READ);
- var text:String = file.readUTFBytes(Math.min(manifest.size, 1000));
- var item:String;
- item = /Application-Version: (.+)/i.exec(text)[1];
- //~ trace('version', item, 'old', AppUtil.version);
- AppUtil.version = item;
- item = /Application-Name: (.+)/i.exec(text)[1];
- //~ trace('name', item, 'old', AppUtil.name);
- AppUtil.name = item;
- item = /Package-Author: (.+)/i.exec(text)[1];
- //~ trace('name', item, 'old', AppUtil.author);
- AppUtil.author = item;
- }
- //-----------------------------------
- //
- public static function initialize():AppUtil {
- return AppUtil._instance || new AppUtil();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment