|
ICP
1
|
#include "stdafx.h"#include "DAEstatus.h"#include "icputils.h"#include "Poco/StreamCopier.h"#include "Poco/Path.h"#include "Poco/URI.h"#include "Poco/Exception.h"#include "Poco/Net/HTTPClientSession.h"#include "Poco/Net/HTTPRequest.h"#include "Poco/Net/HTTPResponse.h"#include "Poco/Net/HTMLForm.h"#include "Poco/Net/SMTPClientSession.h"#include "Poco/Net/MailMessage.h"#include "Poco/Net/MailRecipient.h"#include "Poco/Net/StringPartSource.h"#include "Poco/StringTokenizer.h"Go to the source code of this file.
Classes | |
| struct | MyOverlapped |
| struct | my_overlap_t |
| class | DebuggerChannel |
| class | ICPFileChannel |
| class | TestChannel |
| struct | my_SECURITY_ATTRIBUTES |
Functions | |
| std::string | convertLatin1ToUTF8 (const std::string &latin_string) |
| convert ISO Latin-1 (8859-1) to UTF-8 More... | |
| std::string | convertWindows1252ToUTF8 (const std::string &win_string) |
| std::string | unescapeXML (const char *xml_str) |
| std::string | escapeXML (const char *xml_str) |
| void | AddEventSource (PCTSTR pszName, PCTSTR pszMessageFile, DWORD dwCategoryCount) |
| int | md5sumFile (const char *filename, unsigned char *md5sum, DAEstatus &status) |
| int | md5sumString (const void *buffer, int len, unsigned char *md5sum, DAEstatus &status) |
| bool | compareChecksums (const unsigned char *md5sum1, const unsigned char *md5sum2) |
| int | updateChecksum (unsigned char *md5sum1, const unsigned char *md5sum2) |
| int | parseSpectraRange (const std::string &spec_range, int &spec_from, int &spec_to) |
| std::string | checksumAsString (md5checksum_t checksum) |
| static void | my_overlap (void *arg) |
| void | my_io_complete (void *arg) |
| HANDLE | createAppendFile (const char *filename) |
| void | appendToFileAsync (HANDLE h, const char *message, bool close_after_write) |
| void | appendToFileAsync (const char *filename, const char *message) |
| int | findFiles (const char *directory, const char *pattern, std::vector< std::string > &list, bool full_path) |
| static int | sendSMSMain (const std::string &phone, const std::string &message, DAEstatus &status) |
| int | sendSMS (const std::string &phone, const std::string &message, DAEstatus &status) |
| int | sendEmail (const std::string &sender, const std::string &recipient, const std::string &subject, const std::string &content, DAEstatus &status) |
| double | diffFileTimesInMilliSec (const FILETIME &start, const FILETIME &finish) |
| finish - start in milliseconds More... | |
| LONGLONG | diffFileTimes (const FILETIME &start, const FILETIME &finish) |
| finish - start, returned in 100ns units More... | |
| off_t | file_size_bytes (const std::string &filename) |
| return size of a file in bytes More... | |
| template<typename T > | |
| void | findConsecutive (const std::vector< T > &vec, T invalid_val, std::vector< int > &indexes, std::vector< int > &sizes) |
| return an array of indices containing the start points of consecutive sequences of numbers More... | |
| int | compareBuffers (const std::string &title, const isisU32_t *buffer1, const isisU32_t *buffer2, int nbuffer, DAEstatus &status) |
| template void | findConsecutive (const std::vector< int > &vec, int invalid_val, std::vector< int > &indexes, std::vector< int > &sizes) |
| void | registerExtraLoggerChannels () |
| void | setICPChannelReporter (DAEreport_func_t *report_func, void *report_arg) |
| void | getConfigStringList (std::vector< std::string > &string_list, const std::string &config_item) |
| read a ; separated list of items from a properties file and return the items as a vector<string> More... | |
| void | getConfigIntList (std::vector< int > &int_list, const std::string &config_item) |
| read a ; separated list of items from a properties file and return the items as a vector<int> More... | |
| int | loadAppConfig (const std::string &app_name) |
| load a config file from ../../.. i.e. from c:/labview modules/dae if we are in c:/labview modules/dae/service/x64/release More... | |
| static int | flushed_write (const std::vector< std::string > &files, const std::vector< const void * > &data, const std::vector< int > &nbytes) |
| int | flushed_write (const std::string &file, const void *data, int nbytes) |
| HANDLE | createEmptyFile (const std::string &file_name, size_t file_size) |
| static void | deviceNameToDriveLetter (TCHAR *pszFilename) |
| std::string | fileNameFromMappedView (void *pMem) |
| int64_t | fileSizeBytes (const std::string &filename) |
| int | createEmptyFileAndClose (const std::string &file_name, size_t file_size) |
| void | printComputerMemoryStats (DAEstatus &status) |
| int | removeWithRetry (const char *filename) |
| return 0 on success, else error More... | |
| void | pollUntilTasksComplete (const Poco::TaskManager &tm, int poll_time_in_ms) |
| SECURITY_ATTRIBUTES * | defaultNoInheritHandles () |
Variables | |
| Poco::SingletonHolder< ICPClock > | g_icp_clock |
| static const char * | escape_sequence [] = { """, "'" } |
| static const int | escape_length [] = { 6, 6 } |
| static const char * | escape_replace [] = { "\"", "\'" } |
| static HANDLE | file_complete = NULL |
| static Poco::Mutex | atomic_mutex_impl |
| Poco::Mutex * | atomic_mutex = &atomic_mutex_impl |
| static my_SECURITY_ATTRIBUTES | my_security_attributes |
| void AddEventSource | ( | PCTSTR | pszName, |
| PCTSTR | pszMessageFile, | ||
| DWORD | dwCategoryCount | ||
| ) |
Definition at line 206 of file icputils.cpp.
| void appendToFileAsync | ( | HANDLE | h, |
| const char * | message, | ||
| bool | close_after_write | ||
| ) |
Definition at line 441 of file icputils.cpp.
References my_overlap_t::data, and my_overlap().
Referenced by appendToFileAsync(), ISISinstrumentControl::debugReportFunction(), ISISinstrumentControl::logEvent(), se_log_values(), se_set_block_values(), ISISinstrumentControl::updateICPTimeDiffLog(), ISISinstrumentControl::updateMonitoringLog(), and ISISinstrumentControl::updateStatusLog().
| void appendToFileAsync | ( | const char * | filename, |
| const char * | message | ||
| ) |
Definition at line 463 of file icputils.cpp.
References appendToFileAsync(), and createAppendFile().
| std::string checksumAsString | ( | md5checksum_t | checksum | ) |
Definition at line 354 of file icputils.cpp.
Referenced by DetectorCard< DetCardPolicy >::printStatus().
| int compareBuffers | ( | const std::string & | title, |
| const isisU32_t * | buffer1, | ||
| const isisU32_t * | buffer2, | ||
| int | nbuffer, | ||
| DAEstatus & | status | ||
| ) |
Definition at line 748 of file icputils.cpp.
References DAEstatus::addInfoVa(), FAC_DAE, and findConsecutive().
Referenced by ISISDAE::readAllDAE1Spectra().
| bool compareChecksums | ( | const unsigned char * | md5sum1, |
| const unsigned char * | md5sum2 | ||
| ) |
Definition at line 313 of file icputils.cpp.
Referenced by RUNTABLE::hasFileChanged(), ISISinstrumentControl::readDataDaeTable(), ISISinstrumentControl::readDetectorTable(), ISISinstrumentControl::readSpectraTable(), ISISinstrumentControl::readWiringTable(), ISISinstrumentControl::updateDAEsettingsXML(), and ISISinstrumentControl::updateTCBXML().
| std::string convertLatin1ToUTF8 | ( | const std::string & | latin_string | ) |
convert ISO Latin-1 (8859-1) to UTF-8
Definition at line 8 of file icputils.cpp.
| std::string convertWindows1252ToUTF8 | ( | const std::string & | win_string | ) |
Definition at line 18 of file icputils.cpp.
Referenced by ISISinstrumentControl::writeJournal().
| HANDLE createAppendFile | ( | const char * | filename | ) |
Definition at line 424 of file icputils.cpp.
References defaultNoInheritHandles(), and my_io_complete().
Referenced by appendToFileAsync().
| HANDLE createEmptyFile | ( | const std::string & | file_name, |
| size_t | file_size | ||
| ) |
create an empty file and return a handle to it return INVALID_HANDLE_VALUE on error
Definition at line 963 of file icputils.cpp.
References defaultNoInheritHandles().
Referenced by createEmptyFileAndClose(), and CRPTProxy::createFrom().
| int createEmptyFileAndClose | ( | const std::string & | file_name, |
| size_t | file_size | ||
| ) |
Definition at line 1061 of file icputils.cpp.
References createEmptyFile(), DAEstatus::Failure, and DAEstatus::Success.
| SECURITY_ATTRIBUTES* defaultNoInheritHandles | ( | ) |
Definition at line 1121 of file icputils.cpp.
References my_security_attributes.
Referenced by IXNeXusFile::addLog(), createAppendFile(), createEmptyFile(), ISISCRPT_DATA::load(), CRPTProxy::loadCRPT(), ISISCRPT_DATA::loadOrCreate(), CRPTProxy::loadOrCreateCRPT(), and ISISinstrumentControl::writeJournal().
|
static |
Definition at line 986 of file icputils.cpp.
Referenced by fileNameFromMappedView().
| LONGLONG diffFileTimes | ( | const FILETIME & | start, |
| const FILETIME & | finish | ||
| ) |
finish - start, returned in 100ns units
Definition at line 630 of file icputils.cpp.
Referenced by diffFileTimesInMilliSec(), and EnvPeriodCard< EnvPeriodPolicy >::frameTimerDrift().
| double diffFileTimesInMilliSec | ( | const FILETIME & | start, |
| const FILETIME & | finish | ||
| ) |
finish - start in milliseconds
Definition at line 624 of file icputils.cpp.
References diffFileTimes().
Referenced by ISISinstrumentControl::ISISinstrumentControl(), and ISISinstrumentControl::updateICPTimeDiffLog().
| std::string escapeXML | ( | const char * | xml_str | ) |
Definition at line 118 of file icputils.cpp.
| off_t file_size_bytes | ( | const std::string & | filename | ) |
return size of a file in bytes
Definition at line 648 of file icputils.cpp.
| std::string fileNameFromMappedView | ( | void * | pMem | ) |
Definition at line 1033 of file icputils.cpp.
References deviceNameToDriveLetter().
Referenced by ISISCRPT_DATA::map().
| int64_t fileSizeBytes | ( | const std::string & | filename | ) |
Definition at line 1049 of file icputils.cpp.
Referenced by ISISCRPT_DATA::map().
| void findConsecutive | ( | const std::vector< T > & | vec, |
| T | invalid_val, | ||
| std::vector< int > & | indexes, | ||
| std::vector< int > & | sizes | ||
| ) |
return an array of indices containing the start points of consecutive sequences of numbers
Definition at line 664 of file icputils.cpp.
Referenced by compareBuffers(), DetectorCard< DetCardPolicy >::readAllDAE1Spectra(), and DetectorCard< DetCardPolicy >::readDAE1Spectra().
| template void findConsecutive | ( | const std::vector< int > & | vec, |
| int | invalid_val, | ||
| std::vector< int > & | indexes, | ||
| std::vector< int > & | sizes | ||
| ) |
| int findFiles | ( | const char * | directory, |
| const char * | pattern, | ||
| std::vector< std::string > & | list, | ||
| bool | full_path | ||
| ) |
Definition at line 477 of file icputils.cpp.
Referenced by NeXusWriter::addMissingMuonLogs(), ISISinstrumentControl::writeJournal(), and NeXusWriter::writeMuonFile().
|
static |
Definition at line 910 of file icputils.cpp.
Referenced by flushed_write().
| int flushed_write | ( | const std::string & | file, |
| const void * | data, | ||
| int | nbytes | ||
| ) |
Definition at line 950 of file icputils.cpp.
References flushed_write().
| void getConfigIntList | ( | std::vector< int > & | int_list, |
| const std::string & | config_item | ||
| ) |
read a ; separated list of items from a properties file and return the items as a vector<int>
Definition at line 854 of file icputils.cpp.
References getConfigStringList().
| void getConfigStringList | ( | std::vector< std::string > & | string_list, |
| const std::string & | config_item | ||
| ) |
read a ; separated list of items from a properties file and return the items as a vector<string>
Definition at line 845 of file icputils.cpp.
Referenced by getConfigIntList().
| int loadAppConfig | ( | const std::string & | app_name | ) |
load a config file from ../../.. i.e. from c:/labview modules/dae if we are in c:/labview modules/dae/service/x64/release
Definition at line 866 of file icputils.cpp.
References the_app.
Referenced by EventsToolApp::main().
| int md5sumFile | ( | const char * | filename, |
| unsigned char * | md5sum, | ||
| DAEstatus & | status | ||
| ) |
Definition at line 253 of file icputils.cpp.
References DAEstatus::Failure, md5sumString(), and DAEstatus::result().
Referenced by RUNTABLE::hasFileChanged(), ISISinstrumentControl::readDataDaeTable(), ISISinstrumentControl::readDetectorTable(), ISISinstrumentControl::readSpectraTable(), ISISinstrumentControl::readWiringTable(), and ISISinstrumentControl::tcbcalc().
| int md5sumString | ( | const void * | buffer, |
| int | len, | ||
| unsigned char * | md5sum, | ||
| DAEstatus & | status | ||
| ) |
Definition at line 277 of file icputils.cpp.
References DAEstatus::add(), ERRTYPE_OUTOFMEM, FAC_DAE, DAEstatus::Failure, MD5Final(), MD5Init(), MD5Update(), SEV_ERROR, and DAEstatus::Success.
Referenced by md5sumFile(), DetectorCard< DetCardPolicy >::printStatus(), ISISinstrumentControl::updateDAEsettingsXML(), and ISISinstrumentControl::updateTCBXML().
| void my_io_complete | ( | void * | arg | ) |
Definition at line 410 of file icputils.cpp.
References MyOverlapped::arg, and MyOverlapped::func.
Referenced by createAppendFile().
|
static |
Definition at line 402 of file icputils.cpp.
Referenced by appendToFileAsync().
| int parseSpectraRange | ( | const std::string & | spec_range, |
| int & | spec_from, | ||
| int & | spec_to | ||
| ) |
Definition at line 338 of file icputils.cpp.
References DAEstatus::Failure, and DAEstatus::Success.
Referenced by ISISinstrumentControl::getIntArrayItem(), ISISCRPT_STRUCT::getIntArrayItem(), and ISISCRPT_STRUCT::getIntArrayItemSize().
| void pollUntilTasksComplete | ( | const Poco::TaskManager & | tm, |
| int | poll_time_in_ms | ||
| ) |
Definition at line 1100 of file icputils.cpp.
Referenced by ISISDAE::clearHistogramMemory(), and ISISDAE::readAllDAE1Spectra().
| void printComputerMemoryStats | ( | DAEstatus & | status | ) |
Definition at line 1072 of file icputils.cpp.
References DAEstatus::addInfoVa(), and FAC_DAE.
Referenced by ISISinstrumentControl::ISISinstrumentControl().
| void registerExtraLoggerChannels | ( | ) |
Definition at line 830 of file icputils.cpp.
| int removeWithRetry | ( | const char * | filename | ) |
return 0 on success, else error
Definition at line 1090 of file icputils.cpp.
| int sendEmail | ( | const std::string & | sender, |
| const std::string & | recipient, | ||
| const std::string & | subject, | ||
| const std::string & | content, | ||
| DAEstatus & | status | ||
| ) |
Definition at line 582 of file icputils.cpp.
References DAEstatus::add(), DAEstatus::addInfoVa(), ERRTYPE_OUTOFMEM, FAC_DAE, and SEV_ERROR.
Referenced by ISISinstrumentControl::checkForNoncountingDetectors(), and ISISinstrumentControl::updateFunc().
| int sendSMS | ( | const std::string & | phone, |
| const std::string & | message, | ||
| DAEstatus & | status | ||
| ) |
Definition at line 569 of file icputils.cpp.
References DAEstatus::addInfoVa(), FAC_DAE, and sendSMSMain().
Referenced by ISISinstrumentControl::updateFunc().
|
static |
Definition at line 531 of file icputils.cpp.
References DAEstatus::add(), DAEstatus::addInfo(), ERRTYPE_OUTOFMEM, FAC_DAE, and SEV_ERROR.
Referenced by sendSMS().
| void setICPChannelReporter | ( | DAEreport_func_t * | report_func, |
| void * | report_arg | ||
| ) |
Definition at line 839 of file icputils.cpp.
References ICPFileChannel::setReporter().
| std::string unescapeXML | ( | const char * | xml_str | ) |
Definition at line 72 of file icputils.cpp.
References escape_sequence.
| int updateChecksum | ( | unsigned char * | md5sum1, |
| const unsigned char * | md5sum2 | ||
| ) |
Definition at line 331 of file icputils.cpp.
References DAEstatus::Success.
Referenced by ISISinstrumentControl::updateDAEsettingsXML(), and ISISinstrumentControl::updateTCBXML().
| Poco::Mutex* atomic_mutex = &atomic_mutex_impl |
Definition at line 778 of file icputils.cpp.
|
static |
Definition at line 777 of file icputils.cpp.
|
static |
Definition at line 69 of file icputils.cpp.
|
static |
Definition at line 70 of file icputils.cpp.
|
static |
Definition at line 68 of file icputils.cpp.
Referenced by unescapeXML().
|
static |
Definition at line 408 of file icputils.cpp.
| Poco::SingletonHolder<ICPClock> g_icp_clock |
Definition at line 5 of file icputils.cpp.
Referenced by ISISinstrumentControl::beginRunMainEx(), EnvPeriodCard< EnvPeriodPolicy >::frameTimerDrift(), ISISCRPT_STRUCT::ISISCRPT_STRUCT(), ISISinstrumentControl::ISISinstrumentControl(), EnvPeriodCard< EnvPeriodPolicy >::syncFrameTimer(), and ISISinstrumentControl::updateICPTimeDiffLog().
|
static |
Definition at line 1119 of file icputils.cpp.
Referenced by defaultNoInheritHandles().
1.8.5