OpenShot Library | OpenShotAudio  0.2.1
juce::NamedPipe Class Referencefinal

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

#include <juce_NamedPipe.h>

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

Definition at line 40 of file juce_NamedPipe.h.

Constructor & Destructor Documentation

◆ NamedPipe()

juce::NamedPipe::NamedPipe ( )

Creates a NamedPipe.

Definition at line 26 of file juce_NamedPipe.cpp.

◆ ~NamedPipe()

juce::NamedPipe::~NamedPipe ( )

Destructor.

Definition at line 28 of file juce_NamedPipe.cpp.

References close().

Member Function Documentation

◆ openExisting()

bool juce::NamedPipe::openExisting ( const String pipeName)

Tries to open a pipe that already exists.

Returns true if it succeeds.

Definition at line 33 of file juce_NamedPipe.cpp.

References close().

Referenced by getName().

◆ createNewPipe()

bool juce::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.

Definition at line 47 of file juce_NamedPipe.cpp.

References close().

Referenced by getName().

◆ close()

void juce::NamedPipe::close ( )

Closes the pipe, if it's open.

Referenced by createNewPipe(), openExisting(), and ~NamedPipe().

◆ isOpen()

bool juce::NamedPipe::isOpen ( ) const

True if the pipe is currently open.

Definition at line 42 of file juce_NamedPipe.cpp.

Referenced by getName().

◆ getName()

String juce::NamedPipe::getName ( ) const

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

Definition at line 56 of file juce_NamedPipe.cpp.

References createNewPipe(), isOpen(), openExisting(), read(), juce::WaitableEvent::wait(), and write().

◆ read()

int juce::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.

Referenced by getName().

◆ write()

int juce::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.

Referenced by getName().


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