26class InterprocessConnectionServer;
74 uint32 magicMessageHeaderNumber = 0xf2b49e2c);
93 int timeOutMillisecs);
121 bool createPipe (
const String& pipeName,
int pipeReceiveMessageTimeoutMs,
bool mustNotExist =
false);
134 void disconnect (
int timeoutMs = -1, Notify notify = Notify::yes);
137 bool isConnected()
const;
148 String getConnectedHostName()
const;
196 std::unique_ptr<NamedPipe>
pipe;
214 std::unique_ptr<ConnectionThread>
thread;
#define noexcept
Definition DistrhoDefines.h:72
static void message(int level, const char *fmt,...)
Definition adplugdb.cpp:120
virtual void connectionMade()=0
const uint32 magicMessageHeader
Definition juce_InterprocessConnection.h:199
int readData(void *, int)
Definition juce_InterprocessConnection.cpp:327
void initialiseWithPipe(std::unique_ptr< NamedPipe >)
Definition juce_InterprocessConnection.cpp:241
virtual void messageReceived(const MemoryBlock &message)=0
StreamingSocket * getSocket() const noexcept
Definition juce_InterprocessConnection.h:140
const bool useMessageThread
Definition juce_InterprocessConnection.h:198
void deletePipeAndSocket()
Definition juce_InterprocessConnection.cpp:168
std::unique_ptr< ConnectionThread > thread
Definition juce_InterprocessConnection.h:214
std::atomic< bool > threadIsRunning
Definition juce_InterprocessConnection.h:215
void initialiseWithSocket(std::unique_ptr< StreamingSocket >)
Definition juce_InterprocessConnection.cpp:234
std::shared_ptr< SafeAction > safeAction
Definition juce_InterprocessConnection.h:218
friend class InterprocessConnectionServer
Definition juce_InterprocessConnection.h:202
std::unique_ptr< StreamingSocket > socket
Definition juce_InterprocessConnection.h:195
InterprocessConnection(bool callbacksOnMessageThread=true, uint32 magicMessageHeaderNumber=0xf2b49e2c)
Definition juce_InterprocessConnection.cpp:74
void connectionLostInt()
Definition juce_InterprocessConnection.cpp:285
bool createPipe(const String &pipeName, int pipeReceiveMessageTimeoutMs, bool mustNotExist=false)
Definition juce_InterprocessConnection.cpp:131
bool connectToPipe(const String &pipeName, int pipeReceiveMessageTimeoutMs)
Definition juce_InterprocessConnection.cpp:114
int pipeReceiveMessageTimeout
Definition juce_InterprocessConnection.h:200
ReadWriteLock pipeAndSocketLock
Definition juce_InterprocessConnection.h:194
std::unique_ptr< NamedPipe > pipe
Definition juce_InterprocessConnection.h:196
int writeData(void *, int)
Definition juce_InterprocessConnection.cpp:212
void deliverDataInt(const MemoryBlock &)
Definition juce_InterprocessConnection.cpp:316
bool callbackConnectionState
Definition juce_InterprocessConnection.h:197
Notify
Definition juce_InterprocessConnection.h:124
void connectionMadeInt()
Definition juce_InterprocessConnection.cpp:272
void initialise()
Definition juce_InterprocessConnection.cpp:226
void runThread()
Definition juce_InterprocessConnection.cpp:389
virtual void connectionLost()=0
bool readNextMessage()
Definition juce_InterprocessConnection.cpp:341
bool connectToSocket(const String &hostName, int portNumber, int timeOutMillisecs)
Definition juce_InterprocessConnection.cpp:97
NamedPipe * getPipe() const noexcept
Definition juce_InterprocessConnection.h:143
Definition juce_MemoryBlock.h:33
Definition juce_NamedPipe.h:37
Definition juce_ReadWriteLock.h:48
Definition juce_Socket.h:38
Definition juce_String.h:53
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
@ no
Definition juce_AlertWindow.cpp:567
@ yes
Definition juce_AlertWindow.cpp:567
unsigned int uint32
Definition juce_MathsFunctions.h:45
Definition juce_InterprocessConnection.cpp:27
#define const
Definition zconf.h:137