Monday, January 15, 2007

Update

Things are going great... I have made alot of changes to the object storage to make it faster, simpler and more flexible. I will save you all the mumbo jumbo but from an API view links are now bi-directional, so when you link a source to a target, the target also knows about the source, so you can browse all the sources of a link which allows to delete links when thier targets are deleted instead of leaving dangling links. I still have to add actions which is a group of methods. So when you send a message to an action on an object, it distributes the message to multiple methods registered with the action. This is where the magic of Screens starts. Because multiple methods can register with an action, more than one set of code can be triggered on an event which makes things very flexible. Add type inheritance and you are dealing with a very powerful backbone. Once I finish adding actions, I need to use them for object removal (CoreObjectFree) and stream functionality (CoreObjectRead/Write/Size/Resize). This allows when removing an object, to free up any 'extra' resources attached to the object such as dynamic resources (like a screen buffer). I will also need to add an API to specify that an object is temporary (like properties that hold the handle to a dynamic resource). Very soon I will able to spend more time on writing Safire and less on improving the Kernel.

1 comment:

Anonymous said...

Sounds great. It would be really nice to know a bit more about Safire and maybe even a screen shot or two?