home *** CD-ROM | disk | FTP | other *** search
- #include <classes/BOOPSI/rootclass.h>
-
- #pragma -
- #include <pragma/intuition_lib.h>
- #include <clib/alib_protos.h>
- #pragma +
-
- BoopsiRootC::BoopsiRootC()
- : ShareC()
- {
- boopsi_object = NULL;
- }
-
- BoopsiRootC::BoopsiRootC(struct IClass *c, STRPTR pubclass,
- Tag tag1type, ...)
- : ShareC()
- {
- boopsi_object = (Object *) NewObjectA(c,pubclass,(struct TagItem *) &tag1type);
- if (!boopsi_object)
- throw BoopsiX();
- }
-
- BoopsiRootC::BoopsiRootC(struct IClass *c, STRPTR pubclass,
- struct TagItem *tattr)
- : ShareC()
- {
- boopsi_object = (Object *) NewObjectA(c,pubclass,tattr);
- if (!boopsi_object)
- throw BoopsiX();
- }
-
- BoopsiRootC::BoopsiRootC(const BoopsiRootC &s)
- : ShareC(s)
- {
- boopsi_object = s.boopsi_object;
- }
-
- BoopsiRootC::~BoopsiRootC()
- {
- if (only())
- DisposeObject(boopsi_object);
- }
-
- BoopsiRootC &BoopsiRootC::operator= (const BoopsiRootC &s)
- {
- if (this != &s)
- {
- if (only())
- DisposeObject(boopsi_object);
- ShareC::operator=(s);
- boopsi_object = s.boopsi_object;
- };
- return *this;
- }
-
- Object *BoopsiRootC::object() const
- {
- return boopsi_object;
- }
-
- VOID BoopsiRootC::setAttrs(Tag tag1type, ...)
- {
- SetAttrsA(boopsi_object,(struct TagItem *) &tag1type);
- }
-
- VOID BoopsiRootC::setAttrs(struct TagItem *tattr)
- {
- SetAttrsA(boopsi_object,tattr);
- }
-
- ULONG BoopsiRootC::getAttr(Tag tagtype) const
- {
- ULONG data;
- GetAttr(tagtype,boopsi_object,&data);
- return data;
- }
-
- BOOL BoopsiRootC::getAttr(Tag tagtype, ULONG &data) const
- {
- return (BOOL) GetAttr(tagtype,boopsi_object,&data);
- }
-
- ULONG BoopsiRootC::doMethod(ULONG methodID, ...)
- {
- return DoMethodA(boopsi_object,(Msg) &methodID);
- }
-
- ULONG BoopsiRootC::doMethod(Msg boopsimessage)
- {
- return DoMethodA(boopsi_object,boopsimessage);
- }
-
- VOID BoopsiRootC::addMember(BoopsiRootC &child)
- {
- DoMethod(boopsi_object,OM_ADDMEMBER,child.object());
- }
-
- VOID BoopsiRootC::addMember(Object *child)
- {
- if (child)
- DoMethod(boopsi_object,OM_ADDMEMBER,child);
- }
-
- VOID BoopsiRootC::remMember(BoopsiRootC &child)
- {
- DoMethod(boopsi_object,OM_REMMEMBER,child.object());
- }
-
- VOID BoopsiRootC::remMember(Object *child)
- {
- if (child)
- DoMethod(boopsi_object,OM_REMMEMBER,child);
- }
-
-