X-Git-Url: http://deadsoftware.ru/gitweb?p=odcread.git;a=blobdiff_plain;f=store.cc;h=6f44e8525457c8135b7eafc9c773753fc93a545f;hp=4bbabf83591858e3106d1a1fd5cd4767240d3362;hb=2466c23751f131a07432df964658c2de90315e7b;hpb=c71568094a35bbda781ac2070e50a59a3b5ac9f7 diff --git a/store.cc b/store.cc index 4bbabf8..6f44e85 100644 --- a/store.cc +++ b/store.cc @@ -26,7 +26,7 @@ std::string TypePath::toString() const { } const std::string Store::TYPENAME("Stores.Store^"); -const TypeProxy Store::PROXY; +const TopTypeProxy Store::PROXY; Store::Store(INTEGER id): d_id(id) {} @@ -34,20 +34,14 @@ INTEGER Store::getId() { return d_id; } -const std::string &Store::getType() { - return Store::TYPENAME; -} - -const std::string *Store::getSuper() { - return 0; -} - const std::string &Store::getTypeName() const { - return Store::getType(); + return Store::TYPENAME; } -void Store::getTypePath(TypePath *out) const { - return calcTypePath(out, getTypeName()); +TypePath Store::getTypePath() const { + TypePath out; + calcTypePath(&out, getTypeName()); + return out; } void Store::calcTypePath(TypePath *path, const std::string &name) const { @@ -69,20 +63,12 @@ std::string Store::toString() { void Store::accept(Visitor &visitor) const {} const std::string Elem::TYPENAME("Stores.Elem^"); -const TypeProxy Elem::PROXY; +const TypeProxy Elem::PROXY; Elem::Elem(INTEGER id) : Store(id) {} -const std::string &Elem::getType() { - return TYPENAME; -} - -const std::string *Elem::getSuper() { - return &Store::getType(); -} - const std::string &Elem::getTypeName() const { - return getType(); + return TYPENAME; } void Elem::internalize(Reader &reader) { @@ -92,20 +78,12 @@ void Elem::internalize(Reader &reader) { } const std::string Model::TYPENAME("Models.Model^"); -const TypeProxy Model::PROXY; +const TypeProxy Model::PROXY; Model::Model(INTEGER id) : Elem(id) {} -const std::string &Model::getType() { - return TYPENAME; -} - -const std::string *Model::getSuper() { - return &Elem::getType(); -} - const std::string &Model::getTypeName() const { - return getType(); + return TYPENAME; } void Model::internalize(Reader &reader) { @@ -115,20 +93,12 @@ void Model::internalize(Reader &reader) { } const std::string ContainerModel::TYPENAME("Containers.Model^"); -const TypeProxy ContainerModel::PROXY; +const TypeProxy ContainerModel::PROXY; ContainerModel::ContainerModel(INTEGER id) : Model(id) {} -const std::string &ContainerModel::getType() { - return TYPENAME; -} - -const std::string *ContainerModel::getSuper() { - return &Model::getType(); -} - const std::string &ContainerModel::getTypeName() const { - return getType(); + return TYPENAME; } void ContainerModel::internalize(Reader &reader) {