3
3
4
4
#include " ProtocolHandler.hpp"
5
5
#include " ../../CukeEngine.hpp"
6
+
7
+ #include " cucumber-cpp_export.h"
8
+
6
9
#include < boost/shared_ptr.hpp>
7
10
8
11
namespace cucumber {
@@ -14,7 +17,7 @@ namespace internal {
14
17
15
18
class WireResponseVisitor ;
16
19
17
- class WireResponse {
20
+ class CUCUMBER_CPP_EXPORT WireResponse {
18
21
public:
19
22
WireResponse () {};
20
23
@@ -23,12 +26,12 @@ class WireResponse {
23
26
virtual ~WireResponse () {};
24
27
};
25
28
26
- class SuccessResponse : public WireResponse {
29
+ class CUCUMBER_CPP_EXPORT SuccessResponse : public WireResponse {
27
30
public:
28
31
void accept (WireResponseVisitor& visitor) const ;
29
32
};
30
33
31
- class FailureResponse : public WireResponse {
34
+ class CUCUMBER_CPP_EXPORT FailureResponse : public WireResponse {
32
35
private:
33
36
const std::string message, exceptionType;
34
37
@@ -41,7 +44,7 @@ class FailureResponse : public WireResponse {
41
44
void accept (WireResponseVisitor& visitor) const ;
42
45
};
43
46
44
- class PendingResponse : public WireResponse {
47
+ class CUCUMBER_CPP_EXPORT PendingResponse : public WireResponse {
45
48
private:
46
49
const std::string message;
47
50
@@ -53,7 +56,7 @@ class PendingResponse : public WireResponse {
53
56
void accept (WireResponseVisitor& visitor) const ;
54
57
};
55
58
56
- class StepMatchesResponse : public WireResponse {
59
+ class CUCUMBER_CPP_EXPORT StepMatchesResponse : public WireResponse {
57
60
private:
58
61
const std::vector<StepMatch> matchingSteps;
59
62
@@ -64,7 +67,7 @@ class StepMatchesResponse : public WireResponse {
64
67
void accept (WireResponseVisitor& visitor) const ;
65
68
};
66
69
67
- class SnippetTextResponse : public WireResponse {
70
+ class CUCUMBER_CPP_EXPORT SnippetTextResponse : public WireResponse {
68
71
private:
69
72
const std::string stepSnippet;
70
73
@@ -76,7 +79,7 @@ class SnippetTextResponse : public WireResponse {
76
79
void accept (WireResponseVisitor& visitor) const ;
77
80
};
78
81
79
- class WireResponseVisitor {
82
+ class CUCUMBER_CPP_EXPORT WireResponseVisitor {
80
83
public:
81
84
virtual void visit (const SuccessResponse& response) = 0;
82
85
virtual void visit (const FailureResponse& response) = 0;
@@ -91,7 +94,7 @@ class WireResponseVisitor {
91
94
/* *
92
95
* Wire protocol request command.
93
96
*/
94
- class WireCommand {
97
+ class CUCUMBER_CPP_EXPORT WireCommand {
95
98
public:
96
99
/* *
97
100
* Runs the command on the provided engine
@@ -105,7 +108,7 @@ class WireCommand {
105
108
virtual ~WireCommand () {};
106
109
};
107
110
108
- class WireMessageCodecException : public std ::exception {
111
+ class CUCUMBER_CPP_EXPORT WireMessageCodecException : public std::exception {
109
112
private:
110
113
const char *description;
111
114
@@ -123,7 +126,7 @@ class WireMessageCodecException : public std::exception {
123
126
/* *
124
127
* Transforms wire messages into commands and responses to messages.
125
128
*/
126
- class WireMessageCodec {
129
+ class CUCUMBER_CPP_EXPORT WireMessageCodec {
127
130
public:
128
131
/* *
129
132
* Decodes a wire message into a command.
@@ -151,7 +154,7 @@ class WireMessageCodec {
151
154
/* *
152
155
* WireMessageCodec implementation with JsonSpirit.
153
156
*/
154
- class JsonSpiritWireMessageCodec : public WireMessageCodec {
157
+ class CUCUMBER_CPP_EXPORT JsonSpiritWireMessageCodec : public WireMessageCodec {
155
158
public:
156
159
JsonSpiritWireMessageCodec ();
157
160
boost::shared_ptr<WireCommand> decode (const std::string &request) const ;
@@ -162,7 +165,7 @@ class JsonSpiritWireMessageCodec : public WireMessageCodec {
162
165
* Wire protocol handler, delegating JSON encoding and decoding to a
163
166
* codec object and running commands on a provided engine instance.
164
167
*/
165
- class WireProtocolHandler : public ProtocolHandler {
168
+ class CUCUMBER_CPP_EXPORT WireProtocolHandler : public ProtocolHandler {
166
169
private:
167
170
const WireMessageCodec& codec;
168
171
CukeEngine& engine;
0 commit comments