@@ -11,7 +11,21 @@ using namespace dds::net::connector;
1111
1212
1313void wait_for_exit_key ();
14- void circle_values_consumer (std::string& variableName, double variableValue);
14+
15+ void circle_values_consumer (string& variableName, double variableValue);
16+
17+ string test_string_producer (string& variableName);
18+ bool test_boolean_producer (string& variableName);
19+ char test_byte_producer (string& variableName);
20+ short test_word_producer (string& variableName);
21+ long test_dword_producer (string& variableName);
22+ long long test_qword_producer (string& variableName);
23+ unsigned char test_unsigned_byte_producer (string& variableName);
24+ unsigned short test_unsigned_word_producer (string& variableName);
25+ unsigned long test_unsigned_dword_producer (string& variableName);
26+ unsigned long long test_unsigned_qword_producer (string& variableName);
27+ float test_single_producer (string& variableName);
28+ double test_double_producer (string& variableName);
1529
1630
1731int main ()
@@ -34,6 +48,19 @@ int main()
3448 connector.registerDoubleConsumer (" Circle-X" , circle_values_consumer, ON_CHANGE);
3549 connector.registerDoubleConsumer (" Circle-Y" , circle_values_consumer, ON_CHANGE);
3650
51+ connector.registerStringProvider (" Test-String" , test_string_producer, ON_CHANGE);
52+ connector.registerBooleanProvider (" Test-Boolean" , test_boolean_producer, ON_CHANGE);
53+ connector.registerByteProvider (" Test-Byte" , test_byte_producer, ON_CHANGE);
54+ connector.registerWordProvider (" Test-Word" , test_word_producer, ON_CHANGE);
55+ connector.registerDWordProvider (" Test-DWord" , test_dword_producer, ON_CHANGE);
56+ connector.registerQWordProvider (" Test-QWord" , test_qword_producer, ON_CHANGE);
57+ connector.registerUnsignedByteProvider (" Test-UnsignedByte" , test_unsigned_byte_producer, ON_CHANGE);
58+ connector.registerUnsignedWordProvider (" Test-UnsignedWord" , test_unsigned_word_producer, ON_CHANGE);
59+ connector.registerUnsignedDWordProvider (" Test-UnsignedDWord" , test_unsigned_dword_producer, ON_CHANGE);
60+ connector.registerUnsignedQWordProvider (" Test-UnsignedQWord" , test_unsigned_qword_producer, ON_CHANGE);
61+ connector.registerSingleProvider (" Test-Single" , test_single_producer, ON_CHANGE);
62+ connector.registerDoubleProvider (" Test-Double" , test_double_producer, ON_CHANGE);
63+
3764 connector.start ();
3865
3966 wait_for_exit_key ();
@@ -49,16 +76,18 @@ int main()
4976}
5077
5178
79+
5280void wait_for_exit_key ()
5381{
5482 char ch;
5583 while ((ch = getc (stdin)) != ' C' );
5684}
5785
5886
87+
5988static double x, y;
6089
61- void circle_values_consumer (std:: string& variableName, double variableValue)
90+ void circle_values_consumer (string& variableName, double variableValue)
6291{
6392 if (variableName == " Circle-X" )
6493 {
@@ -72,3 +101,71 @@ void circle_values_consumer(std::string& variableName, double variableValue)
72101 }
73102}
74103
104+
105+
106+ bool test_boolean = false ;
107+ double test_value = -100.5 ;
108+
109+ string test_string_producer (string& variableName)
110+ {
111+ string s = " Test Value = " ;
112+ s += to_string (test_value);
113+ return s;
114+ }
115+ bool test_boolean_producer (string& variableName)
116+ {
117+ test_boolean != test_boolean;
118+ return test_boolean;
119+ }
120+ char test_byte_producer (string& variableName)
121+ {
122+ return (char )test_value;
123+ }
124+ short test_word_producer (string& variableName)
125+ {
126+ return (short )test_value;
127+ }
128+ long test_dword_producer (string& variableName)
129+ {
130+ return (long )test_value;
131+ }
132+ long long test_qword_producer (string& variableName)
133+ {
134+ return (long long )test_value;
135+ }
136+ unsigned char test_unsigned_byte_producer (string& variableName)
137+ {
138+ return (unsigned char )test_value;
139+ }
140+ unsigned short test_unsigned_word_producer (string& variableName)
141+ {
142+ return (unsigned short )test_value;
143+ }
144+ unsigned long test_unsigned_dword_producer (string& variableName)
145+ {
146+ return (unsigned long )test_value;
147+ }
148+ unsigned long long test_unsigned_qword_producer (string& variableName)
149+ {
150+ return (unsigned long long )test_value;
151+ }
152+ float test_single_producer (string& variableName)
153+ {
154+ return (float )test_value;
155+ }
156+ double test_double_producer (string& variableName)
157+ {
158+ if (test_value <= -100.0 )
159+ {
160+ test_value = 100.5 ;
161+ }
162+ else
163+ {
164+ test_value = -100.5 ;
165+ }
166+
167+ return test_value;
168+ }
169+
170+
171+
0 commit comments