ladishd: properly detect connect failures
[ladish.git] / proxies / studio_proxy.h
blob0aec4ef27134e108ece26379d262df4cfdf1f3bc
1 /* -*- Mode: C ; c-basic-offset: 2 -*- */
2 /*
3 * LADI Session Handler (ladish)
5 * Copyright (C) 2009, 2010 Nedko Arnaudov <nedko@arnaudov.name>
7 **************************************************************************
8 * This file contains interface to the helper functionality for accessing
9 * Studio object through D-Bus
10 **************************************************************************
12 * LADI Session Handler is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
17 * LADI Session Handler is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
22 * You should have received a copy of the GNU General Public License
23 * along with LADI Session Handler. If not, see <http://www.gnu.org/licenses/>
24 * or write to the Free Software Foundation, Inc.,
25 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
28 #ifndef STUDIO_PROXY_H__2CEC623F_C998_4618_A947_D1A0016DF978__INCLUDED
29 #define STUDIO_PROXY_H__2CEC623F_C998_4618_A947_D1A0016DF978__INCLUDED
31 #include "common.h"
33 bool studio_proxy_init(void);
34 void studio_proxy_uninit(void);
35 bool studio_proxy_get_name(char ** name);
36 bool studio_proxy_rename(const char * name);
37 bool studio_proxy_save(void);
38 bool studio_proxy_save_as(const char * name);
39 bool studio_proxy_unload(void);
40 void studio_proxy_set_renamed_callback(void (* callback)(const char * new_studio_name));
42 void studio_proxy_set_startstop_callbacks(void (* started_callback)(void), void (* stopped_callback)(void), void (* crashed_callback)(void));
43 bool studio_proxy_start(void);
44 bool studio_proxy_stop(void);
45 bool studio_proxy_is_started(bool * is_started_ptr);
47 void
48 studio_proxy_set_room_callbacks(
49 void (* appeared)(const char * opath, const char * name, const char * template),
50 void (* disappeared)(const char * opath, const char * name, const char * template),
51 void (* changed)(const char * opath, const char * name, const char * template));
53 bool studio_proxy_create_room(const char * name, const char * template);
54 bool studio_proxy_delete_room(const char * name);
56 #endif /* #ifndef STUDIO_PROXY_H__2CEC623F_C998_4618_A947_D1A0016DF978__INCLUDED */