// READER.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_OBJECT_N #ifdef _STRICT_PARENT_ #ifdef _CA_CM_ONLY_ #include "OBJECT.och" #else // _CA_CM_ONLY_ #define _CA_CM_ONLY_ #include "OBJECT.och" #undef _CA_CM_ONLY_ #endif // _CA_CM_ONLY_ #else #include "OBJECT.och" #endif // _STRICT_PARENT_ #endif // CA_OBJECT_N #ifndef _CA_CM_ONLY_ #ifndef _READER_OCH_ #define _READER_OCH_ #xtranslate READER.:oinit => (OBJGEN.():(4)) #xtranslate READER.:getclass => (OBJGEN.():(5)) #xtranslate READER.:isclass => (OBJGEN.():(6)) #xtranslate READER.:getattrib => (OBJGEN.():(7)) #xtranslate READER.:setattrib => (OBJGEN.():(8)) #xtranslate READER.:name => \[CA_OBJECT_N+1\] #xtranslate READER.:errorstream => \[CA_OBJECT_N+2\] #xtranslate READER.:tbuffer => \[CA_OBJECT_N+3\] // Specifik lva: read() // Specifik lva: unread(item) // Specifik lva: readtbuffer() // Specifik lva: arraytbuffer() // Specifik lva: readitem() // Specifik lva: iserror(l) // Specifik lva: adderror(prsErr) // Specifik lva: destruct() // ™r”k”lve: oinit(name,errorStream) #xtranslate READER.:read => (OBJGEN.():(CM_OBJECT_N+1)) #xtranslate READER.:unread => (OBJGEN.():(CM_OBJECT_N+2)) #xtranslate READER.:readtbuffer => (OBJGEN.():(CM_OBJECT_N+3)) #xtranslate READER.:arraytbuffer => (OBJGEN.():(CM_OBJECT_N+4)) #xtranslate READER.:readitem => (OBJGEN.():(CM_OBJECT_N+5)) #xtranslate READER.:iserror => (OBJGEN.():(CM_OBJECT_N+6)) #xtranslate READER.:adderror => (OBJGEN.():(CM_OBJECT_N+7)) #xtranslate READER.:destruct => (OBJGEN.():(CM_OBJECT_N+8)) // ™r”k”lve: oinit(name,errorStream) #endif // _READER_OCH_ #endif // _CA_CM_ONLY_ #ifndef CA_READER_N #define CA_READER_N CA_OBJECT_N+3 #define CM_READER_N CM_OBJECT_N+8 #endif // CA_READER_N #ifndef _CA_CM_ONLY_ #ifndef _READERCLASS_OCH_ #define _READERCLASS_OCH_ ********************************************************************** #xtranslate C.READER: => (READERCLASS.clREADER():) #xtranslate C.READER:self() => (clREADER()) #xtranslate READERCLASS.:parent => \[CA_OBJECT_N+1\] #xtranslate READERCLASS.:name => \[CA_OBJECT_N+2\] #xtranslate READERCLASS.:objsize => \[CA_OBJECT_N+3\] #xtranslate READERCLASS.:attribs => \[CA_OBJECT_N+4\] #xtranslate READERCLASS.:methods => \[CA_OBJECT_N+5\] #xtranslate READERCLASS.:classid => \[CA_OBJECT_N+6\] #xtranslate READERCLASS.:parentclassids => \[CA_OBJECT_N+7\] #xtranslate READERCLASS.:amblock => \[CA_OBJECT_N+8\] #xtranslate READERCLASS.:methodsblock => \[CA_OBJECT_N+9\] #xtranslate READERCLASS.:objmethodsimplement => \[CA_OBJECT_N+10\] #xtranslate READERCLASS.:oinit => (OBJGEN.():(4)) #xtranslate READERCLASS.:getclass => (OBJGEN.():(5)) #xtranslate READERCLASS.:isclass => (OBJGEN.():(6)) #xtranslate READERCLASS.:getattrib => (OBJGEN.():(7)) #xtranslate READERCLASS.:setattrib => (OBJGEN.():(8)) #xtranslate READERCLASS.:onew => (OBJGEN.():(CM_OBJECT_N+1)) #xtranslate READERCLASS.:ocreate => (OBJGEN.():(CM_OBJECT_N+2)) #xtranslate READERCLASS.:rawoinit => (OBJGEN.():(CM_OBJECT_N+3)) #xtranslate READERCLASS.:oinitclass => (OBJGEN.():(CM_OBJECT_N+4)) #xtranslate READERCLASS.:getmethodsimplement => (OBJGEN.():(CM_OBJECT_N+5)) #xtranslate READERCLASS.:attribidx => (OBJGEN.():(CM_OBJECT_N+6)) #xtranslate READERCLASS.:needclassid => (OBJGEN.():(CM_OBJECT_N+7)) #xtranslate READERCLASS.:isinheritfrom => (OBJGEN.():(CM_OBJECT_N+8)) // ™r”k”lve: onew(name,errorStream) // ™r”k”lve: onew(name,errorStream) #endif // _READERCLASS_OCH_ #endif // _CA_CM_ONLY_ #ifndef CA_READERCLASS_N #define CA_READERCLASS_N CA_BEHAVIOR_N+0 #define CM_READERCLASS_N CM_BEHAVIOR_N+0 #endif // CA_READERCLASS_N ********************************************************************** #ifdef _READER_PRG_ #ifndef _READER_PRG_OCH_ #define _READER_PRG_OCH_ ********************************************************************** #xtranslate othis: => READER.(othis): #xtranslate thisclass: => READERCLASS.(this:getClass()): #define CTHIS READER ********************************************************************** #xtranslate this: => READER.(this): #xcommand implement read() => static function read(this) #xcommand implement unread(item) => static function unread(this,item) #xcommand implement readtbuffer() => static function readtbuffer(this) #xcommand implement arraytbuffer() => static function arraytbuffer(this) #xcommand implement iserror(l) => static function iserror(this,l) #xcommand implement adderror(prsErr) => ; static function adderror(this,prsErr) #xcommand implement destruct() => static function retnil(this,methodName,methodIdx,params) #xcommand implement oinit(name,errorStream) => ; static function oinit(this,name,errorStream) #ifdef _IMPLEMENT_EXPORT_ #xcommand implement export read() => function read(this) #xcommand implement export unread(item) => function unread(this,item) #xcommand implement export readtbuffer() => function readtbuffer(this) #xcommand implement export arraytbuffer() => function arraytbuffer(this) #xcommand implement export iserror(l) => function iserror(this,l) #xcommand implement export adderror(prsErr) => ; function adderror(this,prsErr) #xcommand implement export destruct() => function retnil(this,methodName,methodIdx,params) #xcommand implement export oinit(name,errorStream) => ; function oinit(this,name,errorStream) #endif // _IMPLEMENT_EXPORT_ #xtranslate super:oinit => (OBJGENM.(eval(BEHAVIOR.clOBJECT():objmethodsimplement)).(this):(4)) #xtranslate super:getclass => (OBJGENM.(eval(BEHAVIOR.clOBJECT():objmethodsimplement)).(this):(5)) #xtranslate super:isclass => (OBJGENM.(eval(BEHAVIOR.clOBJECT():objmethodsimplement)).(this):(6)) #xtranslate super:getattrib => (OBJGENM.(eval(BEHAVIOR.clOBJECT():objmethodsimplement)).(this):(7)) #xtranslate super:setattrib => (OBJGENM.(eval(BEHAVIOR.clOBJECT():objmethodsimplement)).(this):(8)) ********************************************************************** static function setCMethods(pOsztaly) // Egy t”mb”t felt”lt az oszt ly m–veleti blokkjaival. pOsztaly[(CM_OBJECT_N+1)]:={|this| read(this)} pOsztaly[(CM_OBJECT_N+2)]:={|this,item| unread(this,item)} pOsztaly[(CM_OBJECT_N+3)]:={|this| readtbuffer(this)} pOsztaly[(CM_OBJECT_N+4)]:={|this| arraytbuffer(this)} pOsztaly[(CM_OBJECT_N+5)]:={|this| errAbstract(this,"readitem",(CM_OBJECT_N+5),{})} pOsztaly[(CM_OBJECT_N+6)]:={|this,l| iserror(this,l)} pOsztaly[(CM_OBJECT_N+7)]:={|this,prsErr| adderror(this,prsErr)} pOsztaly[(CM_OBJECT_N+8)]:={|this| retnil(this,"destruct",(CM_OBJECT_N+8),{})} pOsztaly[(4)]:={|this,name,errorStream| oinit(this,name,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_OBJECT_N+1-CA_NIL_N] := {CA_OBJECT_N+1,'name', } ta[CA_OBJECT_N+2-CA_NIL_N] := {CA_OBJECT_N+2,'errorstream', } ta[CA_OBJECT_N+3-CA_NIL_N] := {CA_OBJECT_N+3,'tbuffer', } tm[(CM_OBJECT_N+1)-CM_NIL_N] := {(CM_OBJECT_N+1),'read','',nil} tm[(CM_OBJECT_N+2)-CM_NIL_N] := {(CM_OBJECT_N+2),'unread','item',nil} tm[(CM_OBJECT_N+3)-CM_NIL_N] := {(CM_OBJECT_N+3),'readtbuffer','',nil} tm[(CM_OBJECT_N+4)-CM_NIL_N] := {(CM_OBJECT_N+4),'arraytbuffer','',nil} tm[(CM_OBJECT_N+5)-CM_NIL_N] := {(CM_OBJECT_N+5),'readitem','','a'} tm[(CM_OBJECT_N+6)-CM_NIL_N] := {(CM_OBJECT_N+6),'iserror','l',nil} tm[(CM_OBJECT_N+7)-CM_NIL_N] := {(CM_OBJECT_N+7),'adderror','prsErr',nil} tm[(CM_OBJECT_N+8)-CM_NIL_N] := {(CM_OBJECT_N+8),'destruct','','a'} tm[(4)-CM_NIL_N] := {(4),'oinit','name,errorStream',nil} return nil #ifndef _NO_CLREADER_ #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 clREADER() // El“szedi az oszt lyt. (class) static osztaly if (osztaly==nil) osztaly:=META.mcREADERCLASS():onew(; clOBJECT(),; "READER",; CA_READER_N,; CM_READER_N,; {|ta,tm|setCams(ta,tm)},; {|t|setCMethods(t)}) endif return osztaly #endif // _NO_CLREADER_ #ifndef _NO_READERCLASS_ ********************************************************************** #xtranslate class: => READERCLASS.(class): #xcommand cimplement onew(name,errorStream) => ; static function onew(class,name,errorStream) #ifdef _IMPLEMENT_EXPORT_ #xcommand cimplement export onew(name,errorStream) => ; function onew(class,name,errorStream) #endif // _IMPLEMENT_EXPORT_ #xtranslate superclass:oinit => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(4)) #xtranslate superclass:getclass => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(5)) #xtranslate superclass:isclass => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(6)) #xtranslate superclass:getattrib => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(7)) #xtranslate superclass:setattrib => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(8)) #xtranslate superclass:onew => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(CM_OBJECT_N+1)) #xtranslate superclass:ocreate => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(CM_OBJECT_N+2)) #xtranslate superclass:rawoinit => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(CM_OBJECT_N+3)) #xtranslate superclass:oinitclass => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(CM_OBJECT_N+4)) #xtranslate superclass:getmethodsimplement => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(CM_OBJECT_N+5)) #xtranslate superclass:attribidx => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(CM_OBJECT_N+6)) #xtranslate superclass:needclassid => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(CM_OBJECT_N+7)) #xtranslate superclass:isinheritfrom => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():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,name,errorStream| onew(class,name,errorStream)} 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','name,errorStream',nil} return nil ********************************************************************** #ifndef _NO_MCREADERCLASS_ #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 mcREADERCLASS() // El“szedi az oszt ly metaoszt ly t. (metaclass) static metaOsztaly if (metaOsztaly==nil) metaOsztaly:=META.clMETA():onew(; clBEHAVIOR(),; "READERCLASS",; CA_READERCLASS_N,; CM_READERCLASS_N,; {|ta,tm|setMCams(ta,tm)},; {|t|setMCMethods(t)}) endif return metaOsztaly #endif // _NO_MCREADERCLASS_ #endif // _NO_READERCLASS_ #ifdef _IMPLEMENT_ONEW_ ********************************************************************** cimplement onew(name,errorStream) local o:=class:ocreate() READER.o:oinit(name,errorStream) return o #endif // _IMPLEMENT_ONEW_ ********************************************************************** #ifdef _IMPLEMENT_OINIT_ implement oinit(name,errorStream) super:oinit() return this #endif // _IMPLEMENT_OINIT_ ********************************************************************** ********************************************************************** #endif // _READER_PRG_OCH_ #endif // _READER_PRG_