// -*- 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