Switch to unified view

a b/libupnpp/control/avtransport.hxx
1
/* Copyright (C) 2014 J.F.Dockes
2
 *       This program is free software; you can redistribute it and/or modify
3
 *       it under the terms of the GNU General Public License as published by
4
 *       the Free Software Foundation; either version 2 of the License, or
5
 *       (at your option) any later version.
6
 *
7
 *       This program is distributed in the hope that it will be useful,
8
 *       but WITHOUT ANY WARRANTY; without even the implied warranty of
9
 *       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10
 *       GNU General Public License for more details.
11
 *
12
 *       You should have received a copy of the GNU General Public License
13
 *       along with this program; if not, write to the
14
 *       Free Software Foundation, Inc.,
15
 *       59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
16
 */
17
#ifndef _AVTRANSPORT_HXX_INCLUDED_
18
#define _AVTRANSPORT_HXX_INCLUDED_
19
20
#include <string>
21
22
#include "service.hxx"
23
24
namespace UPnPClient {
25
26
/**
27
 * AVTransport Service client class.
28
 *
29
 */
30
class AVTransport : public Service {
31
public:
32
33
    /** Construct by copying data from device and service objects.
34
     *
35
     */
36
    AVTransport(const UPnPDeviceDesc& device,
37
                const UPnPServiceDesc& service)
38
        : Service(device, service)
39
        {
40
            registerCallback();
41
        }
42
43
    AVTransport() {}
44
45
    /** Test service type from discovery message */
46
    static bool isAVTService(const std::string& st);
47
48
49
protected:
50
    static const string SType;
51
52
private:
53
    void evtCallback(const std::unordered_map<std::string, std::string>&);
54
    void registerCallback();
55
56
};
57
58
} // namespace UPnPClient
59
60
#endif /* _AVTRANSPORT_HXX_INCLUDED_ */