int rpc_port_proxy_connect_sync(rpc_port_proxy_h h, const char *appid,
const char *port_name);
+int rpc_port_set_private_sharing(rpc_port_h port, const char *paths[],
+ unsigned int size);
+
+int rpc_port_unset_private_sharing(rpc_port_h port);
+
#ifdef __cplusplus
}
#endif
#include <unistd.h>
#include <uuid/uuid.h>
#include <dlog.h>
+#include <aul_rpc_port.h>
#include "rpc-port.h"
#include "port-internal.h"
close(fd_);
}
+int Port::SetPrivateSharing(const char *paths[], unsigned int size) {
+ int ret = aul_rpc_port_set_private_sharing(id_.c_str(), paths, size);
+ if (ret != 0)
+ return RPC_PORT_ERROR_IO_ERROR;
+ return RPC_PORT_ERROR_NONE;
+}
+
+int Port::UnsetPrivateSharing() {
+ int ret = aul_rpc_port_unset_private_sharing(id_.c_str());
+ if (ret != 0)
+ return RPC_PORT_ERROR_IO_ERROR;
+ return RPC_PORT_ERROR_NONE;
+}
+
int Port::Read(void* buf, unsigned int size) {
unsigned int left = size;
ssize_t nb;
Port(int fd, std::string id);
virtual ~Port();
+ int SetPrivateSharing(const char *paths[], unsigned int size);
+ int UnsetPrivateSharing();
+
int Read(void* buf, unsigned int size);
int Write(const void* buf, unsigned int size);
int GetFd() const {
return RPC_PORT_ERROR_NONE;
}
+RPC_API int rpc_port_set_private_sharing(rpc_port_h h,
+ const char *paths[], unsigned int size) {
+ if (h == nullptr || paths == nullptr)
+ return RPC_PORT_ERROR_INVALID_PARAMETER;
+
+ auto port = static_cast<Port*>(h);
+
+ return port->SetPrivateSharing(paths, size);
+}
+
+RPC_API int rpc_port_unset_private_sharing(rpc_port_h h) {
+ if (h == nullptr)
+ return RPC_PORT_ERROR_INVALID_PARAMETER;
+
+ auto port = static_cast<Port*>(h);
+
+ return port->UnsetPrivateSharing();
+}
\ No newline at end of file