summaryrefslogtreecommitdiffstats
path: root/src/uscxml
diff options
context:
space:
mode:
authorStefan Radomski <github@mintwerk.de>2017-05-03 20:42:30 (GMT)
committerStefan Radomski <github@mintwerk.de>2017-05-03 20:42:30 (GMT)
commit4e3d3d466b1a98cb40e05e54067faf7050256ed5 (patch)
tree3213304f245db57ee5b181bf8c807e58d459e98d /src/uscxml
parentd3c26451c60e6f70a65f030f94d16105c0cb4f3a (diff)
downloaduscxml-4e3d3d466b1a98cb40e05e54067faf7050256ed5.zip
uscxml-4e3d3d466b1a98cb40e05e54067faf7050256ed5.tar.gz
uscxml-4e3d3d466b1a98cb40e05e54067faf7050256ed5.tar.bz2
Fixed issue 117
Diffstat (limited to 'src/uscxml')
-rw-r--r--src/uscxml/interpreter/Logging.h2
-rw-r--r--src/uscxml/plugins/datamodel/lua/LuaDataModel.h2
-rw-r--r--src/uscxml/plugins/datamodel/promela/PromelaParser.h4
-rw-r--r--src/uscxml/plugins/datamodel/promela/parser/promela.lex.yy.cpp3
-rw-r--r--src/uscxml/plugins/invoker/dirmon/DirMonInvoker.h2
-rw-r--r--src/uscxml/util/Convenience.h22
-rw-r--r--src/uscxml/util/Predicates.h92
-rw-r--r--src/uscxml/util/String.h16
8 files changed, 94 insertions, 49 deletions
diff --git a/src/uscxml/interpreter/Logging.h b/src/uscxml/interpreter/Logging.h
index 348e9dc..67ec4d4 100644
--- a/src/uscxml/interpreter/Logging.h
+++ b/src/uscxml/interpreter/Logging.h
@@ -50,7 +50,7 @@ class LoggerImpl;
void log(LogSeverity severity, const Event& event);
void log(LogSeverity severity, const Data& data);
-class StreamLogger {
+class USCXML_API StreamLogger {
public:
std::ostream& operator<<(const std::string& message);
~StreamLogger();
diff --git a/src/uscxml/plugins/datamodel/lua/LuaDataModel.h b/src/uscxml/plugins/datamodel/lua/LuaDataModel.h
index ad86872..c64656a 100644
--- a/src/uscxml/plugins/datamodel/lua/LuaDataModel.h
+++ b/src/uscxml/plugins/datamodel/lua/LuaDataModel.h
@@ -47,7 +47,7 @@ namespace uscxml {
* Lua data-model.
*/
-class LuaDataModel : public DataModelImpl {
+class USCXML_API LuaDataModel : public DataModelImpl {
public:
LuaDataModel();
virtual ~LuaDataModel();
diff --git a/src/uscxml/plugins/datamodel/promela/PromelaParser.h b/src/uscxml/plugins/datamodel/promela/PromelaParser.h
index 45ea341..8d8989d 100644
--- a/src/uscxml/plugins/datamodel/promela/PromelaParser.h
+++ b/src/uscxml/plugins/datamodel/promela/PromelaParser.h
@@ -48,7 +48,7 @@ public:
void merge(PromelaParserNode* node);
void push(PromelaParserNode* node);
- void dump(size_t indent = 0);
+ void USCXML_API dump(size_t indent = 0);
static std::string typeToDesc(int type);
@@ -59,7 +59,7 @@ public:
Location* loc;
};
-class PromelaParser {
+class USCXML_API PromelaParser {
public:
enum Type {
PROMELA_EXPR,
diff --git a/src/uscxml/plugins/datamodel/promela/parser/promela.lex.yy.cpp b/src/uscxml/plugins/datamodel/promela/parser/promela.lex.yy.cpp
index 3a99921..1f2fd72 100644
--- a/src/uscxml/plugins/datamodel/promela/parser/promela.lex.yy.cpp
+++ b/src/uscxml/plugins/datamodel/promela/parser/promela.lex.yy.cpp
@@ -1,3 +1,6 @@
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-register"
+
#line 2 "promela.lex.yy.cpp"
#line 4 "promela.lex.yy.cpp"
diff --git a/src/uscxml/plugins/invoker/dirmon/DirMonInvoker.h b/src/uscxml/plugins/invoker/dirmon/DirMonInvoker.h
index 6d9911f..f7dd56f 100644
--- a/src/uscxml/plugins/invoker/dirmon/DirMonInvoker.h
+++ b/src/uscxml/plugins/invoker/dirmon/DirMonInvoker.h
@@ -38,7 +38,7 @@ namespace uscxml {
class DirectoryWatchMonitor;
-class DirectoryWatch {
+class USCXML_API DirectoryWatch {
public:
enum Action {
ADDED = 1,
diff --git a/src/uscxml/util/Convenience.h b/src/uscxml/util/Convenience.h
index c12e0e4..98c4220 100644
--- a/src/uscxml/util/Convenience.h
+++ b/src/uscxml/util/Convenience.h
@@ -29,14 +29,14 @@ namespace uscxml {
inline bool isnan(double x);
// see http://stackoverflow.com/questions/228005/alternative-to-itoa-for-converting-integer-to-string-c
-template <typename T> std::string toStr(T tmp) {
+template <typename T> std::string USCXML_API toStr(T tmp) {
std::ostringstream outSS;
outSS.precision(std::numeric_limits<double>::digits10 + 1);
outSS << tmp;
return outSS.str();
}
-template <typename T> T strTo(std::string tmp) {
+template <typename T> T USCXML_API strTo(std::string tmp) {
T output;
std::istringstream in(tmp);
in >> output;
@@ -50,16 +50,16 @@ public:
std::string unit;
};
-bool isNumeric(const char* pszInput, int nNumberBase);
-bool isInteger( const char* pszInput, int nNumberBase);
-bool iequals(const std::string& a, const std::string& b);
-bool equals(const std::string& a, const std::string& b);
-bool stringIsTrue(const std::string& value);
-bool envVarIsTrue(const char* name);
-bool envVarIEquals(const char* name, const char* value);
+bool USCXML_API isNumeric(const char* pszInput, int nNumberBase);
+bool USCXML_API isInteger( const char* pszInput, int nNumberBase);
+bool USCXML_API iequals(const std::string& a, const std::string& b);
+bool USCXML_API equals(const std::string& a, const std::string& b);
+bool USCXML_API stringIsTrue(const std::string& value);
+bool USCXML_API envVarIsTrue(const char* name);
+bool USCXML_API envVarIEquals(const char* name, const char* value);
-std::string escape(const std::string& a);
-std::string unescape(const std::string& a);
+std::string USCXML_API escape(const std::string& a);
+std::string USCXML_API unescape(const std::string& a);
}
#endif /* end of include guard: CONVENIENCE_H_LU7GZ6CB */
diff --git a/src/uscxml/util/Predicates.h b/src/uscxml/util/Predicates.h
index 6204d6a..22ad581 100644
--- a/src/uscxml/util/Predicates.h
+++ b/src/uscxml/util/Predicates.h
@@ -20,41 +20,81 @@
#ifndef PREDICATES_H_D3A20484
#define PREDICATES_H_D3A20484
+#include "uscxml/Common.h"
+
#include <string>
#include <list>
#include <xercesc/dom/DOM.hpp>
#include "uscxml/util/DOM.h"
#include "uscxml/util/Convenience.h"
+// forward declare
+namespace XERCESC_NS {
+class DOMElement;
+class DOMNode;
+}
+
+
namespace uscxml {
-std::list<XERCESC_NS::DOMElement*> getChildStates(const XERCESC_NS::DOMElement* state, bool properOnly = true);
-std::list<XERCESC_NS::DOMElement*> getChildStates(const std::list<XERCESC_NS::DOMElement*>& states, bool properOnly = true);
-XERCESC_NS::DOMElement* getParentState(const XERCESC_NS::DOMElement* element);
-XERCESC_NS::DOMElement* getSourceState(const XERCESC_NS::DOMElement* transition);
-XERCESC_NS::DOMElement* findLCCA(const std::list<XERCESC_NS::DOMElement*>& states);
-std::list<XERCESC_NS::DOMElement*> getProperAncestors(const XERCESC_NS::DOMElement* s1, const XERCESC_NS::DOMElement* s2);
-
-std::list<XERCESC_NS::DOMElement*> getTargetStates(const XERCESC_NS::DOMElement* transition, const XERCESC_NS::DOMElement* root);
-std::list<XERCESC_NS::DOMElement*> getEffectiveTargetStates(const XERCESC_NS::DOMElement* transition);
-XERCESC_NS::DOMElement* getTransitionDomain(const XERCESC_NS::DOMElement* transition, const XERCESC_NS::DOMElement* root);
-
-bool areFromSameMachine(const XERCESC_NS::DOMNode* n1, const XERCESC_NS::DOMNode* n2);
-
-std::list<XERCESC_NS::DOMElement*> getStates(const std::list<std::string>& stateIds, const XERCESC_NS::DOMElement* root);
-XERCESC_NS::DOMElement* getState(const std::string& stateId, const XERCESC_NS::DOMElement* root);
-std::list<XERCESC_NS::DOMElement*> getInitialStates(const XERCESC_NS::DOMElement* state, const XERCESC_NS::DOMElement* root);
-std::list<XERCESC_NS::DOMElement*> getReachableStates(const XERCESC_NS::DOMElement* root);
-std::list<XERCESC_NS::DOMElement*> getExitSet(const XERCESC_NS::DOMElement* transition, const XERCESC_NS::DOMElement* root);
-bool conflicts(const XERCESC_NS::DOMElement* transition1, const XERCESC_NS::DOMElement* transition2, const XERCESC_NS::DOMElement* root);
-
-bool isState(const XERCESC_NS::DOMElement* state, bool properOnly = true);
-bool isCompound(const XERCESC_NS::DOMElement* state);
-bool isAtomic(const XERCESC_NS::DOMElement* state);
-bool isParallel(const XERCESC_NS::DOMElement* state);
-bool isFinal(const XERCESC_NS::DOMElement* state);
-bool isHistory(const XERCESC_NS::DOMElement* state);
+// see braindead declspec syntax here: https://msdn.microsoft.com/en-us/library/aa273692(v=vs.60).aspx
+
+std::list<XERCESC_NS::DOMElement*> USCXML_API getChildStates(
+ const XERCESC_NS::DOMElement* state,
+ bool properOnly = true);
+
+std::list<XERCESC_NS::DOMElement*> USCXML_API getChildStates(
+ const std::list<XERCESC_NS::DOMElement*>& states,
+ bool properOnly = true);
+
+XERCESC_NS::DOMElement USCXML_API *getParentState(const XERCESC_NS::DOMElement* element);
+XERCESC_NS::DOMElement USCXML_API *getSourceState(const XERCESC_NS::DOMElement* transition);
+XERCESC_NS::DOMElement USCXML_API *findLCCA(const std::list<XERCESC_NS::DOMElement*>& states);
+
+std::list<XERCESC_NS::DOMElement*> USCXML_API getProperAncestors(
+ const XERCESC_NS::DOMElement* s1,
+ const XERCESC_NS::DOMElement* s2);
+
+std::list<XERCESC_NS::DOMElement*> USCXML_API getTargetStates(
+ const XERCESC_NS::DOMElement* transition,
+ const XERCESC_NS::DOMElement* root);
+
+std::list<XERCESC_NS::DOMElement*> USCXML_API getEffectiveTargetStates(const XERCESC_NS::DOMElement* transition);
+
+XERCESC_NS::DOMElement USCXML_API *getTransitionDomain(
+ const XERCESC_NS::DOMElement* transition,
+ const XERCESC_NS::DOMElement* root);
+
+bool USCXML_API areFromSameMachine(const XERCESC_NS::DOMNode* n1,
+ const XERCESC_NS::DOMNode* n2);
+
+std::list<XERCESC_NS::DOMElement*> USCXML_API getStates(
+ const std::list<std::string>& stateIds,
+ const XERCESC_NS::DOMElement* root);
+
+XERCESC_NS::DOMElement USCXML_API *getState(
+ const std::string& stateId,
+ const XERCESC_NS::DOMElement* root);
+
+std::list<XERCESC_NS::DOMElement*> USCXML_API getInitialStates(
+ const XERCESC_NS::DOMElement* state,
+ const XERCESC_NS::DOMElement* root);
+
+std::list<XERCESC_NS::DOMElement*> USCXML_API getReachableStates(const XERCESC_NS::DOMElement* root);
+std::list<XERCESC_NS::DOMElement*> USCXML_API getExitSet(
+ const XERCESC_NS::DOMElement* transition,
+ const XERCESC_NS::DOMElement* root);
+
+bool USCXML_API conflicts(const XERCESC_NS::DOMElement* transition1,
+ const XERCESC_NS::DOMElement* transition2,
+ const XERCESC_NS::DOMElement* root);
+bool USCXML_API isState(const XERCESC_NS::DOMElement* state, bool properOnly = true);
+bool USCXML_API isCompound(const XERCESC_NS::DOMElement* state);
+bool USCXML_API isAtomic(const XERCESC_NS::DOMElement* state);
+bool USCXML_API isParallel(const XERCESC_NS::DOMElement* state);
+bool USCXML_API isFinal(const XERCESC_NS::DOMElement* state);
+bool USCXML_API isHistory(const XERCESC_NS::DOMElement* state);
}
diff --git a/src/uscxml/util/String.h b/src/uscxml/util/String.h
index 974db3b..464fbbd 100644
--- a/src/uscxml/util/String.h
+++ b/src/uscxml/util/String.h
@@ -20,20 +20,22 @@
#ifndef STRING_H_FD462039
#define STRING_H_FD462039
+#include "uscxml/Common.h"
+
#include <string>
#include <list>
namespace uscxml {
-std::string escapeMacro(std::string const &s);
-
-std::string toBinStr(size_t val, size_t margin);
-
-std::list<std::string> tokenize(const std::string &line, const char seperator = ' ', bool trimWhiteSpace = true);
+std::string USCXML_API escapeMacro(std::string const &s);
+std::string USCXML_API toBinStr(size_t val, size_t margin);
-std::string spaceNormalize(const std::string &text);
+std::list<std::string> USCXML_API tokenize(const std::string &line,
+ const char seperator = ' ',
+ bool trimWhiteSpace = true);
-bool nameMatch(const std::string &eventDescs, const std::string &event);
+std::string USCXML_API spaceNormalize(const std::string &text);
+bool USCXML_API nameMatch(const std::string &eventDescs, const std::string &event);
}