343 lines
16 KiB
Plaintext
343 lines
16 KiB
Plaintext
// FREADER.och oszt ly implement ci¢.
|
||
// Gener lva: 1999.06.10, 14:39:56, OBJCCC v2.2.03
|
||
// Meta oszt ly defin¡ci¢: Van
|
||
|
||
|
||
#ifndef CA_CREADER_N
|
||
#ifdef _STRICT_PARENT_
|
||
#ifdef _CA_CM_ONLY_
|
||
#include "CREADER.och"
|
||
#else // _CA_CM_ONLY_
|
||
#define _CA_CM_ONLY_
|
||
#include "CREADER.och"
|
||
#undef _CA_CM_ONLY_
|
||
#endif // _CA_CM_ONLY_
|
||
#else
|
||
#include "CREADER.och"
|
||
#endif // _STRICT_PARENT_
|
||
#endif // CA_CREADER_N
|
||
|
||
#ifndef _CA_CM_ONLY_
|
||
#ifndef _FREADER_OCH_
|
||
#define _FREADER_OCH_
|
||
|
||
|
||
#xtranslate FREADER.<obj>:name => <obj>\[CA_OBJECT_N+1\]
|
||
#xtranslate FREADER.<obj>:errorstream => <obj>\[CA_OBJECT_N+2\]
|
||
#xtranslate FREADER.<obj>:tbuffer => <obj>\[CA_OBJECT_N+3\]
|
||
#xtranslate FREADER.<obj>:line => <obj>\[CA_READER_N+1\]
|
||
#xtranslate FREADER.<obj>:pos => <obj>\[CA_READER_N+2\]
|
||
|
||
|
||
#xtranslate FREADER.<obj>:oinit => (OBJGEN.(<obj>):(4))
|
||
#xtranslate FREADER.<obj>:getclass => (OBJGEN.(<obj>):(5))
|
||
#xtranslate FREADER.<obj>:isclass => (OBJGEN.(<obj>):(6))
|
||
#xtranslate FREADER.<obj>:getattrib => (OBJGEN.(<obj>):(7))
|
||
#xtranslate FREADER.<obj>:setattrib => (OBJGEN.(<obj>):(8))
|
||
#xtranslate FREADER.<obj>:read => (OBJGEN.(<obj>):(CM_OBJECT_N+1))
|
||
#xtranslate FREADER.<obj>:unread => (OBJGEN.(<obj>):(CM_OBJECT_N+2))
|
||
#xtranslate FREADER.<obj>:readtbuffer => (OBJGEN.(<obj>):(CM_OBJECT_N+3))
|
||
#xtranslate FREADER.<obj>:arraytbuffer => (OBJGEN.(<obj>):(CM_OBJECT_N+4))
|
||
#xtranslate FREADER.<obj>:readitem => (OBJGEN.(<obj>):(CM_OBJECT_N+5))
|
||
#xtranslate FREADER.<obj>:iserror => (OBJGEN.(<obj>):(CM_OBJECT_N+6))
|
||
#xtranslate FREADER.<obj>:adderror => (OBJGEN.(<obj>):(CM_OBJECT_N+7))
|
||
#xtranslate FREADER.<obj>:destruct => (OBJGEN.(<obj>):(CM_OBJECT_N+8))
|
||
#xtranslate FREADER.<obj>:getfile => (OBJGEN.(<obj>):(CM_READER_N+1))
|
||
#xtranslate FREADER.<obj>:getline => (OBJGEN.(<obj>):(CM_READER_N+2))
|
||
#xtranslate FREADER.<obj>:getpos => (OBJGEN.(<obj>):(CM_READER_N+3))
|
||
|
||
|
||
#xtranslate FREADER.<obj>:path => <obj>\[CA_CREADER_N+1\]
|
||
#xtranslate FREADER.<obj>:fid => <obj>\[CA_CREADER_N+2\]
|
||
#xtranslate FREADER.<obj>:buffer => <obj>\[CA_CREADER_N+3\]
|
||
#xtranslate FREADER.<obj>:ibuffer => <obj>\[CA_CREADER_N+4\]
|
||
|
||
// Specifik lva: pathname()
|
||
// Specifik lva: open(path,fileName)
|
||
// Specifik lva: close()
|
||
// Specifik lva: dopen(pathArray,fileName)
|
||
// Specifik lva: isopen()
|
||
// ™r”k”lve: readitem()
|
||
// ™r”k”lve: destruct()
|
||
// ™r”k”lve: oinit(errorStream)
|
||
|
||
#xtranslate FREADER.<obj>:pathname => (OBJGEN.(<obj>):(CM_CREADER_N+1))
|
||
#xtranslate FREADER.<obj>:open => (OBJGEN.(<obj>):(CM_CREADER_N+2))
|
||
#xtranslate FREADER.<obj>:close => (OBJGEN.(<obj>):(CM_CREADER_N+3))
|
||
#xtranslate FREADER.<obj>:dopen => (OBJGEN.(<obj>):(CM_CREADER_N+4))
|
||
#xtranslate FREADER.<obj>:isopen => (OBJGEN.(<obj>):(CM_CREADER_N+5))
|
||
// ™r”k”lve: readitem()
|
||
// ™r”k”lve: destruct()
|
||
// ™r”k”lve: oinit(errorStream)
|
||
|
||
#endif // _FREADER_OCH_
|
||
#endif // _CA_CM_ONLY_
|
||
|
||
#ifndef CA_FREADER_N
|
||
#define CA_FREADER_N CA_CREADER_N+4
|
||
#define CM_FREADER_N CM_CREADER_N+5
|
||
#endif // CA_FREADER_N
|
||
|
||
#ifndef _CA_CM_ONLY_
|
||
#ifndef _FREADERCLASS_OCH_
|
||
#define _FREADERCLASS_OCH_
|
||
|
||
**********************************************************************
|
||
#xtranslate C.FREADER:<m> => (FREADERCLASS.clFREADER():<m>)
|
||
#xtranslate C.FREADER:self() => (clFREADER())
|
||
|
||
|
||
#xtranslate FREADERCLASS.<obj>:parent => <obj>\[CA_OBJECT_N+1\]
|
||
#xtranslate FREADERCLASS.<obj>:name => <obj>\[CA_OBJECT_N+2\]
|
||
#xtranslate FREADERCLASS.<obj>:objsize => <obj>\[CA_OBJECT_N+3\]
|
||
#xtranslate FREADERCLASS.<obj>:attribs => <obj>\[CA_OBJECT_N+4\]
|
||
#xtranslate FREADERCLASS.<obj>:methods => <obj>\[CA_OBJECT_N+5\]
|
||
#xtranslate FREADERCLASS.<obj>:classid => <obj>\[CA_OBJECT_N+6\]
|
||
#xtranslate FREADERCLASS.<obj>:parentclassids => <obj>\[CA_OBJECT_N+7\]
|
||
#xtranslate FREADERCLASS.<obj>:amblock => <obj>\[CA_OBJECT_N+8\]
|
||
#xtranslate FREADERCLASS.<obj>:methodsblock => <obj>\[CA_OBJECT_N+9\]
|
||
#xtranslate FREADERCLASS.<obj>:objmethodsimplement => <obj>\[CA_OBJECT_N+10\]
|
||
|
||
|
||
#xtranslate FREADERCLASS.<obj>:oinit => (OBJGEN.(<obj>):(4))
|
||
#xtranslate FREADERCLASS.<obj>:getclass => (OBJGEN.(<obj>):(5))
|
||
#xtranslate FREADERCLASS.<obj>:isclass => (OBJGEN.(<obj>):(6))
|
||
#xtranslate FREADERCLASS.<obj>:getattrib => (OBJGEN.(<obj>):(7))
|
||
#xtranslate FREADERCLASS.<obj>:setattrib => (OBJGEN.(<obj>):(8))
|
||
#xtranslate FREADERCLASS.<obj>:onew => (OBJGEN.(<obj>):(CM_OBJECT_N+1))
|
||
#xtranslate FREADERCLASS.<obj>:ocreate => (OBJGEN.(<obj>):(CM_OBJECT_N+2))
|
||
#xtranslate FREADERCLASS.<obj>:rawoinit => (OBJGEN.(<obj>):(CM_OBJECT_N+3))
|
||
#xtranslate FREADERCLASS.<obj>:oinitclass => (OBJGEN.(<obj>):(CM_OBJECT_N+4))
|
||
#xtranslate FREADERCLASS.<obj>:getmethodsimplement => (OBJGEN.(<obj>):(CM_OBJECT_N+5))
|
||
#xtranslate FREADERCLASS.<obj>:attribidx => (OBJGEN.(<obj>):(CM_OBJECT_N+6))
|
||
#xtranslate FREADERCLASS.<obj>:needclassid => (OBJGEN.(<obj>):(CM_OBJECT_N+7))
|
||
#xtranslate FREADERCLASS.<obj>:isinheritfrom => (OBJGEN.(<obj>):(CM_OBJECT_N+8))
|
||
|
||
|
||
|
||
// ™r”k”lve: onew(errorStream)
|
||
// ™r”k”lve: oinitclass()
|
||
|
||
// ™r”k”lve: onew(errorStream)
|
||
// ™r”k”lve: oinitclass()
|
||
|
||
#endif // _FREADERCLASS_OCH_
|
||
#endif // _CA_CM_ONLY_
|
||
|
||
#ifndef CA_FREADERCLASS_N
|
||
#define CA_FREADERCLASS_N CA_CREADERCLASS_N+0
|
||
#define CM_FREADERCLASS_N CM_CREADERCLASS_N+0
|
||
#endif // CA_FREADERCLASS_N
|
||
|
||
|
||
**********************************************************************
|
||
#ifdef _FREADER_PRG_
|
||
#ifndef _FREADER_PRG_OCH_
|
||
#define _FREADER_PRG_OCH_
|
||
|
||
|
||
**********************************************************************
|
||
#xtranslate othis:<m> => FREADER.(othis):<m>
|
||
#xtranslate thisclass:<m> => FREADERCLASS.(this:getClass()):<m>
|
||
#define CTHIS FREADER
|
||
|
||
|
||
**********************************************************************
|
||
#xtranslate this:<m> => FREADER.(this):<m>
|
||
|
||
#xcommand implement pathname() => static function pathname(this)
|
||
#xcommand implement open(path,fileName) => ;
|
||
static function open(this,path,fileName)
|
||
#xcommand implement close() => static function close(this)
|
||
#xcommand implement dopen(pathArray,fileName) => ;
|
||
static function dopen(this,pathArray,fileName)
|
||
#xcommand implement isopen() => static function isopen(this)
|
||
#xcommand implement readitem() => static function readitem(this)
|
||
#xcommand implement destruct() => static function destruct(this)
|
||
#xcommand implement oinit(errorStream) => ;
|
||
static function oinit(this,errorStream)
|
||
|
||
#ifdef _IMPLEMENT_EXPORT_
|
||
#xcommand implement export pathname() => function pathname(this)
|
||
#xcommand implement export open(path,fileName) => ;
|
||
function open(this,path,fileName)
|
||
#xcommand implement export close() => function close(this)
|
||
#xcommand implement export dopen(pathArray,fileName) => ;
|
||
function dopen(this,pathArray,fileName)
|
||
#xcommand implement export isopen() => function isopen(this)
|
||
#xcommand implement export readitem() => function readitem(this)
|
||
#xcommand implement export destruct() => function destruct(this)
|
||
#xcommand implement export oinit(errorStream) => ;
|
||
function oinit(this,errorStream)
|
||
#endif // _IMPLEMENT_EXPORT_
|
||
|
||
#xtranslate super:oinit => (OBJGENM.(eval(BEHAVIOR.clCREADER():objmethodsimplement)).(this):(4))
|
||
#xtranslate super:getclass => (OBJGENM.(eval(BEHAVIOR.clCREADER():objmethodsimplement)).(this):(5))
|
||
#xtranslate super:isclass => (OBJGENM.(eval(BEHAVIOR.clCREADER():objmethodsimplement)).(this):(6))
|
||
#xtranslate super:getattrib => (OBJGENM.(eval(BEHAVIOR.clCREADER():objmethodsimplement)).(this):(7))
|
||
#xtranslate super:setattrib => (OBJGENM.(eval(BEHAVIOR.clCREADER():objmethodsimplement)).(this):(8))
|
||
#xtranslate super:read => (OBJGENM.(eval(BEHAVIOR.clCREADER():objmethodsimplement)).(this):(CM_OBJECT_N+1))
|
||
#xtranslate super:unread => (OBJGENM.(eval(BEHAVIOR.clCREADER():objmethodsimplement)).(this):(CM_OBJECT_N+2))
|
||
#xtranslate super:readtbuffer => (OBJGENM.(eval(BEHAVIOR.clCREADER():objmethodsimplement)).(this):(CM_OBJECT_N+3))
|
||
#xtranslate super:arraytbuffer => (OBJGENM.(eval(BEHAVIOR.clCREADER():objmethodsimplement)).(this):(CM_OBJECT_N+4))
|
||
#xtranslate super:readitem => (OBJGENM.(eval(BEHAVIOR.clCREADER():objmethodsimplement)).(this):(CM_OBJECT_N+5))
|
||
#xtranslate super:iserror => (OBJGENM.(eval(BEHAVIOR.clCREADER():objmethodsimplement)).(this):(CM_OBJECT_N+6))
|
||
#xtranslate super:adderror => (OBJGENM.(eval(BEHAVIOR.clCREADER():objmethodsimplement)).(this):(CM_OBJECT_N+7))
|
||
#xtranslate super:destruct => (OBJGENM.(eval(BEHAVIOR.clCREADER():objmethodsimplement)).(this):(CM_OBJECT_N+8))
|
||
#xtranslate super:getfile => (OBJGENM.(eval(BEHAVIOR.clCREADER():objmethodsimplement)).(this):(CM_READER_N+1))
|
||
#xtranslate super:getline => (OBJGENM.(eval(BEHAVIOR.clCREADER():objmethodsimplement)).(this):(CM_READER_N+2))
|
||
#xtranslate super:getpos => (OBJGENM.(eval(BEHAVIOR.clCREADER():objmethodsimplement)).(this):(CM_READER_N+3))
|
||
|
||
**********************************************************************
|
||
static function setCMethods(pOsztaly)
|
||
// Egy t”mb”t felt”lt az oszt ly m–veleti blokkjaival.
|
||
pOsztaly[(CM_CREADER_N+1)]:={|this| pathname(this)}
|
||
pOsztaly[(CM_CREADER_N+2)]:={|this,path,fileName| open(this,path,fileName)}
|
||
pOsztaly[(CM_CREADER_N+3)]:={|this| close(this)}
|
||
pOsztaly[(CM_CREADER_N+4)]:={|this,pathArray,fileName| dopen(this,pathArray,fileName)}
|
||
pOsztaly[(CM_CREADER_N+5)]:={|this| isopen(this)}
|
||
pOsztaly[(CM_OBJECT_N+5)]:={|this| readitem(this)}
|
||
pOsztaly[(CM_OBJECT_N+8)]:={|this| destruct(this)}
|
||
pOsztaly[(4)]:={|this,errorStream| oinit(this,errorStream)}
|
||
return pOsztaly
|
||
|
||
**********************************************************************
|
||
static function setCams(ta,tm)
|
||
// Egy t”mb”t felt”lt az oszt ly ltal def. objektumok attrib£tumaival ‚s m–veleteivel.
|
||
ta[CA_CREADER_N+1-CA_NIL_N] := {CA_CREADER_N+1,'path', }
|
||
ta[CA_CREADER_N+2-CA_NIL_N] := {CA_CREADER_N+2,'fid', }
|
||
ta[CA_CREADER_N+3-CA_NIL_N] := {CA_CREADER_N+3,'buffer', }
|
||
ta[CA_CREADER_N+4-CA_NIL_N] := {CA_CREADER_N+4,'ibuffer', }
|
||
|
||
tm[(CM_CREADER_N+1)-CM_NIL_N] := {(CM_CREADER_N+1),'pathname','',nil}
|
||
tm[(CM_CREADER_N+2)-CM_NIL_N] := {(CM_CREADER_N+2),'open','path,fileName',nil}
|
||
tm[(CM_CREADER_N+3)-CM_NIL_N] := {(CM_CREADER_N+3),'close','',nil}
|
||
tm[(CM_CREADER_N+4)-CM_NIL_N] := {(CM_CREADER_N+4),'dopen','pathArray,fileName',nil}
|
||
tm[(CM_CREADER_N+5)-CM_NIL_N] := {(CM_CREADER_N+5),'isopen','',nil}
|
||
tm[(CM_OBJECT_N+5)-CM_NIL_N] := {(CM_OBJECT_N+5),'readitem','',nil}
|
||
tm[(CM_OBJECT_N+8)-CM_NIL_N] := {(CM_OBJECT_N+8),'destruct','',nil}
|
||
tm[(4)-CM_NIL_N] := {(4),'oinit','errorStream',nil}
|
||
return nil
|
||
|
||
#ifndef _NO_CLFREADER_
|
||
#ifdef _STRICT_PARENT_
|
||
#ifdef _CA_CM_ONLY_
|
||
#include "meta.och"
|
||
#else // _CA_CM_ONLY_
|
||
#define _CA_CM_ONLY_
|
||
#include "meta.och"
|
||
#undef _CA_CM_ONLY_
|
||
#endif // _CA_CM_ONLY_
|
||
#else
|
||
#include "meta.och"
|
||
#endif // _STRICT_PARENT_
|
||
**********************************************************************
|
||
function clFREADER()
|
||
// El“szedi az oszt lyt. (class)
|
||
static osztaly
|
||
if (osztaly==nil)
|
||
osztaly:=META.mcFREADERCLASS():onew(;
|
||
clCREADER(),;
|
||
"FREADER",;
|
||
CA_FREADER_N,;
|
||
CM_FREADER_N,;
|
||
{|ta,tm|setCams(ta,tm)},;
|
||
{|t|setCMethods(t)})
|
||
endif
|
||
return osztaly
|
||
#endif // _NO_CLFREADER_
|
||
|
||
#ifndef _NO_FREADERCLASS_
|
||
|
||
**********************************************************************
|
||
#xtranslate class:<m> => FREADERCLASS.(class):<m>
|
||
|
||
#xcommand cimplement onew(errorStream) => ;
|
||
static function onew(class,errorStream)
|
||
#xcommand cimplement oinitclass() => static function oinitclass(class)
|
||
|
||
#ifdef _IMPLEMENT_EXPORT_
|
||
#xcommand cimplement export onew(errorStream) => ;
|
||
function onew(class,errorStream)
|
||
#xcommand cimplement export oinitclass() => function oinitclass(class)
|
||
#endif // _IMPLEMENT_EXPORT_
|
||
|
||
#xtranslate superclass:oinit => (OBJGENM.(eval(BEHAVIOR.mcCREADERCLASS():objmethodsimplement)).(class):(4))
|
||
#xtranslate superclass:getclass => (OBJGENM.(eval(BEHAVIOR.mcCREADERCLASS():objmethodsimplement)).(class):(5))
|
||
#xtranslate superclass:isclass => (OBJGENM.(eval(BEHAVIOR.mcCREADERCLASS():objmethodsimplement)).(class):(6))
|
||
#xtranslate superclass:getattrib => (OBJGENM.(eval(BEHAVIOR.mcCREADERCLASS():objmethodsimplement)).(class):(7))
|
||
#xtranslate superclass:setattrib => (OBJGENM.(eval(BEHAVIOR.mcCREADERCLASS():objmethodsimplement)).(class):(8))
|
||
#xtranslate superclass:onew => (OBJGENM.(eval(BEHAVIOR.mcCREADERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+1))
|
||
#xtranslate superclass:ocreate => (OBJGENM.(eval(BEHAVIOR.mcCREADERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+2))
|
||
#xtranslate superclass:rawoinit => (OBJGENM.(eval(BEHAVIOR.mcCREADERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+3))
|
||
#xtranslate superclass:oinitclass => (OBJGENM.(eval(BEHAVIOR.mcCREADERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+4))
|
||
#xtranslate superclass:getmethodsimplement => (OBJGENM.(eval(BEHAVIOR.mcCREADERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+5))
|
||
#xtranslate superclass:attribidx => (OBJGENM.(eval(BEHAVIOR.mcCREADERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+6))
|
||
#xtranslate superclass:needclassid => (OBJGENM.(eval(BEHAVIOR.mcCREADERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+7))
|
||
#xtranslate superclass:isinheritfrom => (OBJGENM.(eval(BEHAVIOR.mcCREADERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+8))
|
||
|
||
**********************************************************************
|
||
static function setMCMethods(pOsztaly)
|
||
// Egy t”mb”t felt”lt a metaoszt ly m–veleti blokkjaival.
|
||
pOsztaly[(CM_OBJECT_N+1)]:={|class,errorStream| onew(class,errorStream)}
|
||
pOsztaly[(CM_OBJECT_N+4)]:={|class| oinitclass(class)}
|
||
return pOsztaly
|
||
|
||
**********************************************************************
|
||
static function setMCams(ta,tm)
|
||
// Egy t”mb”t felt”lt a metaoszt ly ltal def. objektumok attrib£tumaival ‚s m–veleteivel.
|
||
|
||
tm[(CM_OBJECT_N+1)-CM_NIL_N] := {(CM_OBJECT_N+1),'onew','errorStream',nil}
|
||
tm[(CM_OBJECT_N+4)-CM_NIL_N] := {(CM_OBJECT_N+4),'oinitclass','',nil}
|
||
return nil
|
||
|
||
**********************************************************************
|
||
#ifndef _NO_MCFREADERCLASS_
|
||
#ifdef _STRICT_PARENT_
|
||
#ifdef _CA_CM_ONLY_
|
||
#include "meta.och" // "metaclas.och"
|
||
#else // _CA_CM_ONLY_
|
||
#define _CA_CM_ONLY_
|
||
#include "meta.och" // "metaclas.och"
|
||
#undef _CA_CM_ONLY_
|
||
#endif // _CA_CM_ONLY_
|
||
#else
|
||
#include "meta.och" // "metaclas.och"
|
||
#endif // _STRICT_PARENT_
|
||
function mcFREADERCLASS()
|
||
// El“szedi az oszt ly metaoszt ly t. (metaclass)
|
||
static metaOsztaly
|
||
if (metaOsztaly==nil)
|
||
metaOsztaly:=META.clMETA():onew(;
|
||
mcCREADERCLASS(),;
|
||
"FREADERCLASS",;
|
||
CA_FREADERCLASS_N,;
|
||
CM_FREADERCLASS_N,;
|
||
{|ta,tm|setMCams(ta,tm)},;
|
||
{|t|setMCMethods(t)})
|
||
endif
|
||
return metaOsztaly
|
||
#endif // _NO_MCFREADERCLASS_
|
||
|
||
#endif // _NO_FREADERCLASS_
|
||
#ifdef _IMPLEMENT_ONEW_
|
||
**********************************************************************
|
||
cimplement onew(errorStream)
|
||
local o:=class:ocreate()
|
||
|
||
FREADER.o:oinit(errorStream)
|
||
return o
|
||
#endif // _IMPLEMENT_ONEW_
|
||
|
||
**********************************************************************
|
||
#ifdef _IMPLEMENT_OINIT_
|
||
implement oinit(errorStream)
|
||
super:oinit()
|
||
return this
|
||
#endif // _IMPLEMENT_OINIT_
|
||
|
||
**********************************************************************
|
||
**********************************************************************
|
||
#endif // _FREADER_PRG_OCH_
|
||
#endif // _FREADER_PRG_
|