#if !defined(_Yoneticiler_Baslik) #define _Yoneticiler_Baslik //-----------------------------------------------------------------------------\\ // \\ // Dosya Adı: yoneticiler.h \\ // Proje: Virüs Avcısı - http://www.virusavcisi.com/ \\ // Açıklama: Açık Kaynak Kodlu Anti-Virüs Projesi \\ // Tanım: Proje Temel Nesnesi \\ // Konu: Çekirdek ve Genel Yapı Bileşenleri \\ // Tarih: 27.03.10 09:37 \\ // İlk Kodlayıcı: Arf Teknoloji \\ // Kurtuluş Mh. 66. Sk. No: 17 \\ // İskenderun/Türkiye \\ // Tel: +90 326 614 36 41 \\ // http://www.arfteknoloji.com/ \\ // Destekleyenler: Çözüm Park http://www.cozumpark.com/, \\ // Doctus http://www.doctus.org/ \\ // \\ //-----------------------------------------------------------------------------\\ //-----------------------------------------------------------------------------\\ #include #include "degiskentip.h" #include "ata.h" class _VA_CGCYonetici : public _VA_CAta { public: enum _VA_Dayanak { BASLANGIC, BURADAN, ORTA, BITIS }; public: __fastcall _VA_CGCYonetici(); virtual _VA_ULong __fastcall Al( _VA_Ptr ptrHedef, _VA_ULong ulUzunluk ) = 0; virtual _VA_ULong __fastcall Ver( const _VA_Ptr cptrKaynak, _VA_ULong ulUzunluk ) = 0; virtual _VA_Long __fastcall Git( _VA_Long lKonum, const _VA_Daynak enmDayanak ) = 0; virtual _VA_ULong __fastcall Uzunluk() = 0; virtual _VA_Cevap __fastcall Boyutlandir() = 0; virtual _VA_Cevap __fastcall Genislet( _VA_ULong ulBoyut ) = 0; virtual _VA_Cevap __fastcall Ac() = 0; virtual _VA_Cevap __fastcall Acildi() = 0; virtual _VA_CGCYonetici * __fastcall Kapat() = 0; _VA_Long __fastcall Nerede(); _VA_CGCYonetici * __fastcall Yoket(); _VA_CGCYonetici * __fastcall Varsayilan(); _VA_Long __fastcall Kimilda( _VA_Long lUzaklik ); _VA_Long __fastcall Baslangica(); _VA_Long __fastcall Onceye(); _VA_Long __fastcall Sonraya(); _VA_Long __fastcall Ortaya(); _VA_Long __fastcall Bitise(); _VA_Cevap __fastcall TekrarAc(); }; class _VA_CVekilBellekGC : public _VA_CGCYonetici { private: _VA_Ptr m_ptrTaban; _VA_Ptr m_ptrSuan; _VA_Ptr m_ptrSinir; _VA_ULong m_ulUzunluk; public: __fastcall _VA_CVekilBellekGC(); virtual __fastcall ~_VA_CVekilBellekGC(); virtual _VA_ULong __fastcall Al( _VA_Ptr ptrHedef, _VA_ULong ulUzunluk ); virtual _VA_ULong __fastcall Ver( const _VA_Ptr cptrKaynak, _VA_ULong ulUzunluk ); virtual _VA_Long __fastcall Git( _VA_Long lKonum, const _VA_Daynak enmDayanak ); virtual _VA_ULong __fastcall Uzunluk(); virtual _VA_Cevap __fastcall Boyutlandir(); virtual _VA_Cevap __fastcall Genislet( _VA_ULong ulBoyut ); virtual _VA_Cevap __fastcall Ac(); virtual _VA_Cevap __fastcall Acildi(); virtual _VA_CGCYonetici * __fastcall Kapat(); }; typedef struct _TBellek { struct _TBellek * ptrSonraki; _VA_Ptr ptrTaban; _VA_Ptr ptrSuan; _VA_Ptr ptrSinir; _VA_ULong ulVslUzunluk; _VA_ULong ulVslSayfaUzunluk; _VA_ULong ulUzunluk; _VA_ULong ulHacim; _VA_ULong ulNerede; _VA_Cevap cvpDevGenislet; _VA_Cevap cvpSabit; _VA_Long lBasvuru; _VA_Long lKilit; _VA_String strTanimlayici; } TBellek, *PBellek; class _VA_CBellekGC : public _VA_CGCYonetici { private: TBellek m_ypBellek; TBellek m_ypOnceki; _VA_Cevap m_cvpTutturuldu; public: _VA_CBellekGC(); virtual __fastcall ~_VA_CBellekGC(); virtual _VA_ULong __fastcall Al( _VA_Ptr ptrHedef, _VA_ULong ulUzunluk ); virtual _VA_ULong __fastcall Ver( const _VA_Ptr cptrKaynak, _VA_ULong ulUzunluk ); virtual _VA_Long __fastcall Git( _VA_Long lKonum, const _VA_Daynak enmDayanak ); virtual _VA_ULong __fastcall Uzunluk(); virtual _VA_Cevap __fastcall Ac(); virtual _VA_Cevap __fastcall Acildi(); virtual _VA_CGCYonetici * __fastcall Kapat(); virtual _VA_Cevap __fastcall Boyutlandir() = 0; virtual _VA_Cevap __fastcall Genislet( _VA_ULong ulBoyut ); virtual _VA_CBellekGC * __fastcall Tut( _VA_Ptr ptrTaban, _VA_ULong ulUzunluk, _VA_Cevap cvpSabit = Hayir ); virtual _VA_Ptr __fastcall Birak(); virtual _VA_Cevap __fastcall Bagla( TBellek& imaBellek ); virtual _VA_Cevap __fastcall Coz( TBellek& imaBellek ); virtual _VA_CBellekGC __fastcall Kilit( _VA_Durum drmDurum ); _VA_Durum __fastcall Kilitli(); _VA_Mantik __fastcall DosyaYukle( _VA_String strKaynak ); _VA_Mantik __fastcall DosyaKaydet( _VA_String strHedef ); }; class _VA_CVesileGCYonetici : public _VA_CGCYonetici { public: virtual __fastcall ~_VA_CVesileGCYonetici(); virtual __fastcall _VA_CGCYonetici * __fastcall Kapat(); virtual __fastcall _VA_Cevap __fastcall Acildi(); virtual __fastcall _VA_CVesileGCYonetici __fastcall Bosalt(); public: _VA_ULong m_ulVesile; }; class _VA_CDosyaGC : public _VA_CVesileGCYonetici { public: virtual __fastcall ~_VA_CDosyaGC(); virtual _VA_CDosyaGC * __fastcall Dosya( _VA_String strDosyaAdi ); virtual _VA_CDosyaGC * __fastcall Erisim( _VA_ULong ulErisim ); virtual _VA_CDosyaGC * __fastcall Paylasim( _VA_ULong ulPaylasim ); virtual _VA_CDosyaGC * __fastcall Olusturma( _VA_ULong ulOlusturma ); _VA_ULong __fastcall SifatOku(); _VA_CDosyaGC * __fastcall SifayDegistir( _VA_ULong ulYeniSifat ); }; class _VA_CHaritaGC : public _VA_CVesileGCYonetici { private: _VA_CVekilBellekGC m_snfHarita; _VA_CDosyaGC m_snfDosya; _VA_ULong m_ulGuvenlik; _VA_ULong m_ulErisim; public: const _VA_CVekilBellekGC * __fastcall Harita() const; const _VA_CDosyaGC * __fastcall Dosya() const; }; class _VA_CDllYukleyici : public _VA_CAta { public: virtual _VA_ULong __fastcall Yukle( _VA_String strDll ); virtual _VA_Cevap __fastcall At( _VA_ULong ulDll ); virtual _VA_Ptr __fastcall IslemAl( _VA_ULong ulDll, _VA_String strIslem ); virtual _VA_Cevap __fastcall Gecerli( _VA_ULong ulDll ); }; class _VA_CDllYonetici; class _VA_CDll : public _VA_CAta { private: _VA_CDllYonetici * m_snfDllYonetici; _VA_String m_strDll; _VA_ULong m_ulDll; public: __fastcall _VA_CDll( _VA_String strDll, _VA_CDllYonetici *snfDllYonetici = YOK ); virtual _VA_ULong __fastcall Yukle( _VA_String strDll ); virtual _VA_Cevap __fastcall Sil( _VA_ULong ulDll ); virtual _VA_Ptr __fastcall IslemAl( _VA_ULong ulDll, _VA_String strIslem ); virtual _VA_Cevap __fastcall Gecerli( _VA_ULong ulDll ); _VA_CDll * __fastcall DllYoneticiDegistir( _VA_CDllYonetici *snfYeniDllYonetici ); }; class _VA_CDllYonetici : public _VA_CAta { public: virtual _VA_CDll * __fastcall Yeni( _VA_String strDll ); virtual _VA_Int __fastcall Ekle( _VA_CDll *snfDll ); virtual _VA_CDllYonetici * __fastcall Sil( _VA_CDll *snfDll ); virtual _VA_CDllYonetici * __fastcall Temizle(); _VA_Int __fastcall Bul( _VA_CDll *snfDll ); _VA_Int __fastcall Bul( _VA_String strDll ); _VA_Cevap __fastcall HepsiniAt(); _VA_Cevap __fastcall HepsiniYukle(); _VA_CDllYonetici * __fastcall Bagla( _VA_String strBaglantilar ); }; #endif // _Yoneticiler_Baslik