## NAME

ACE_Pipe - Provides a bidirectional "pipe" abstraction that is portable to Windows NT, SVR4 UNIX, and BSD UNIX.

## SYNOPSIS

    #include <ace/Pipe.h>

    class ACE_Pipe
    {
      public:
        ACE_Pipe (void);
        ACE_Pipe (ACE_HANDLE handles[2]);
        ACE_Pipe (ACE_HANDLE read, ACE_HANDLE write);
        ~ACE_Pipe (void);
        int open (ACE_HANDLE handles[2]);
        int open (void);
        int close (void);
        ACE_HANDLE read_handle (void) const;
        ACE_HANDLE write_handle (void) const;
        void dump (void) const;
      private:
        ACE_HANDLE handles_[2];
    };

## DESCRIPTION

Uses "name" for lookup in the ACE service repository. Obtains the object and returns it as the appropriate type.

## Initialization and termination.

    ACE_Pipe (void);

Default constructor (does nothing...).

    ACE_Pipe (ACE_HANDLE handles[2]);

Open the pipe and initialize the handles.

    ACE_Pipe (ACE_HANDLE read, ACE_HANDLE write);

Initialize the `ACE_Pipe` from the `read` and `write` handles.

    ~ACE_Pipe (void);

Default dtor. It doesn't close the handles for you.

    int open (ACE_HANDLE handles[2]);

Open the pipe and initialize the handles.

    int open (void);

Open the pipe.

    int close (void);

Close down the pipe HANDLEs;

## Accessors.

    ACE_HANDLE read_handle (void) const;

This is the "read" side of the pipe. Note, however, that processes can also write to this handle as well since pipes are bi-directional.

    ACE_HANDLE write_handle (void) const;

This is the "write" side of the pipe. Note, however, that processes can also read to this handle as well since pipes are bi-directional.

    void dump (void) const;

Dump the state of the object.

## AUTHOR

Doug Schmidt

## LIBRARY

ace