11 #ifdef ENABLE_INDI_SHARED_MEMORY
12 class ClientSharedBlobs
15 class Blobs :
public std::vector<std::string>
22 void enableDirectBlobAccess(
const char * dev,
const char * prop);
23 void disableDirectBlobAccess();
26 bool isDirectBlobAccess(
const std::string &dev,
const std::string &prop)
const;
28 static bool hasDirectBlobAccessEntry(
const std::map<std::string, std::set<std::string>> &directBlobAccess,
29 const std::string &dev,
const std::string &prop);
31 void addIncomingSharedBuffer(
int fd);
36 std::list<int> incomingSharedBuffers;
37 std::map<std::string, std::set<std::string>> directBlobAccess;
40 class TcpSocketSharedBlobs :
public TcpSocket
43 void readyRead()
override;
45 ClientSharedBlobs sharedBlobs;
62 ssize_t
sendData(
const void *data,
size_t size)
override;
64 #ifdef ENABLE_INDI_SHARED_MEMORY
AbstractBaseClient * parent
bool connectToHostAndWait(std::string hostname, unsigned short port)
ssize_t sendData(const void *data, size_t size) override
BaseClientPrivate(BaseClient *parent)
virtual ~BaseClientPrivate()
Class to provide basic client functionality.
Namespace to encapsulate INDI client, drivers, and mediator classes.