#include <Archivable.h>
Inheritance diagram for BArchivable:

BMessage that can be sent to another application, flattened and saved as a file, cached in memory, and so on. Unarchiving does the opposite: It takes a BMessage archive and turns it into a functioning object.
Public Member Functions | |
| BArchivable () | |
| virtual | ~BArchivable () |
| BArchivable (BMessage *from) | |
| virtual status_t | Archive (BMessage *into, bool deep=true) const |
| virtual status_t | Perform (perform_code d, void *arg) |
Static Public Member Functions | |
| static BArchivable * | Instantiate (BMessage *from) |
|
|
Does nothing. |
|
|
Does nothing.Instantiate( |
|
|
Does nothing. |
|
||||||||||||
|
The default implementation adds the name of the object's class to data's"class" field. Derived classes must override Archive() to augment this implementation by adding, to the BMessage, data that describes the current state of the object. Each implementation of this function should begin by incorporating the inherited version: We'll assume that MyView inherits from BView. status_t MyView::Archive(BMessage *archive, bool deep) { BView::Archive(archive, deep); . . . } If the class can be instantiated directly from a derived class, it should also add its name to the "class" array: archive->AddString("class", "MyView"); The deep flag declares whether Archive() should include objects that "belong" to the archiving object. For example, a deep BView archive would include archived forms of the view's children.
Archive() should return Reimplemented in BMailProtocolConfigView, BApplication, BCursor, BHandler, BLooper, LayoutHVGroup, LayoutManager, BSpinField, BStringView, BTextField, BDirectWindow, BAlert, BBitmap, BBox, BButton, BChannelControl, BChannelSlider, BCheckBox, BColorControl, BControl, BDragger, BListItem, BStringItem, BListView, BMenu, BMenuBar, BMenuField, BMenuItem, BSeparatorItem, BOutlineListView, BPicture, BPictureButton, BPopUpMenu, BRadioButton, BScrollBar, BScrollView, BSeparator, BShape, BShelf, BSlider, BSlideRule, BSpeedButton, BStatusBar, BStringView, BTab, BTabView, BTextControl, BTextListControl, BChoiceList, BStringChoiceList, BTextView, BView, BWindow, BMailChain, BNetAddress, BNetBuffer, BNetEndpoint, BPrintConfigView, BResourceItem, and BTranslatorRoster. |
|
|
||||||||||||
|
Reimplemented in BApplication, BCursor, BHandler, BLooper, BDirectWindow, BWindowScreen, BAlert, BBitmap, BBox, BButton, BCheckBox, BColorControl, BControl, BDragger, BListItem, BStringItem, BListView, BMenu, BMenuBar, BMenuField, BOutlineListView, BPicture, BPictureButton, BPopUpMenu, BRadioButton, BScrollBar, BScrollView, BShape, BShelf, BSlider, BStatusBar, BStringView, BTabView, BTextControl, BTextListControl, BTextView, BView, BWindow, BDirectGLWindow, and BPrintConfigView. |