/* * Copyright (C) 2009-2012 Geometer Plus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ #ifndef __ATOMCONTAINTERS_H__ #define __ATOMCONTAINTERS_H__ #include #include #include "ATOMMetadata.h" class ATOMEntry : public ATOMCommonAttributes { public: ATOMEntry(); ATOMEntry(shared_ptr id, const std::string &title, shared_ptr updated); std::vector > &authors() { return myAuthors; } std::vector > &categories() { return myCategories; } std::vector > &contributors() { return myContributors; } std::vector > &links() { return myLinks; } shared_ptr published() { return myPublished; } shared_ptr icon() { return myIcon; } const std::string &rights() { return myRights; } const std::string &summary() { return mySummary; } const std::string &title() { return myTitle; } shared_ptr updated() { return myUpdated; } void setPublished(shared_ptr published) { myPublished = published; } void setIcon(shared_ptr icon) { myIcon = icon; } void setRights(const std::string &rights) { myRights = rights; } void setSummary(const std::string &summary) { mySummary = summary; } void setTitle(const std::string &title) { myTitle = title; } void setUpdated(shared_ptr updated) { myUpdated = updated; } shared_ptr id() { return myId; } void setId(shared_ptr id) { myId = id; } private: shared_ptr myId; std::vector > myAuthors; std::vector > myCategories; //shared_ptr myContent; TODO: implement ATOMContent std::vector > myContributors; std::vector > myLinks; shared_ptr myIcon; shared_ptr myPublished; std::string myRights; // TODO: implement ATOMTextConstruct //shared_ptr mySource; // TODO: implement ATOMSource std::string mySummary; // TODO: implement ATOMTextConstruct std::string myTitle; // TODO: implement ATOMTextConstruct shared_ptr myUpdated; }; class ATOMFeedMetadata : public ATOMCommonAttributes { public: ATOMFeedMetadata(); ATOMFeedMetadata(shared_ptr id, const std::string &title, shared_ptr updated); std::vector > &authors() { return myAuthors; } std::vector > &categories() { return myCategories; } std::vector > &contributors() { return myContributors; } std::vector > &links() { return myLinks; } shared_ptr generator() { return myGenerator; } shared_ptr icon() { return myIcon; } shared_ptr logo() { return myLogo; } const std::string &rights() { return myRights; } const std::string &subtitle() { return mySubtitle; } const std::string &summary() { return mySummary; } const std::string &title() { return myTitle; } shared_ptr updated() { return myUpdated; } void setGenerator(shared_ptr generator) { myGenerator = generator; } void setIcon(shared_ptr icon) { myIcon = icon; } void setLogo(shared_ptr logo) { myLogo = logo; } void setRights(const std::string &rights) { myRights = rights; } void setSubtitle(const std::string &subtitle) { mySubtitle = subtitle; } void setSummary(const std::string &summary) { mySummary = summary; } void setTitle(const std::string &title) { myTitle = title; } void setUpdated(shared_ptr updated) { myUpdated = updated; } shared_ptr id() { return myId; } void setId(shared_ptr id) { myId = id; } private: shared_ptr myId; std::vector > myAuthors; std::vector > myCategories; std::vector > myContributors; shared_ptr myGenerator; shared_ptr myIcon; std::vector > myLinks; shared_ptr myLogo; std::string myRights; // TODO: implement ATOMTextConstruct std::string mySubtitle; // TODO: implement ATOMTextConstruct std::string mySummary; // TODO: implement ATOMTextConstruct std::string myTitle; // TODO: implement ATOMTextConstruct shared_ptr myUpdated; }; /* class ATOMFeed : public ATOMFeedMetadata { public: ATOMFeed(); ATOMFeed(const ATOMId &id, const std::string &title, shared_ptr updated); std::vector > entries() { return myEntries; } private: std::vector > myEntries; }; */ #endif /* __ATOMCONTAINTERS_H__ */