#endif
#include <glib.h>
-#include "vmware.h"
+#include "vmtools.h"
/** Alias for RpcChannel_SetRetVals. */
#define RPCIN_SETRETVALS RpcChannel_SetRetVals
* @return TRUE on success.
*/
-static INLINE gboolean
+G_INLINE_FUNC gboolean
RpcChannel_Start(RpcChannel *chan)
{
- ASSERT(chan != NULL);
- ASSERT(chan->start != NULL);
+ g_return_val_if_fail(chan != NULL, FALSE);
+ g_return_val_if_fail(chan->start != NULL, FALSE);
return chan->start(chan);
}
* @param[in] chan The RPC channel instance.
*/
-static INLINE void
+G_INLINE_FUNC void
RpcChannel_Stop(RpcChannel *chan)
{
- ASSERT(chan != NULL);
- ASSERT(chan->stop != NULL);
+ g_return_if_fail(chan != NULL);
+ g_return_if_fail(chan->stop != NULL);
chan->stop(chan);
}
* @return The status from the remote end (TRUE if call was successful).
*/
-static INLINE gboolean
+G_INLINE_FUNC gboolean
RpcChannel_Send(RpcChannel *chan,
char *data,
size_t dataLen,
char **result,
size_t *resultLen)
{
- ASSERT(chan != NULL);
- ASSERT(chan->send != NULL);
+ g_return_val_if_fail(chan != NULL, FALSE);
+ g_return_val_if_fail(chan->send != NULL, FALSE);
return chan->send(chan, data, dataLen, result, resultLen);
}
# include <sys/time.h>
#endif
+
+/* Work around a glib limitation: it doesn't set G_INLINE_FUNC on Win32. */
+#if defined(G_PLATFORM_WIN32)
+# if defined(G_INLINE_FUNC)
+# undef G_INLINE_FUNC
+# endif
+# define G_INLINE_FUNC static __inline
+#endif
+
+
/**
* Converts an UTF-8 path to the local (i.e., glib) file name encoding.
* This is a no-op on Windows, since the local encoding is always UTF-8