592ff3a1164c2b036bc70eaaa543dbc712e91202
[melted] / src / melted / melted_server.h
1 /*
2 * miracle_server.h
3 * Copyright (C) 2002-2003 Ushodaya Enterprises Limited
4 * Author: Charles Yates <charles.yates@pandora.be>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software Foundation,
18 * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 */
20
21 #ifndef _MIRACLE_SERVER_H_
22 #define _MIRACLE_SERVER_H_
23
24 /* System header files */
25 #include <pthread.h>
26
27 /* Application header files */
28 #include <valerie/valerie_parser.h>
29
30 #ifdef __cplusplus
31 extern "C"
32 {
33 #endif
34
35 /** Servers default port
36 */
37
38 #define DEFAULT_TCP_PORT 5250
39
40 /** Structure for the server
41 */
42
43 typedef struct
44 {
45 struct mlt_properties_s parent;
46 char *id;
47 int port;
48 int socket;
49 valerie_parser parser;
50 pthread_t thread;
51 int shutdown;
52 int proxy;
53 char remote_server[ 50 ];
54 int remote_port;
55 char *config;
56 }
57 *miracle_server, miracle_server_t;
58
59 /** API for the server
60 */
61
62 extern miracle_server miracle_server_init( char * );
63 extern const char *miracle_server_id( miracle_server );
64 extern void miracle_server_set_config( miracle_server, const char * );
65 extern void miracle_server_set_port( miracle_server, int );
66 extern void miracle_server_set_proxy( miracle_server, char * );
67 extern int miracle_server_execute( miracle_server );
68 extern mlt_properties miracle_server_fetch_unit( miracle_server, int );
69 extern void miracle_server_shutdown( miracle_server );
70 extern void miracle_server_close( miracle_server );
71
72 #ifdef __cplusplus
73 }
74 #endif
75
76 #endif