Cleanup
[jack2.git] / common / JackClientControl.h
blob98cd89d47a3b9a15c6b9a142b43f2ec8fe1e65e3
1 /*
2 Copyright (C) 2003 Paul Davis
3 Copyright (C) 2004-2006 Grame
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 #ifndef __JackClientControl__
22 #define __JackClientControl__
24 #include "JackShmMem.h"
25 #include "JackPort.h"
26 #include "JackSynchro.h"
27 #include "transport_types.h"
29 namespace Jack
32 /*!
33 \brief Client control in shared memory.
36 struct JackClientControl : public JackShmMem
38 char fName[JACK_CLIENT_NAME_SIZE + 1];
39 volatile jack_transport_state_t fTransportState;
40 int fRefNum;
41 bool fZombie;
42 bool fActive;
44 JackClientControl(const char* name, int refnum)
46 Init(name, refnum);
49 JackClientControl(const char* name)
51 Init(name, -1);
54 JackClientControl()
56 Init("", -1);
59 void Init(const char* name, int refnum)
61 strcpy(fName, name);
62 fRefNum = refnum;
63 fTransportState = JackTransportStopped;
64 fZombie = false;
65 fActive = false;
70 } // end of namespace
73 #endif