JUCE
Public Member Functions | List of all members
NamedPipe Class Referencefinal

A cross-process pipe that can have data written to and read from it. More...

Public Member Functions

 NamedPipe ()
 Creates a NamedPipe. More...
 
 ~NamedPipe ()
 Destructor. More...
 
bool openExisting (const String &pipeName)
 Tries to open a pipe that already exists. More...
 
bool createNewPipe (const String &pipeName, bool mustNotExist=false)
 Tries to create a new pipe. More...
 
void close ()
 Closes the pipe, if it's open. More...
 
bool isOpen () const
 True if the pipe is currently open. More...
 
String getName () const
 Returns the last name that was used to try to open this pipe. More...
 
int read (void *destBuffer, int maxBytesToRead, int timeOutMilliseconds)
 Reads data from the pipe. More...
 
int write (const void *sourceBuffer, int numBytesToWrite, int timeOutMilliseconds)
 Writes some data to the pipe. More...
 

Detailed Description

A cross-process pipe that can have data written to and read from it.

Two processes can use NamedPipe objects to exchange blocks of data.

See also
InterprocessConnection

Constructor & Destructor Documentation

◆ NamedPipe()

NamedPipe::NamedPipe ( )

Creates a NamedPipe.

◆ ~NamedPipe()

NamedPipe::~NamedPipe ( )

Destructor.

Member Function Documentation

◆ openExisting()

bool NamedPipe::openExisting ( const String pipeName)

Tries to open a pipe that already exists.

Returns true if it succeeds.

◆ createNewPipe()

bool NamedPipe::createNewPipe ( const String pipeName,
bool  mustNotExist = false 
)

Tries to create a new pipe.

Returns true if it succeeds. If mustNotExist is true then it will fail if a pipe is already open with the same name.

◆ close()

void NamedPipe::close ( )

Closes the pipe, if it's open.

◆ isOpen()

bool NamedPipe::isOpen ( ) const

True if the pipe is currently open.

◆ getName()

String NamedPipe::getName ( ) const

Returns the last name that was used to try to open this pipe.

◆ read()

int NamedPipe::read ( void *  destBuffer,
int  maxBytesToRead,
int  timeOutMilliseconds 
)

Reads data from the pipe.

This will block until another thread has written enough data into the pipe to fill the number of bytes specified, or until another thread calls the cancelPendingReads() method.

If the operation fails, it returns -1, otherwise, it will return the number of bytes read.

If timeOutMilliseconds is less than zero, it will wait indefinitely, otherwise this is a maximum timeout for reading from the pipe.

◆ write()

int NamedPipe::write ( const void *  sourceBuffer,
int  numBytesToWrite,
int  timeOutMilliseconds 
)

Writes some data to the pipe.

Returns
the number of bytes written, or -1 on failure.

The documentation for this class was generated from the following file: