Makefile.PL: Add -Ii to CXXFLAGS
[www-quvi.git] / Url.cxx
blobc8343c2edaf07ffdaa5d6a56e0d42c3d6537d5db
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 Url::Url()
25 : length_bytes(-1)
29 Url::Url(quvi_media_t m)
30 : length_bytes(-1)
32 #define _wrap(id,dst,type) \
33 do { type t; quvi_getprop(m,id,&t); dst=t; } while (0)
34 _wrap(QUVIPROP_MEDIAURL, url, char*);
35 _wrap(QUVIPROP_MEDIACONTENTTYPE, content_type, char*);
36 _wrap(QUVIPROP_MEDIACONTENTLENGTH, length_bytes, double);
37 _wrap(QUVIPROP_FILESUFFIX, file_suffix, char*);
38 #undef _wrap
41 Url::Url(const Url& l)
42 : length_bytes(-1)
44 _swap(l);
47 Url& Url::operator=(const Url& l)
49 if (this != &l) _swap(l);
50 return *this;
53 Url::~Url()
57 void Url::_swap(const Url& l)
59 content_type = l.content_type;
60 file_suffix = l.file_suffix;
61 url = l.url;
62 length_bytes = l.length_bytes;
65 // vim: set ts=2 sw=2 tw=72 expandtab: