// -*- Mode: C++; indent-tabs-mode: nil; tab-width: 2 -*- /* * Copyright (C) 2011-2012 Canonical Ltd * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 3 as * published by the Free Software Foundation. * * 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, see . * * Authored by: Ken VanDine * */ #ifndef UNITY_SOCIAL_PREVIEW_H #define UNITY_SOCIAL_PREVIEW_H #include #include #include "Preview.h" namespace unity { namespace dash { class SocialPreview : public Preview { public: struct Comment { std::string id; std::string display_name; std::string content; std::string time; Comment() {}; Comment(const gchar* id_, const gchar* display_name_, const gchar* content_, const gchar* time_) : id(id_ != NULL ? id_ : "") , display_name(display_name_ != NULL ? display_name_ : "") , content(content_ != NULL ? content_ : "") , time(time_ != NULL ? time_ : "") {}; }; typedef std::shared_ptr Ptr; typedef std::shared_ptr CommentPtr; typedef std::vector CommentPtrList; SocialPreview(unity::glib::Object const& proto_obj); ~SocialPreview(); nux::RWProperty sender; nux::RWProperty title; nux::RWProperty content; nux::RWProperty> avatar; CommentPtrList GetComments() const; private: class Impl; std::unique_ptr pimpl; }; } } #endif