|
neic-glass3
1.4.6
|
glass fileOutput class More...
#include <fileOutput.h>


Public Member Functions | |
| fileOutput () | |
| fileOutput constructor More... | |
| fileOutput (const std::shared_ptr< const json::Object > &config) | |
| fileOutput advanced constructor More... | |
| ~fileOutput () | |
| fileOutput destructor More... | |
| bool | setup (std::shared_ptr< const json::Object > config) override |
| fileOutput configuration function More... | |
| void | clear () override |
| fileOutput clear function More... | |
| const std::string | getOutputDir () |
| Function to retrieve the output directory. More... | |
| const std::string | getOutputFormat () |
| Function to retrieve the output format. More... | |
| bool | getTimestampFileName () |
| Get whether to timestamp output file names. More... | |
Public Member Functions inherited from glass3::output::output | |
| output () | |
| output constructor More... | |
| ~output () | |
| output destructor More... | |
| void | sendToOutput (std::shared_ptr< json::Object > message) override |
| output message sending function More... | |
| bool | start () override |
| work thread start function More... | |
| bool | healthCheck () override |
| output heath check function More... | |
| void | setSiteListRequestInterval (int delay) |
| Function to set the interval for requesting the site list. More... | |
| int | getSiteListRequestInterval () |
| Function to retrieve the interval for requesting the site list. More... | |
| void | setReportInterval (int interval) |
| Function to set the interval to generate informational reports. More... | |
| int | getReportInterval () |
| Function to retrieve the interval to generate informational reports. More... | |
| void | setAssociator (glass3::util::iAssociator *associator) |
| Function to set the associator interface pointer. More... | |
| glass3::util::iAssociator * | getAssociator () |
| Function to get the associator interface pointer. More... | |
| void | setPubOnExpiration (bool pub) |
| Function to set the publish on expiration flag. More... | |
| bool | getPubOnExpiration () |
| Function to retrieve the publish on expiration flag. More... | |
| void | setImmediatePubThreshold (double threshold) |
| Function to set the immediate publication threshold. More... | |
| double | getImmediatePubThreshold () |
| Function to retrieve the immediate publication threshold. More... | |
| std::vector< int > | getPubTimes () |
| Function to retrieve the publication times. More... | |
| void | addPubTime (int pubTime) |
| Function to add a single publication time to the list. More... | |
| void | clearPubTimes () |
| Function to clear the publication times. More... | |
| bool | addTrackingData (std::shared_ptr< json::Object > data) |
| add tracking information to the output tracking cache More... | |
| std::shared_ptr< const json::Object > | getTrackingData (std::string id) |
| get tracking information from the output tracking cache by id More... | |
| std::shared_ptr< const json::Object > | getNextTrackingData () |
| get tracking information from the output tracking cache More... | |
| bool | haveTrackingData (std::shared_ptr< json::Object > data) |
| check if tracking information is in output tracking cache More... | |
| bool | haveTrackingData (std::string ID) |
| check if information is in output tracking cache by id More... | |
| bool | removeTrackingData (std::shared_ptr< const json::Object > data) |
| remove tracking information from the output tracking cache More... | |
| bool | removeTrackingData (std::string ID) |
| remove tracking information from the output tracking cache by id More... | |
| void | clearTrackingData () |
| clear output tracking cache More... | |
| bool | isDataReady (std::shared_ptr< const json::Object > data) |
| check to see if tracking information is ready for output More... | |
| bool | isDataChanged (std::shared_ptr< const json::Object > data) |
| check to see if detection data has changed More... | |
| bool | isDataPublished (std::shared_ptr< const json::Object > data, bool ignoreVersion=true) |
| check to see if tracking information has been published More... | |
| bool | isDataFinished (std::shared_ptr< const json::Object > data) |
| check to see if tracking information is finished More... | |
| void | writeOutput (std::shared_ptr< json::Object > data) |
| output writing function More... | |
| glass3::util::WorkState | work () override |
| output background work function More... | |
Public Member Functions inherited from glass3::util::ThreadBaseClass | |
| ThreadBaseClass () | |
| ThreadBaseClass constructor. More... | |
| ThreadBaseClass (std::string threadName, int sleepTimeMS=100, int numThreads=1, int checkInterval=300) | |
| An advanced constructor that sets up the ThreadBaseClass with a provided thread name, sleep between work time duration, number of threads, and statsus check interval. More... | |
| ~ThreadBaseClass () | |
| ThreadBaseClass destructor. More... | |
| virtual bool | stop () |
| work thread stop function More... | |
| int | getNumThreads () |
| Retrieves the number of work threads. More... | |
| void | setNumThreads (int numThreads) |
| Sets the number of work threads. More... | |
| void | setThreadHealth (bool health=true) |
| Function to set thread health. More... | |
| void | setSleepTime (int sleepTimeMS) |
| Sets the time to sleep between work() calls. More... | |
| int | getSleepTime () |
| Retrieves the time to sleep between work() calls. More... | |
| glass3::util::ThreadState | getWorkThreadsState () |
| Function to get the work threads state. More... | |
| void | setHealthCheckInterval (int interval) |
| Function to set work threads health check interval. More... | |
| int | getHealthCheckInterval () |
| Function to retrieve the work threads health check interval. More... | |
| bool | getTerminate () |
| Function to retrieve whether the thread should terminate. More... | |
| const std::string & | getThreadName () |
| Function to retrieve the name of the work threads. More... | |
| std::time_t | getAllLastHealthy (size_t *pThreadId) |
| Function to retrieve the oldest time any of the work threads last updated their health status as healthy. More... | |
Public Member Functions inherited from glass3::util::BaseClass | |
| BaseClass () | |
| BaseClass constructor. More... | |
| virtual | ~BaseClass () |
| BaseClass destructor. More... | |
| const std::shared_ptr< const json::Object > | getConfig () |
| bool | getSetup () |
| Retrieves the class member boolean flag indicating whether the class has been setup, set to true if setup was successful. More... | |
| const std::string & | getDefaultAgencyId () |
| Function to retrieve the name of the default agency id. More... | |
| void | setDefaultAgencyId (const std::string &id) |
| Function to set the name of the default agency id. More... | |
| const std::string & | getDefaultAuthor () |
| Function to retrieve the name of the default author. More... | |
| void | setDefaultAuthor (const std::string &author) |
| Function to set the name of the default author. More... | |
Protected Member Functions | |
| void | sendOutput (const std::string &type, const std::string &id, const std::string &message) override |
| fileOutput file writing function More... | |
Protected Member Functions inherited from glass3::output::output | |
| void | checkEventsLoop () |
| output tracking data background work function More... | |
| virtual void | sendHeartbeat () |
| Send heartbeats. More... | |
Protected Member Functions inherited from glass3::util::ThreadBaseClass | |
| void | setWorkThreadsState (glass3::util::ThreadState state) |
| Function to set threads state. More... | |
| void | workLoop () |
| ThreadBaseClass work loop function. More... | |
| void | setLastHealthy (std::time_t now) |
| Function to set the last time the work thread was healthy. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from glass3::output::output | |
| static constexpr int | k_iMinimumPublicationTime = 10 |
| The minimum time in seconds to publish an event. More... | |
Protected Attributes inherited from glass3::util::ThreadBaseClass | |
| std::vector< std::thread > | m_WorkThreads |
| the std::vector that contains the work std::thread objects More... | |
| std::map< std::thread::id, std::atomic< int > > | m_ThreadHealthMap |
| A std::map containing the epoch times as std::atomic<double>> that each work thread was last marked as healthy, identified by the thread id. More... | |
Protected Attributes inherited from glass3::util::BaseClass | |
| std::shared_ptr< const json::Object > | m_Config |
| A shared pointer to the json::Object that holds the configuration. More... | |
| std::atomic< bool > | m_bIsSetup |
| the boolean flag indicating whether the class has been setup, set to true if setup was successful. More... | |
| std::string | m_DefaultAgencyID |
| A std::string containing the default agency id to use in parsing if one is not provided. More... | |
| std::string | m_DefaultAuthor |
| A std::string containing the default author to use in parsing if one is not provided. More... | |
glass fileOutput class
The glass fileOutput class is a class encapsulating the file output logic. The fileOutput class handles writing messages from glasscore out to disk.
fileOutput inherits from the glass3::output::output class.
| glass3::fileOutput::fileOutput | ( | ) |
fileOutput constructor
The constructor for the fileOutput class. Initializes members to default values.
|
explicit |
fileOutput advanced constructor
The advanced constructor for the fileOutput class. Initializes members to default values. Calls setup to configure the class Starts the work thread
| config | - A json::Object pointer to the configuration to use |
| glass3::fileOutput::~fileOutput | ( | ) |
fileOutput destructor
The destructor for the fileOutput class. Stops the work thread
|
overridevirtual |
fileOutput clear function
The clear function for the fileOutput class. Clears all configuration
Reimplemented from glass3::output::output.
| const std::string glass3::fileOutput::getOutputDir | ( | ) |
Function to retrieve the output directory.
This function retrieves the output directory
| const std::string glass3::fileOutput::getOutputFormat | ( | ) |
Function to retrieve the output format.
This function retrieves the output format
| bool glass3::fileOutput::getTimestampFileName | ( | ) |
Get whether to timestamp output file names.
This function retrieves whether to timestamp output file names
|
overrideprotectedvirtual |
fileOutput file writing function
The function used fileOutput detection data
| type | - A std::string containing the output message type |
| id | - A std::string containing the output message id |
| message | - A std::string containing the output message |
Implements glass3::output::output.
|
overridevirtual |
fileOutput configuration function
The this function configures the fileOutput class, and the tracking cache it contains.
| config | - A pointer to a json::Object containing to the configuration to use |
Reimplemented from glass3::output::output.
1.8.11