winss
|
Classes | |
struct | case_ignore |
A binary function to ignore case when comparing strings. More... | |
class | Control |
Orchestrates control. More... | |
class | ControlItem |
Base class for inbound and outbound control item. More... | |
class | Environment |
Base environment. More... | |
class | EnvironmentDir |
A directory where each file is an environment variable. More... | |
class | EventWrapper |
Wraps a windows event. More... | |
class | FilesystemInterface |
An interface for interacting with the file system. More... | |
class | HandleWrapper |
A wrapper for a Windows HANDLE. More... | |
class | InboundControlItem |
Inbound control item. More... | |
class | InboundControlItemListener |
A listener for inbound control item events. More... | |
class | InboundPipeClientTmpl |
An inbound pipe client. More... | |
class | InboundPipeInstance |
A pipe instance for inbound client/server. More... | |
class | InboundPipeServerTmpl |
An inbound pipe server. More... | |
struct | LogArchiveFile |
An archived log file. More... | |
struct | LogSettings |
Settings for the logger. More... | |
class | LogSettingsParser |
Parser for the log settings. More... | |
class | LogStreamReader |
A stream reader for reading logs. More... | |
class | LogStreamWriter |
A stream writer for writing logs. More... | |
class | LogTmpl |
The logger template. More... | |
class | MapKeyIterator |
An iterator for keys of a map. More... | |
class | MapValueIterator |
An iterator for values of a map. More... | |
class | NotOwningPtr |
A container for pointers where the lifetime should be owned by the caller. More... | |
class | OutboundControlItem |
Outbound control item. More... | |
class | OutboundPipeClientTmpl |
An outbound pipe client. More... | |
class | OutboundPipeInstance |
A pipe instance for outbound client/server. More... | |
class | OutboundPipeServerTmpl |
An outbound pipe server. More... | |
class | PathMutex |
A global mutex where the key is derived from a file path and service name. More... | |
class | PipeClient |
Base named pipe client. More... | |
struct | PipeClientConfig |
Config for a named pipe client. More... | |
class | PipeClientConnectionListener |
A listener for pipe client connection events. More... | |
class | PipeClientReceiveListener |
A listener for pipe client received data events. More... | |
class | PipeClientSendListener |
A listener for pipe client send complete events. More... | |
class | PipeInstance |
The pipe instance which is shared between client and server. More... | |
class | PipeName |
Pipe names are based on file system paths. More... | |
class | PipeServer |
Base named pipe server. More... | |
struct | PipeServerConfig |
Config for a named pipe server. More... | |
class | PipeServerReceiveListener |
A listener for server receiving data from pipe clients. More... | |
class | Process |
Manages the life cycle of a process. More... | |
struct | ProcessParams |
Parameters to start a Windows process. More... | |
struct | ServicePipes |
Holds the STDIN and STDOUT pipes for redirecting. More... | |
class | ServiceProcessTmpl |
A template for a service process. More... | |
class | ServiceTmpl |
A template for a service. More... | |
class | SHA256 |
SHA256 hash function helper. More... | |
class | SuperviseController |
A controller for supervised processes. More... | |
class | SuperviseListener |
The supervisor listener. More... | |
struct | SuperviseState |
The state of the supervisor. More... | |
class | SuperviseStateFile |
Serializes the state file but can also read it as a human-readable message. More... | |
class | SuperviseStateListener |
A supervisor state listener which is race-condition free. More... | |
class | SuperviseTmpl |
The supervisor class template. More... | |
class | SvScanController |
A controller for svscan process. More... | |
class | SvScanTmpl |
The svscan template. More... | |
class | TrustedHandleWrapper |
class | Utils |
Utility functions. More... | |
class | WaitMultiplexer |
A HANDLE wait multiplexer. More... | |
struct | WaitResult |
The wait result for when waiting on handles. More... | |
struct | WaitTimeoutItem |
Holds timeout information such that when a timeout occurs the multiplexer knows how to handle it. More... | |
class | WindowsInterface |
Wraps the windows functions as an interface so that they can be easily mocked and tested. More... | |
Typedefs | |
typedef unsigned char | u_char |
Unsigned char for readability. More... | |
typedef LogTmpl< winss::PathMutex > | Log |
Concrete log implementation. More... | |
template<typename Key , typename Value > | |
using | Map = std::map< Key, Value > |
Use std::map as the map. More... | |
template<typename Key , typename Value > | |
using | MapIterator = typename Map< Key, Value >::iterator |
Use std::map::iterator as the map iterator. More... | |
typedef OutboundPipeClientTmpl< winss::OutboundPipeInstance > | OutboundPipeClient |
A concrete outbound pipe client. More... | |
typedef InboundPipeClientTmpl< winss::InboundPipeInstance > | InboundPipeClient |
A concrete inbound pipe client. More... | |
typedef OutboundPipeServerTmpl< winss::OutboundPipeInstance > | OutboundPipeServer |
Concrete outbound pipe server implementation. More... | |
typedef InboundPipeServerTmpl< winss::InboundPipeInstance > | InboundPipeServer |
Concrete inbound pipe server implementation. More... | |
typedef SuperviseTmpl< winss::PathMutex, winss::Process > | Supervise |
Concrete supervise implementation. More... | |
typedef ServiceTmpl< winss::ServiceProcess > | Service |
Concrete service implementation. More... | |
typedef ServiceProcessTmpl< winss::Process > | ServiceProcess |
Concrete service process implementation. More... | |
typedef SvScanTmpl< winss::Service, winss::PathMutex, winss::Process > | SvScan |
Concrete svscan implementation. More... | |
typedef std::map< std::string, std::string, winss::case_ignore > | env_t |
The environment mapping. More... | |
typedef std::function< void(WaitMultiplexer &)> | Callback |
A callback function for wait multiplexer events. More... | |
typedef std::function< void(WaitMultiplexer &, const winss::HandleWrapper &)> | TriggeredCallback |
A callback function specifically for triggered multiplexer events. More... | |
Enumerations | |
enum | WaitResultState { SUCCESS, TIMEOUT, FAILED } |
The wait result state for when waiting on handles. More... | |
enum | OverlappedResult { REMOVE, CONTINUE, SKIP } |
The result of the overlapped operation. More... | |
enum | SuperviseStateListenerAction { NO_WAIT, WAIT_UP, WAIT_DOWN, WAIT_FINISHED, WAIT_RESTART } |
The actions which the listener can wait for. More... | |
enum | SuperviseNotification { UNKNOWN, START, RUN, END, BROKEN, FINISHED, EXIT } |
The supervisor events which can occur. More... | |
Functions | |
winss::EventWrapper & | GetCloseEvent () |
Gets a global close event. More... | |
BOOL WINAPI | CtrlHandler (DWORD ctrlType) |
The CTRL handler. More... | |
void | AttachCtrlHandler () |
Attaches the CTRL handler to the event. More... | |
template<class T > | |
NotOwningPtr< T > | NotOwned (T *p) |
Helper method to make it easier to create a not owned pointer. More... | |
typedef std::function<void(WaitMultiplexer&)> winss::Callback |
A callback function for wait multiplexer events.
typedef std::map<std::string, std::string, winss::case_ignore> winss::env_t |
The environment mapping.
A concrete inbound pipe client.
Concrete inbound pipe server implementation.
typedef LogTmpl<winss::PathMutex> winss::Log |
Concrete log implementation.
using winss::Map = typedef std::map<Key, Value> |
Use std::map as the map.
Key | The type of map key. |
Value | The type of map value. |
using winss::MapIterator = typedef typename Map<Key, Value>::iterator |
Use std::map::iterator as the map iterator.
Key | The type of map key. |
Value | The type of map value. |
A concrete outbound pipe client.
Concrete outbound pipe server implementation.
Concrete service implementation.
Concrete service process implementation.
Concrete supervise implementation.
Concrete svscan implementation.
typedef std::function<void(WaitMultiplexer&, const winss::HandleWrapper&)> winss::TriggeredCallback |
A callback function specifically for triggered multiplexer events.
typedef unsigned char winss::u_char |
Unsigned char for readability.
void winss::AttachCtrlHandler | ( | ) |
Attaches the CTRL handler to the event.
References CtrlHandler(), and WINDOWS.
BOOL WINAPI winss::CtrlHandler | ( | DWORD | ctrlType | ) |
The CTRL handler.
References GetCloseEvent(), and winss::EventWrapper::Set().
Referenced by AttachCtrlHandler().
winss::EventWrapper & winss::GetCloseEvent | ( | ) |
Gets a global close event.
Referenced by CtrlHandler().
NotOwningPtr<T> winss::NotOwned | ( | T * | p | ) |
Helper method to make it easier to create a not owned pointer.
T | The type of pointer which is not owned. |
[in] | p | The object pointer. |
Referenced by winss::InboundControlItem::InboundControlItem(), winss::OutboundControlItem::OutboundControlItem(), winss::SuperviseController::SuperviseController(), and winss::SvScanController::SvScanController().