In order to provide inheritance, it is necessary to make
the base functions/methods visible so the extended object could reuse some base methods if necessary. Inheritance is possible because we always add to the end of the vtable structure new functions. For example, mime_t object will be also a message_t. and it will be possible to do { mime_t mime; header_t header; ... message_get_header ((message_t)mime, header); } Another example is tcpstream(socket stream) extends fdstream(file description stream); Also the name of the functions have change to match better there purpose. * mailbox2/Makefile.am: lockfile.c added. * mailbox2/bstream.c: Reoganisation to make the functions visible. * mailbox2/dattribute.c: Likewise. * mailbox2/dotlock.c: Likewise. * mailbox2/fdstream.c: Likewise. * mailbox2/fstream.c: Likewise. * mailbox2/mapstream.c: Likewise. * mailbox2/memstream.c: Likewise. * mailbox2/pticket.c: Likewise. * mailbox2/sdebug.c: Likewise. * mailbox2/tcpstream.c: Likewise. * mailbox2/include/mailutils/Makefile.am: lockfile.h added. * mailbox2/include/mailutils/attribute.h: Add the new prototypes. * mailbox2/include/mailutils/mbox.h: Add the new prototypes. * mailbox2/include/mailutils/stream.h: Add the new prototypes. * mailbox2/include/mailutils/sys/Makefile.am: dattribute.h lockfile.h mapstream.h pticket.h added. * mailbox2/include/mailutils/sys/bstream.h: Add new prototypes. * mailbox2/include/mailutils/sys/fdstream.h: Likewise. * mailbox2/include/mailutils/sys/fstream.h: Likewise. * mailbox2/include/mailutils/sys/mbox.h: Likewise. * mailbox2/include/mailutils/sys/memstream.h: Likewise. * mailbox2/include/mailutils/sys/sdebug.h: Likewise. * mailbox2/include/mailutils/sys/tcpstream.h: Likewise.
Showing
31 changed files
with
1407 additions
and
1034 deletions
mailbox2/include/mailutils/sys/dattribute.h
0 → 100644
mailbox2/include/mailutils/sys/dotlock.h
0 → 100644
mailbox2/include/mailutils/sys/pticket.h
0 → 100644
-
Please register or sign in to post a comment