]> rtime.felk.cvut.cz Git - can-usb1.git/blob - ulan/host/apps/ul_asd/ul_asd.h
Initializing repo
[can-usb1.git] / ulan / host / apps / ul_asd / ul_asd.h
1 #ifndef _UL_ASD_MAIN_H
2 #define _UL_ASD_MAIN_H
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 #include <orbit/orbit.h>
9 #include <ORBitservices/CosNaming.h>
10 #include <ul_netbase.h>
11
12
13 #define ORBIT_NS_ADDR_DEFAULT "-ORBNamingIOR=corbaloc:iiop:1.2@localhost:4444/NameService"
14 #define ORBIT_ORBIIOPIPName_DEFAULT "-ORBIIOPIPName=localhost"
15 /* 
16  * background task 
17  */
18 typedef struct {
19   int argc;
20   char **argv;
21   GMutex *mutex;
22   char *orbit_ns_addr;
23   char *orbit_orb_iiop_ipname;
24   char conf_filename[128];
25
26   //uLan thread
27   char *ul_dev_name;
28   ul_net_info_t *ul_net;
29   GThread *ul_net_thread;
30   int ul_net_terminate;
31         
32   //CORBA server thread
33   CORBA_Environment ev[1];
34   CORBA_ORB orb;
35   PortableServer_POA root_poa; 
36   CosNaming_NamingContext ns;
37   CORBA_Object serv_set;
38   CORBA_Object serv_stat;
39   GThread *ul_server_thread;
40 } ul_asd_context_t;
41
42 int ul_asd_conf_load(const char *filename,ul_asd_context_t *ctx); 
43 int ul_asd_conf_save(const char *filename,ul_asd_context_t *ctx); 
44
45 int ul_asd_net_init(ul_asd_context_t *ctx);
46 void ul_asd_net_run(ul_asd_context_t *ctx);
47 int ul_asd_net_stop(ul_asd_context_t *ctx);
48 int ul_asd_net_cleanup(ul_asd_context_t *ctx);
49
50 int ul_asd_server_init(ul_asd_context_t *ctx);
51 void ul_asd_server_run(ul_asd_context_t *ctx);
52 int ul_asd_server_stop(ul_asd_context_t *ctx);
53 int ul_asd_server_cleanup(ul_asd_context_t *ctx);
54
55 #ifdef __cplusplus
56 } /* extern "C"*/
57 #endif
58
59 #endif /* _UL_ASD_MAIN_H */