NOTE: This is a work in progress.
This provides an easier way to create a monitor on a channel than to use pvAccessCPP itself. It provides two main ways to create a monitor:
static PvaClientMonitorPtr create( PvaClientMonitorPtr const &PvaClientMonitor, PvaClientMonitorChannelPtr const & PvaClientMonitorChannel, epics::pvData::PVStructurePtr const &pvRequest ); where PvaClientMonitor The PvaClientMonitor. PvaClientMonitorChannel The PvaClientMonitorChannel that has already been created by the client. pvRequest The pvRequest for creating the monitor.With this method the monitor is created and started. This method blocks while the monitor is created.
static PvaClientMonitorPtr create( PvaClientMonitorPtr const &PvaClientMonitor, std::string const & channelName, std::string const & providerName, std::string const & request, PvaClientMonitorChannelStateChangeRequesterPtr const & stateChangeRequester, PvaClientMonitorRequesterPtr const & monitorRequester ); where PvaClientMonitor The PvaClientMonitor. channelName The name of the channel. providerName The name of the provider request The request for creating the monitor stateChangeRequester The client supplied state change requester. This will be called each time a state change for the channel occurs. monitorRequester The client supplied monitor requester. This is called each time a new monitor event is available.With this method a pvaChannel is created and after it connects a pvaMonitor is created and started. This method never blocks.