root/trunk/libffado/src/libavc/musicsubunit/avc_musicsubunit.h

Revision 1154, 2.0 kB (checked in by ppalmers, 16 years ago)

add expat based parsing of the device cache. add compile-time selection between libxml++ and expat. will allow to get rid of the libxml++ dependency on the long run. scons SERIALIZE_USE_EXPAT=0Only compile testedscons SERIALIZE_USE_EXPAT=0

Line 
1 /*
2  * Copyright (C) 2005-2008 by Pieter Palmers
3  * Copyright (C) 2005-2008 by Daniel Wagner
4  *
5  * This file is part of FFADO
6  * FFADO = Free Firewire (pro-)audio drivers for linux
7  *
8  * FFADO is based upon FreeBoB
9  *
10  * This program is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation, either version 2 of the License, or
13  * (at your option) version 3 of the License.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
22  *
23  */
24
25 #ifndef AVC_MUSICSUBUNIT_H
26 #define AVC_MUSICSUBUNIT_H
27
28 #include <vector>
29 #include "libutil/serialize.h"
30
31 namespace AVC {
32
33 class Unit;
34 class Plug;
35 class AVCMusicStatusDescriptor;
36
37 // /////////////////////////////
38
39 class SubunitMusic: public Subunit {
40  public:
41     SubunitMusic( Unit& avDevice,
42                   subunit_t id );
43     SubunitMusic();
44     virtual ~SubunitMusic();
45    
46     virtual bool discover();
47     virtual bool initPlugFromDescriptor( Plug& plug );
48
49     virtual bool loadDescriptors();
50    
51     virtual void showMusicPlugs();
52    
53     virtual void setVerboseLevel(int l);
54     virtual const char* getName();
55 protected:
56     virtual bool serializeChild( std::string basePath,
57                                  Util::IOSerialize& ser ) const;
58     virtual bool deserializeChild( std::string basePath,
59                                    Util::IODeserialize& deser,
60                                    Unit& avDevice );
61     virtual bool deserializeUpdateChild( std::string basePath,
62                                          Util::IODeserialize& deser );
63
64     class AVCMusicStatusDescriptor*  m_status_descriptor;
65 };
66
67 }
68
69 #endif
Note: See TracBrowser for help on using the browser.