Remove unnecessary /home/legatvs/p/git/current/WWW-Quvi.git/i/Quvi.iapply line
[www-quvi.git] / Media.cxx
blobc44ccaaa6bfd16812ef556e0c251a59876bb4205
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 #define _init \
25 : content_length(-1), duration(-1), ok(0)
27 Media::Media()
28 _init
32 Media::Media(quvi_media_t m)
33 _init
35 #define _wrap(id,dst,type) \
36 do { type t; quvi_getprop(m,id,&t); dst=t; } while (0)
37 _wrap(QUVIPROP_PAGETITLE, page_title, char*);
38 _wrap(QUVIPROP_STARTTIME, start_time, char*);
39 _wrap(QUVIPROP_PAGEURL, page_url, char*);
40 _wrap(QUVIPROP_HOSTID, host, char*);
41 _wrap(QUVIPROP_MEDIAID, id, char*);
42 _wrap(QUVIPROP_MEDIACONTENTLENGTH, content_length, double);
43 _wrap(QUVIPROP_MEDIACONTENTTYPE, content_type, char*);
44 _wrap(QUVIPROP_FILESUFFIX, file_suffix, char*);
45 _wrap(QUVIPROP_MEDIAURL, url, char*);
46 _wrap(QUVIPROP_MEDIATHUMBNAILURL, thumbnail_url, char*);
47 _wrap(QUVIPROP_MEDIADURATION, duration, double);
48 #undef _wrap
49 quvi_parse_close(&m);
50 ok = 1;
53 Media::Media(const Media& v)
54 _init
56 _swap(v);
59 #undef _init
61 Media& Media::operator=(const Media& v)
63 if (this != &v) _swap(v);
64 return *this;
67 Media::~Media()
71 void Media::_swap(const Media& m)
73 page_title = m.page_title;
74 start_time = m.start_time;
75 page_url = m.page_url;
76 host = m.host;
77 id = m.id;
78 content_length = m.content_length;
79 content_type = m.content_type;
80 file_suffix = m.file_suffix;
81 url = m.url;
82 thumbnail_url = m.thumbnail_url;
83 duration = m.duration;
84 ok = m.ok;
87 // vim: set ts=2 sw=2 tw=72 expandtab: