📄 programsnimac.h
字号:
// ProgramSnimac.h: interface for the CProgramSnimac class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_PROGRAMSNIMAC_H__394AB10B_B30A_4283_B89F_1E432162CC3C__INCLUDED_)
#define AFX_PROGRAMSNIMAC_H__394AB10B_B30A_4283_B89F_1E432162CC3C__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "../PL3000/PrgDef.h"
#include <string>
#include "OpsegAdresa.h"
// Klasa koja definise interfejs objekata za snimanje sadrzaja programa.
// Program moze da se snimi u fajl (HEX ili BIN) ili na LPT port.
// Za svaku od ovih mogucnosti definise se posebna klasa koja implementira
// ovaj interfejs.
class CProgramSnimac
{
public:
// Pomocna klasa
class CSnimacException
{
public:
CSnimacException(const std::string& opis);
std::string opisGreske;
};
public:
CProgramSnimac();
virtual ~CProgramSnimac();
// Poziv ove funkcije oznacava pocetak snimanja programa.
// Snimac treba da odradi potrebne inicijalizacije i da bude
// spreman za prvi bajt programa.
// U slucaju neuspeha vraca 'false', a opis greske smesta u OUT parametar.
// NAPOMENA: u izvedenim klasama obavezno treba pozvati ovu verziju iz osnovne klase !
virtual bool Start(std::string& opis) = 0;
// Funkcija kojom se obavestava snimac o ocekivanom opsegu adresa za snimanje.
// Snimac moze da iskoristi ovu informaciju da sprovede 'kesiranje' bajtova
// pre snimanja.
virtual void OpsegAdresa(PRG::tAdresa adresaOD, PRG::tAdresa adresaDO);
// Funkcija snima sledeci bajt programa.
// U slucaju greske prilikom snimanja, baca izuzetak.
virtual void SnimiSledeciBajt(PRG::tBajt bajt, PRG::tAdresa adresa) = 0;
// Funkcija za signaliziranje da je zavrseno snimanje programa.
// Tada snimac moze da odradi 'ciscenje' (da zatvori otvorene fajlove i sl.).
// U slucaju neuspeha vraca 'false', a opis greske smesta u OUT parametar.
virtual bool Stop(std::string& opis) = 0;
protected:
// objekat koji pamti opseg adresa koji se zadaje funkcijom 'OpsegAdresa'
COpsegAdresa opsegAdresa;
};
#endif // !defined(AFX_PROGRAMSNIMAC_H__394AB10B_B30A_4283_B89F_1E432162CC3C__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -