Patch by Thom Holwerda. Proofreading.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21318 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Niels Sascha Reedijk
2007-06-04 06:37:04 +00:00
parent 415ef601df
commit e3c5ca8539
+20 -17
View File
@@ -3,12 +3,15 @@
* Distributed under the terms of the MIT License.
*
* Author:
* Niels Sascha Reedijk <[email protected]>
* Niels Sascha Reedijk <[email protected]>
*
* Proofreader:
* David Weizades <[email protected]>
* David Weizades <[email protected]>
* Thom Holwerda <[email protected]>
*
* Corresponds to:
* /trunk/headers/os/support/Archivable.h rev 19972
* /trunk/src/kits/support/Archivable.cpp rev 19095
* /trunk/headers/os/support/Archivable.h rev 19972
* /trunk/src/kits/support/Archivable.cpp rev 19095
*/
/*!
@@ -20,7 +23,7 @@
\class BArchivable
\ingroup support
\ingroup libbe
\brief Interfaced for objects that can be archived into a BMessage.
\brief Interface for objects that can be archived into a BMessage.
BArchivable provides an interface for objects that can be put into message
archives and extracted into objects in another location. Using this you are
@@ -32,13 +35,13 @@
disk. The objective of this interface, however, is to store objects that will
be restored to other objects. To illustrate this point, BArchivable messages
know how to restore themselves whereas BFlattenables have a datatype which
you need to map to classes manually.
you need to map to classes manually.
Archiving is done with the Archive() method. If your class supports it, the
caller can request it to store in to a deep archive, meaning that all child
caller can request it to store into a deep archive, meaning that all child
objects in it will be stored. Extracting the archive works with the
Instantiate() method, which is static. Since the interface is designed to
extract objects without the caller knowing what kind of object it actually is
extract objects without the caller knowing what kind of object it actually is,
the global function #instantiate_object() instantiates a message without you
manually having to determine the class the message is from. This adds
considerable flexibility and allows BArchivable to be used in combination with
@@ -46,7 +49,7 @@
To provide this interface in your classes you should publicly inherit this
class. You should implement Archive() and Instantiate(), and provide one
constructor that takes one BMessage argument.
constructor that takes one BMessage argument.
*/
/*!
@@ -76,7 +79,7 @@
\param into The message you store your object in.
\param deep If \c true, all children of this object should be stored as well.
Only pay attention of this parameter if you actually have child objects.
Only pay attention to this parameter if you actually have child objects.
\retval B_OK The archiving succeeded.
\retval "error codes" The archiving did not succeed.
*/
@@ -93,7 +96,7 @@
\retval You should return a pointer to your object, or \c NULL if you
fail.
\warning The default implementation will always return \c NULL. Even though
it is possible to store plain BArchive objects it is impossible to restore
it is possible to store plain BArchive objects, it is impossible to restore
them.
\see instantiate_object(BMessage *from)
*/
@@ -101,8 +104,8 @@
/*!
\fn virtual status_t BArchivable::Perform(perform_code d, void* arg)
\brief Internal method.
\internal This method is defined in case of unforseen binary compatbility API
issues. Currently nothing of interest in implemented.
\internal This method is defined in case of unforeseen binary compatibility
API issues. Currently nothing of interest is implemented.
*/
///// Global methods /////
@@ -123,19 +126,19 @@
different application or library.
This function is similar to instantiate_object(BMessage *from), except that
it takes the \a id argument referring to an image where the object might
it takes the \a id argument referring to an image where the object might be
stored.
\note Images are names for executable files. Image id's refer to these
executable files that have been loaded by your application. Have a look
at the kernel API for further info.
at the kernel API for further information.
*/
/*!
\fn BArchivable* instantiate_object(BMessage *from)
\brief Instantiate an archived object.
This global function will determine the base class, based on the \a from
This global function will determine the base class, based on the \a from
argument, and it will call the Instantiate() function of that object to
restore it.
@@ -160,7 +163,7 @@
/*!
\fn instantiation_func find_instantiation_func(const char* className)
\brief Internal function that searches for the instantiation func of a
\brief Internal function that searches for the instantiation func of a
specific class. Use instantiate_object() instead.
*/