common/scim-bridge-messenger.h

Go to the documentation of this file.
00001 /*
00002  * SCIM Bridge
00003  *
00004  * Copyright (c) 2006 Ryo Dairiki <ryo-dairiki@users.sourceforge.net>
00005  *
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2 of the License, or (at your option) any later version.*
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
00014  * GNU Lesser General Public License for more details.*
00015  * You should have received a copy of the GNU Lesser General Public
00016  * License along with this program; if not, write to the
00017  * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
00018  * Boston, MA  02111-1307  USA
00019  */
00020 
00026 #ifndef SCIMBRIDGEMESSAGENGER_H_
00027 #define SCIMBRIDGEMESSAGENGER_H_
00028 
00029 #include "scim-bridge.h"
00030 #include "scim-bridge-message.h"
00031 
00035 typedef struct _ScimBridgeMessenger ScimBridgeMessenger;
00036 
00037 #ifdef __cplusplus
00038 extern "C"
00039 {
00040 #endif
00041 
00048     ScimBridgeMessenger *scim_bridge_alloc_messenger (int socket_fd);
00049 
00056     void scim_bridge_free_messenger (ScimBridgeMessenger *messenger);
00057 
00064     int scim_bridge_messenger_get_socket_fd (const ScimBridgeMessenger *messenger);
00065 
00072     retval_t scim_bridge_close_messenger (ScimBridgeMessenger *messenger);
00073 
00080     boolean scim_bridge_messenger_is_closed (const ScimBridgeMessenger *messenger);
00081 
00089     retval_t scim_bridge_messenger_push_message (ScimBridgeMessenger *messenger, const ScimBridgeMessage *message);
00090 
00098     retval_t scim_bridge_messenger_poll_message (ScimBridgeMessenger *messenger, ScimBridgeMessage **message);
00099 
00107     retval_t scim_bridge_messenger_send_message (ScimBridgeMessenger *messenger, const struct timeval *timeout);
00108 
00116     retval_t scim_bridge_messenger_receive_message (ScimBridgeMessenger *messenger, const struct timeval *timeout);
00117 
00125     ssize_t scim_bridge_messenger_get_sending_buffer_size (const ScimBridgeMessenger *messenger);
00126 
00134     ssize_t scim_bridge_messenger_get_receiving_buffer_size (const ScimBridgeMessenger *messenger);
00135 
00136 #ifdef __cplusplus
00137 }
00138 #endif
00139 #endif                                            /*SCIMBRIDGEMESSAGENGER_H_*/

Generated on Tue Sep 26 21:55:59 2006 for ScimBridge by  doxygen 1.4.6