// 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.:name => \[CA_OBJECT_N+1\] #xtranslate FREADER.:errorstream => \[CA_OBJECT_N+2\] #xtranslate FREADER.:tbuffer => \[CA_OBJECT_N+3\] #xtranslate FREADER.:line => \[CA_READER_N+1\] #xtranslate FREADER.:pos => \[CA_READER_N+2\] #xtranslate FREADER.:oinit => (OBJGEN.():(4)) #xtranslate FREADER.:getclass => (OBJGEN.():(5)) #xtranslate FREADER.:isclass => (OBJGEN.():(6)) #xtranslate FREADER.:getattrib => (OBJGEN.():(7)) #xtranslate FREADER.:setattrib => (OBJGEN.():(8)) #xtranslate FREADER.:read => (OBJGEN.():(CM_OBJECT_N+1)) #xtranslate FREADER.:unread => (OBJGEN.():(CM_OBJECT_N+2)) #xtranslate FREADER.:readtbuffer => (OBJGEN.():(CM_OBJECT_N+3)) #xtranslate FREADER.:arraytbuffer => (OBJGEN.():(CM_OBJECT_N+4)) #xtranslate FREADER.:readitem => (OBJGEN.():(CM_OBJECT_N+5)) #xtranslate FREADER.:iserror => (OBJGEN.():(CM_OBJECT_N+6)) #xtranslate FREADER.:adderror => (OBJGEN.():(CM_OBJECT_N+7)) #xtranslate FREADER.:destruct => (OBJGEN.():(CM_OBJECT_N+8)) #xtranslate FREADER.:getfile => (OBJGEN.():(CM_READER_N+1)) #xtranslate FREADER.:getline => (OBJGEN.():(CM_READER_N+2)) #xtranslate FREADER.:getpos => (OBJGEN.():(CM_READER_N+3)) #xtranslate FREADER.:path => \[CA_CREADER_N+1\] #xtranslate FREADER.:fid => \[CA_CREADER_N+2\] #xtranslate FREADER.:buffer => \[CA_CREADER_N+3\] #xtranslate FREADER.:ibuffer => \[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.:pathname => (OBJGEN.():(CM_CREADER_N+1)) #xtranslate FREADER.:open => (OBJGEN.():(CM_CREADER_N+2)) #xtranslate FREADER.:close => (OBJGEN.():(CM_CREADER_N+3)) #xtranslate FREADER.:dopen => (OBJGEN.():(CM_CREADER_N+4)) #xtranslate FREADER.:isopen => (OBJGEN.():(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: => (FREADERCLASS.clFREADER():) #xtranslate C.FREADER:self() => (clFREADER()) #xtranslate FREADERCLASS.:parent => \[CA_OBJECT_N+1\] #xtranslate FREADERCLASS.:name => \[CA_OBJECT_N+2\] #xtranslate FREADERCLASS.:objsize => \[CA_OBJECT_N+3\] #xtranslate FREADERCLASS.:attribs => \[CA_OBJECT_N+4\] #xtranslate FREADERCLASS.:methods => \[CA_OBJECT_N+5\] #xtranslate FREADERCLASS.:classid => \[CA_OBJECT_N+6\] #xtranslate FREADERCLASS.:parentclassids => \[CA_OBJECT_N+7\] #xtranslate FREADERCLASS.:amblock => \[CA_OBJECT_N+8\] #xtranslate FREADERCLASS.:methodsblock => \[CA_OBJECT_N+9\] #xtranslate FREADERCLASS.:objmethodsimplement => \[CA_OBJECT_N+10\] #xtranslate FREADERCLASS.:oinit => (OBJGEN.():(4)) #xtranslate FREADERCLASS.:getclass => (OBJGEN.():(5)) #xtranslate FREADERCLASS.:isclass => (OBJGEN.():(6)) #xtranslate FREADERCLASS.:getattrib => (OBJGEN.():(7)) #xtranslate FREADERCLASS.:setattrib => (OBJGEN.():(8)) #xtranslate FREADERCLASS.:onew => (OBJGEN.():(CM_OBJECT_N+1)) #xtranslate FREADERCLASS.:ocreate => (OBJGEN.():(CM_OBJECT_N+2)) #xtranslate FREADERCLASS.:rawoinit => (OBJGEN.():(CM_OBJECT_N+3)) #xtranslate FREADERCLASS.:oinitclass => (OBJGEN.():(CM_OBJECT_N+4)) #xtranslate FREADERCLASS.:getmethodsimplement => (OBJGEN.():(CM_OBJECT_N+5)) #xtranslate FREADERCLASS.:attribidx => (OBJGEN.():(CM_OBJECT_N+6)) #xtranslate FREADERCLASS.:needclassid => (OBJGEN.():(CM_OBJECT_N+7)) #xtranslate FREADERCLASS.:isinheritfrom => (OBJGEN.():(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: => FREADER.(othis): #xtranslate thisclass: => FREADERCLASS.(this:getClass()): #define CTHIS FREADER ********************************************************************** #xtranslate this: => FREADER.(this): #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: => FREADERCLASS.(class): #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_