JackGlobals.h 1.49 KB
Newer Older
sletz's avatar
sletz committed
1
/*
sletz's avatar
sletz committed
2
Copyright (C) 2004-2008 Grame
sletz's avatar
sletz committed
3
4

This program is free software; you can redistribute it and/or modify
5
6
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
sletz's avatar
sletz committed
7
8
9
10
11
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
GNU Lesser General Public License for more details.
sletz's avatar
sletz committed
13

14
You should have received a copy of the GNU Lesser General Public License
sletz's avatar
sletz committed
15
along with this program; if not, write to the Free Software
16
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
sletz's avatar
sletz committed
17
18
19
20
21
22

*/

#ifndef __JackGlobals__
#define __JackGlobals__

23
#include "JackPlatformPlug.h"
24
#include "JackConstants.h"
25

26
27
namespace Jack
{
28

29
30
31
32
33
34
35
36
// Globals used for client management on server or libray side.
struct JackGlobals {

    static jack_tls_key fRealTime;
    static jack_tls_key fKeyLogFunction;
    static JackMutex* fOpenMutex;
    static bool fServerRunning;
    static JackClient* fClientTable[];
sletz's avatar
sletz committed
37
38
39
40
#ifndef WIN32
    static jack_thread_creator_t fJackThreadCreator;
#endif

41
42
};

sletz's avatar
sletz committed
43
44
45
46
47
// Each "side" server and client will implement this to get the shared graph manager, engine control and inter-process synchro table.
extern EXPORT JackGraphManager* GetGraphManager();
extern EXPORT JackEngineControl* GetEngineControl();
extern EXPORT JackSynchro* GetSynchroTable();

48
} // end of namespace
sletz's avatar
sletz committed
49

sletz's avatar
sletz committed
50
#endif