| version 1.8, 2003/03/30 10:26:43 |
version 1.9, 2003/04/05 16:28:25 |
| Line 11 default, method tables are shared - and |
|
| Line 11 default, method tables are shared - and |
|
| runtime will affect all such objects. Stand-alone cloning will create new |
runtime will affect all such objects. Stand-alone cloning will create new |
| method table and thus new object group. |
method table and thus new object group. |
| |
|
| NEW OBJECT STORAGE [target: 0.2.3, done: 80%] |
NEW OBJECT STORAGE [target: 0.2.3, done: 90%] |
| Object is stored as type + message pointer + data pointer + extensions. |
Object is stored as type + message pointer + data pointer + extensions. |
| Message pointer is called directly (no destroy handling or alike). Data |
Message pointer is called directly (no destroy handling or alike). Data |
| pointer is self-explantory. The extensions are provided for things like events |
pointer is self-explantory. The extensions are provided for things like events |
| Line 21 changed. You might use this for data if |
|
| Line 21 changed. You might use this for data if |
|
| your own constructor for this object (and maybe make other precautions -- |
your own constructor for this object (and maybe make other precautions -- |
| which means this is nothing but hassle). |
which means this is nothing but hassle). |
| |
|
| NEW MESSAGE SENDING APPARATUS [target: 0.2.3, done: 70%] |
NEW MESSAGE SENDING APPARATUS [target: 0.2.3, done: 90%] |
| No care is taken from the message sending function (co_m, co_m_v), it only |
No care is taken from the message sending function (co_m, co_m_v), it only |
| passes the arguments to message handler. This message handler should come from |
passes the arguments to message handler. This message handler should come from |
| an extension, which uses the extension area of object to store its |
an extension, which uses the extension area of object to store its |
| administration (method table or deferred universal message handler). |
administration (method table or deferred universal message handler). |
| |
|
| NEW OBJECT DELETION METHOD [target: 0.2.3, done: 40%] |
NEW OBJECT DELETION METHOD [target: 0.2.3, done: 60%] |
| Objects will be deleted by simply sending "delete" message with no parameters. |
Objects will be deleted by simply sending "delete" message with no parameters. |
| Delete method of an object shalt send "destroy" to itself or defer this action |
Delete method of an object shalt send "destroy" to itself or defer this action |
| until object is unused. May take other precautions. Shalt be safe to send from |
until object is unused. May take other precautions. Shalt be safe to send from |
| Line 35 anywhere (asynchronous thread or method |
|
| Line 35 anywhere (asynchronous thread or method |
|
| previous meaning - do not call! Also, destroy should now call appropriate |
previous meaning - do not call! Also, destroy should now call appropriate |
| extenstion cleanup function (like co_ev_destroy). |
extenstion cleanup function (like co_ev_destroy). |
| |
|
| NEW BLESSING SCHEME [target: 0.2.3, done: 40%] |
NEW BLESSING SCHEME [target: 0.2.3, done: 60%] |
| Each object type has these crucial components: flavour (with it's creation |
Each object type has these crucial components: flavour (with it's creation |
| function) and bless (initialising flavour-specific data and object's data |
function) and bless (initialising flavour-specific data and object's data |
| pointer). The flavour initialisation is provided by it's implementation. |
pointer). The flavour initialisation is provided by it's implementation. |
| |
|
| COPP REWRITE [target: 0.2.3, done: 0%] |
COPP REWRITE [target: 0.2.3, done: 40%] |
| The copp preprocessor shalt be rewritten, using sensible framework (like |
The copp preprocessor shalt be rewritten, using sensible framework (like |
| iotta ;]). Also, it should separate different parts into different modules, |
iotta ;]). Also, it should separate different parts into different modules, |
| allow selecting features for each run (like python-wrappers-only or |
allow selecting features for each run (like python-wrappers-only or |