Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

FControl.h

Go to the documentation of this file.
00001 #ifndef FCONTROL_H_FILE
00002 #define FCONTROL_H_FILE
00003 
00004 #include "FBase.h"
00005 #include "./md5/md5.h"
00006 #include <vector>
00007 #include <string>
00008 
00009 
00010 class FlashImportHandler;
00011 
00012 class FlashTagDefineBitsPtr : public FlashTag
00013 {
00014 DEFINE_RW_INTERFACE
00015 public:
00016         FlashTagDefineBitsPtr(UDWORD ptr) : ref(ptr){}
00017         UDWORD GetPtr() { return ref; }
00018         void SetPtr(UDWORD ptr) { ref = ptr; }
00019 
00020 private:
00021         friend class FlashImportHandler;
00022         FlashTagDefineBitsPtr(){};
00023         UDWORD ref;
00024         friend std::ostream &operator << (std::ostream &out, FlashTagDefineBitsPtr &data);
00025         friend std::istream &operator >> (std::istream &in,  FlashTagDefineBitsPtr &data);
00026 };
00027 
00028 class FlashTagProtect : public FlashTag
00029 {
00030 DEFINE_RW_INTERFACE
00031 public: 
00032         friend class FlashImportHandler;
00033         FlashTagProtect() : hasPass(false){}
00034         FlashTagProtect(std::string& password) : hasPass(false)
00035         {
00036                 hasPass = true;         
00037                 md5Pass = crypt_md5(password.c_str(), "Aa");
00038         }
00039         
00040         std::string GetEncryptedPassword(){return md5Pass;}
00041         
00042         void SetEncryptedPassword(std::string& encPassword){
00043                 hasPass = true;
00044                 md5Pass = encPassword;
00045         }
00046         void SetPassword(std::string& password)
00047         {               
00048                 hasPass = true;                         
00049                 md5Pass = crypt_md5(password.c_str(), "Aa");;
00050         }
00051         bool HasPassword() { return hasPass; }
00052 private:
00053         bool hasPass;
00054         std::string md5Pass;
00055 
00056         friend class FlashImporter;     
00057         
00058         friend std::ostream &operator << (std::ostream &out, FlashTagProtect &data);
00059         friend std::istream &operator >> (std::istream &in,  FlashTagProtect &data);
00060 };
00061 
00062 class FlashTagEnableDebugger : public FlashTag
00063 {
00064 DEFINE_RW_INTERFACE
00065 public: 
00066         friend class FlashImportHandler;
00067         FlashTagEnableDebugger() : hasPass(false){}
00068         FlashTagEnableDebugger(std::string& password) : hasPass(false)
00069         {
00070                 hasPass = true;         
00071                 md5Pass = crypt_md5(password.c_str(), "Aa");
00072         }
00073         
00074         std::string GetEncryptedPassword(){return md5Pass;}
00075         
00076         void SetEncryptedPassword(std::string& encPassword){
00077                 hasPass = true;
00078                 md5Pass = encPassword;
00079         }
00080         void SetPassword(std::string& password)
00081         {               
00082                 hasPass = true;                         
00083                 md5Pass = crypt_md5(password.c_str(), "Aa");;
00084         }
00085         bool HasPassword() { return hasPass; }
00086 private:
00087         bool hasPass;
00088         
00089 
00090         std::string md5Pass;
00091         
00092         friend class FlashImporter;     
00093         
00094         friend std::ostream &operator << (std::ostream &out, FlashTagEnableDebugger &data);
00095         friend std::istream &operator >> (std::istream &in,  FlashTagEnableDebugger &data);
00096 };
00097 
00098 class FlashTagBackgroundColor : public FlashTag
00099 {
00100 DEFINE_RW_INTERFACE
00101 public: 
00102         friend class FlashImportHandler;
00103         FlashTagBackgroundColor(UBYTE _r, UBYTE _g, UBYTE _b) : r(_r), g(_g), b(_b) {}
00104         FlashTagBackgroundColor(FlashRGB &c) { r = (UBYTE)c.GetR(); g= (UBYTE)c.GetG(); b = (UBYTE)c.GetB(); }
00105         ~FlashTagBackgroundColor() {}
00106 
00107         FlashRGB GetRGB() { return FlashRGB(r,g,b); }
00108         
00109         UBYTE r;
00110         UBYTE g;
00111         UBYTE b;
00112 private:
00113         friend class FlashImporter;
00114         FlashTagBackgroundColor() {}
00115 
00116         friend std::ostream &operator << (std::ostream &out, FlashTagBackgroundColor &data);
00117         friend std::istream &operator >> (std::istream &in,  FlashTagBackgroundColor &data);
00118 };
00119 
00120 class FlashTagLabelFrame : public FlashSpriteEnabled
00121 {
00122 DEFINE_RW_INTERFACE
00123 public:
00124         friend class FlashImportHandler;
00125         FlashTagLabelFrame(char *_str) : str(_str) {}
00126         ~FlashTagLabelFrame() { free(str); }
00127 
00128         const char *GetLabel() { return str; }
00129 private:
00130         FlashTagLabelFrame() {}
00131         friend class FlashImporter;
00132 
00133         friend std::ostream &operator << (std::ostream &out, FlashTagLabelFrame &data);
00134         friend std::istream &operator >> (std::istream &in,  FlashTagLabelFrame &data);
00135         
00136         char *str;
00137 
00138         gc_vector<char *> gc;
00139 };
00140 
00141 DECLARE_SIMPLE_TAG2(FlashTagEnd)
00142 
00143 class FlashTagExportAssets : public FlashTag
00144 {
00145 DEFINE_RW_INTERFACE
00146 public:
00147         friend class FlashImportHandler;
00148         FlashTagExportAssets() {}
00149         ~FlashTagExportAssets() {}
00150 
00151         void AddAsset(char *str, UWORD id);
00152 
00153         unsigned int GetAssetNum() { return assets_str.size(); }
00154         flash_pair<char*, UWORD> GetAsset(long num) { return(flash_pair<char*,UWORD>(assets_str[num],assets_id[num])); }
00155 private:
00156         friend class FlashImporter;
00157 private:
00158         friend std::ostream &operator << (std::ostream &out, FlashTagExportAssets &data);
00159         friend std::istream &operator >> (std::istream &in,  FlashTagExportAssets &data);
00160 
00161         std::vector <char*> assets_str;
00162         std::vector <UWORD> assets_id;
00163         gc_vector<char *> gc;
00164 };
00165 class FlashTagImportAssets : public FlashTag
00166 {
00167 DEFINE_RW_INTERFACE
00168 FlashTagImportAssets() {}
00169 public:
00170         friend class FlashImportHandler;
00171         FlashTagImportAssets(char *_swfurl) : swfurl(_swfurl) {}
00172         ~FlashTagImportAssets() { }
00173 
00174         void AddAsset(char *str, UWORD id);
00175 
00176         const char *GetSwfUrl() { return swfurl; }
00177         unsigned int GetAssetNum() { return assets_str.size(); }
00178         flash_pair<char*, UWORD> GetAsset(long num) { return(flash_pair<char*,UWORD>(assets_str[num],assets_id[num])); }
00179 private:
00180         friend class FlashImporter;
00181 
00182 
00183 private:
00184         friend std::ostream &operator << (std::ostream &out, FlashTagImportAssets &data);
00185         friend std::istream &operator >> (std::istream &in,  FlashTagImportAssets &data);
00186 
00187         char *swfurl;
00188         std::vector <char*> assets_str;
00189         std::vector <UWORD> assets_id;
00190     gc_vector<char *> gc;
00191 };
00192 
00193 
00194 class FlashTagFreeCharacter : public FlashTag
00195 {
00196 DEFINE_RW_INTERFACE
00197 FlashTagFreeCharacter() {}
00198 public:
00199         FlashTagFreeCharacter(UWORD _id) { _id = id; }
00200         UWORD GetID(void) const { return id; }
00201 private:
00202         friend class FlashImporter;
00203         friend std::ostream &operator << (std::ostream &out, FlashTagFreeCharacter &data);
00204         friend std::istream &operator >> (std::istream &in,  FlashTagFreeCharacter &data);
00205 
00206         UWORD id;
00207 };
00208 
00209 #endif

Generated at Wed Aug 1 13:33:50 2001 for SWFSource by doxygen1.2.9 written by Dimitri van Heesch, © 1997-2001