13b7203622 2011-02-23 kinaba: #ifndef AFX_ARCB2e_H__697CC1BD_2C28_434C_8C53_239D624227C3__INCLUDED_ 13b7203622 2011-02-23 kinaba: #define AFX_ARCB2e_H__697CC1BD_2C28_434C_8C53_239D624227C3__INCLUDED_ 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: #include "Archiver.h" 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: class CArcB2e : public CArchiver 13b7203622 2011-02-23 kinaba: { 13b7203622 2011-02-23 kinaba: public: //--<action>-- 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: CArcB2e( const char* scriptname ); 13b7203622 2011-02-23 kinaba: virtual ~CArcB2e(); 13b7203622 2011-02-23 kinaba: static const char* init_b2e_path(); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: private: //--<CArchiver>-- 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: int v_load(); 13b7203622 2011-02-23 kinaba: bool v_ver( kiStr& str ); 13b7203622 2011-02-23 kinaba: bool v_check( const kiPath& aname ); 13b7203622 2011-02-23 kinaba: int v_contents( const kiPath& aname, kiPath& dname ); 13b7203622 2011-02-23 kinaba: int v_melt( const arcname& aname, const kiPath& ddir, const aflArray* files ); 13b7203622 2011-02-23 kinaba: bool v_list( const arcname& aname, aflArray& files ); 13b7203622 2011-02-23 kinaba: int v_compress( const kiPath& base, const wfdArray& files, const kiPath& ddir, int method, bool sfx ); 13b7203622 2011-02-23 kinaba: kiStr v_name(const char*) const { return exe ? exe->name() : kiStr(""); } 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: bool arc2sfx( const kiPath& temp, const kiPath& dest ); 13b7203622 2011-02-23 kinaba: int cmpr( const char* scr, const kiPath& base, const wfdArray& files, const kiPath& ddir, const int method ); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: private: //--<RythpScript>-- 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // scripts 13b7203622 2011-02-23 kinaba: char* m_ScriptBuf; 13b7203622 2011-02-23 kinaba: char* m_LoadScr; 13b7203622 2011-02-23 kinaba: const char* m_EncScr; 13b7203622 2011-02-23 kinaba: const char* m_DecScr; 13b7203622 2011-02-23 kinaba: const char* m_SfxScr; 13b7203622 2011-02-23 kinaba: const char* m_DcEScr; 13b7203622 2011-02-23 kinaba: const char* m_LstScr; 13b7203622 2011-02-23 kinaba: bool m_SfxDirect; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: enum scr_mode { mLod, mEnc, mDec, mDc1, mSfx, mLst }; 13b7203622 2011-02-23 kinaba: int exec_script( const char* scr, scr_mode mode ); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // B2e Core 13b7203622 2011-02-23 kinaba: class CB2eCore : public kiRythpVM 13b7203622 2011-02-23 kinaba: { 13b7203622 2011-02-23 kinaba: friend class CArcB2e; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: bool exec_function( const kiVar& name, const CharArray& a, const BoolArray& b,int c, kiVar* r ); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: void arc( const char* opt, const CharArray& a, const BoolArray& b,int c, kiVar* r ); 13b7203622 2011-02-23 kinaba: void list( const char* opt, const CharArray& a, const BoolArray& b,int c, kiVar* r ); 13b7203622 2011-02-23 kinaba: void resp( bool needq, const char* opt, const CharArray& a, const BoolArray& b,int c, kiVar* r ); 13b7203622 2011-02-23 kinaba: void input( const char* msg, const char* defval, kiVar* r ); 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: void setPtr( CArcB2e* p, scr_mode m ){x=p;m_mode=m;} 13b7203622 2011-02-23 kinaba: CArcB2e* x; 13b7203622 2011-02-23 kinaba: scr_mode m_mode; 13b7203622 2011-02-23 kinaba: kiVar t; 13b7203622 2011-02-23 kinaba: }; 13b7203622 2011-02-23 kinaba: friend class CB2eCore; 13b7203622 2011-02-23 kinaba: static char st_base[MAX_PATH]; 13b7203622 2011-02-23 kinaba: static int st_life; 13b7203622 2011-02-23 kinaba: static CB2eCore* rvm; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // module 13b7203622 2011-02-23 kinaba: CArcModule* exe; 13b7203622 2011-02-23 kinaba: kiArray<kiStr> m_subFile; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: // script˜AŒg 13b7203622 2011-02-23 kinaba: bool load_module( const char* name ); 13b7203622 2011-02-23 kinaba: int m_Result; 13b7203622 2011-02-23 kinaba: bool m_usMode; 13b7203622 2011-02-23 kinaba: const arcname* m_psArc; 13b7203622 2011-02-23 kinaba: const kiPath* m_psDir; 13b7203622 2011-02-23 kinaba: const int* m_psMhd; 13b7203622 2011-02-23 kinaba: const wfdArray* m_psList; 13b7203622 2011-02-23 kinaba: const aflArray* m_psAInfo; 13b7203622 2011-02-23 kinaba: }; 13b7203622 2011-02-23 kinaba: 13b7203622 2011-02-23 kinaba: #endif