Rename and reimplement to use "Media iface"
[www-quvi.git] / Media.cxx
blob4daa6e02ecfa9dc797a6f569e78a702700fc99de
1 /* WWW::Quvi
2 * Copyright (C) 2010,2011 Toni Gundogdu <legatvs@gmail.com>
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17 * 02110-1301 USA
20 #include <string>
22 #include "Quvi.h"
24 Media::Media()
25 : ok(false)
29 Media::Media(quvi_media_t m)
30 : ok(true)
32 #define _wrap(id,dst,type) \
33 do { type t; quvi_getprop(m,id,&t); dst=t; } while (0)
34 _wrap(QUVIPROP_HOSTID, host, char*);
35 _wrap(QUVIPROP_PAGEURL, page_url, char*);
36 _wrap(QUVIPROP_PAGETITLE, title, char*);
37 _wrap(QUVIPROP_MEDIAID, id, char*);
38 _wrap(QUVIPROP_STARTTIME, start_time, char*);
39 #undef _wrap
40 url = Url(m);
41 quvi_parse_close(&m);
44 Media::Media(const Media& v)
45 :ok(false)
47 _swap(v);
50 Media& Media::operator=(const Media& v)
52 if (this != &v) _swap(v);
53 return *this;
56 Media::~Media()
60 void Media::_swap(const Media& v)
62 title = v.title;
63 host = v.host;
64 page_url = v.page_url;
65 id = v.id;
66 url = v.url;
67 ok = v.ok;
68 start_time = v.start_time;
71 // vim: set ts=2 sw=2 tw=72 expandtab: