7 struct s_gs_type_driver;
9 struct s_gs_type_bag_ops {
12 (*_init) (struct s_gs_type_bag *p_type_bag);
15 (*_exit) (struct s_gs_type_bag *p_type_bag);
19 (*register_incoming_connection) (struct s_gs_type_bag *p_type_bag,
20 struct s_gs_connection *p_connection);
23 (*register_outgoing_connection) (struct s_gs_type_bag *p_type_bag,
24 struct s_gs_connection *p_connection);
28 (*store_type) (struct s_gs_type_bag *p_type_bag,
29 struct s_gs_connection *p_connection,
30 struct s_gs_type *p_type);
33 (*store_incoming_type) (struct s_gs_type_bag *p_type_bag,
34 struct s_gs_connection *p_connection,
35 struct s_gs_type *p_type);
38 (*get_type_by_name) (struct s_gs_type_bag *p_type_bag,
39 struct s_gs_connection *p_connection,
43 (*get_type_by_code) (struct s_gs_type_bag *p_type_bag,
44 struct s_gs_connection *p_connection,
48 (*mark_type) (struct s_gs_type_bag *p_type_bag,
49 struct s_gs_connection *p_connection,
53 (*check_type_mark) (struct s_gs_type_bag *p_type_bag,
54 struct s_gs_connection *p_connection,
59 (*store_message) (struct s_gs_type_bag *p_type_bag,
60 struct s_gs_connection *p_connection,
61 struct s_gs_message *p_message);
64 (*store_incoming_message) (struct s_gs_type_bag *p_type_bag,
65 struct s_gs_connection *p_connection,
66 struct s_gs_message *p_message);
69 (*get_message_by_name) (struct s_gs_type_bag *p_type_bag,
70 struct s_gs_connection *p_connection,
74 (*get_message_by_code) (struct s_gs_type_bag *p_type_bag,
75 struct s_gs_connection *p_connection,
79 (*mark_message) (struct s_gs_type_bag *p_type_bag,
80 struct s_gs_connection *p_connection,
84 (*check_message_mark) (struct s_gs_type_bag *p_type_bag,
85 struct s_gs_connection *p_connection,
90 struct s_gs_type_bag {
91 struct s_gs_type_bag_ops *bag_ops;
92 struct s_gs_type_driver *p_type_driver;
97 #endif /* GS_TYPE_BAG_H */