Skip to content
This repository was archived by the owner on May 4, 2024. It is now read-only.

Commit f4bdfc1

Browse files
committed
reformatted and added more embedded wrappers.
1 parent dd14085 commit f4bdfc1

File tree

141 files changed

+16638
-16424
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

141 files changed

+16638
-16424
lines changed

.clang-format

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ BasedOnStyle: Google
22
Language: Cpp
33
Standard: c++17
44
ColumnLimit: 100
5-
NamespaceIndentation: 2
5+
NamespaceIndentation: All
66
AccessModifierOffset: -2
77
AllowShortBlocksOnASingleLine: false
88
AllowShortLoopsOnASingleLine: false

src/adapter/adapter.hpp

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,28 +21,29 @@
2121
#include "source.hpp"
2222

2323
namespace mtconnect {
24-
namespace adapter {
25-
class Adapter : public Source
26-
{
27-
public:
28-
Adapter(const std::string &name, const ConfigOptions &options) : Source(name), m_options(options)
29-
{}
30-
virtual ~Adapter() {}
24+
namespace adapter {
25+
class Adapter : public Source
26+
{
27+
public:
28+
Adapter(const std::string &name, const ConfigOptions &options)
29+
: Source(name), m_options(options)
30+
{}
31+
virtual ~Adapter() {}
3132

32-
virtual const std::string &getHost() const = 0;
33-
virtual const std::string &getUrl() const { return m_url; }
34-
virtual const std::string &getIdentity() const { return m_identity; }
35-
virtual unsigned int getPort() const = 0;
36-
virtual const ConfigOptions &getOptions() const { return m_options; }
33+
virtual const std::string &getHost() const = 0;
34+
virtual const std::string &getUrl() const { return m_url; }
35+
virtual const std::string &getIdentity() const { return m_identity; }
36+
virtual unsigned int getPort() const = 0;
37+
virtual const ConfigOptions &getOptions() const { return m_options; }
3738

38-
protected:
39-
std::string m_name;
40-
std::string m_identity;
41-
std::string m_url;
42-
std::unique_ptr<Handler> m_handler;
43-
ConfigOptions m_options;
44-
};
39+
protected:
40+
std::string m_name;
41+
std::string m_identity;
42+
std::string m_url;
43+
std::unique_ptr<Handler> m_handler;
44+
ConfigOptions m_options;
45+
};
4546

46-
using AdapterPtr = std::shared_ptr<Adapter>;
47-
} // namespace adapter
47+
using AdapterPtr = std::shared_ptr<Adapter>;
48+
} // namespace adapter
4849
} // namespace mtconnect

src/adapter/adapter_pipeline.cpp

Lines changed: 108 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -27,119 +27,120 @@
2727
#include "pipeline/duplicate_filter.hpp"
2828
#include "pipeline/period_filter.hpp"
2929
#include "pipeline/timestamp_extractor.hpp"
30-
#include "pipeline/upcase_value.hpp"
3130
#include "pipeline/topic_mapper.hpp"
31+
#include "pipeline/upcase_value.hpp"
3232

3333
using namespace std;
3434
using namespace std::literals;
3535

3636
namespace mtconnect {
37-
using namespace observation;
38-
using namespace entity;
39-
using namespace pipeline;
40-
41-
namespace adapter {
42-
std::unique_ptr<Handler> AdapterPipeline::makeHandler()
43-
{
44-
auto handler = make_unique<Handler>();
45-
46-
// Build the pipeline for an adapter
47-
handler->m_connecting = [this](const std::string &id) {
48-
auto entity = make_shared<Entity>("ConnectionStatus",
49-
Properties {{"VALUE", "CONNECTING"s}, {"source", id}});
50-
run(entity);
51-
};
52-
handler->m_connected = [this](const std::string &id) {
53-
auto entity = make_shared<Entity>("ConnectionStatus",
54-
Properties {{"VALUE", "CONNECTED"s}, {"source", id}});
55-
run(entity);
56-
};
57-
handler->m_disconnected = [this](const std::string &id) {
58-
auto entity = make_shared<Entity>("ConnectionStatus",
59-
Properties {{"VALUE", "DISCONNECTED"s}, {"source", id}});
60-
run(entity);
61-
};
62-
handler->m_processData = [this](const std::string &data, const std::string &source) {
63-
auto entity = make_shared<Entity>("Data", Properties {{"VALUE", data}, {"source", source}});
64-
run(entity);
65-
};
66-
handler->m_processMessage = [this](const std::string &topic, const std::string &data,
67-
const std::string &source) {
68-
auto entity = make_shared<PipelineMessage>(
69-
"Message", Properties {{"VALUE", data}, {"topic", topic}, {"source", source}});
70-
run(entity);
71-
};
72-
handler->m_command = [this](const std::string &data, const std::string &source) {
73-
auto entity = make_shared<Entity>("Command", Properties {{"VALUE", data}, {"source", source}});
74-
run(entity);
75-
};
76-
77-
return handler;
78-
}
79-
80-
void AdapterPipeline::build(const ConfigOptions &options)
81-
{
82-
clear();
83-
m_options = options;
84-
85-
m_identity = GetOption<string>(m_options, configuration::AdapterIdentity).value_or("unknown");
86-
}
87-
88-
void AdapterPipeline::buildDeviceList()
89-
{
90-
m_identity = *GetOption<string>(m_options, configuration::AdapterIdentity);
91-
92-
auto list = GetOption<StringList>(m_options, configuration::AdditionalDevices);
93-
if (list)
94-
m_devices = *list;
95-
m_device = GetOption<string>(m_options, configuration::Device);
96-
if (m_device)
97-
{
98-
m_devices.emplace_front(*m_device);
99-
auto dp = m_context->m_contract->findDevice(*m_device);
100-
if (dp)
37+
using namespace observation;
38+
using namespace entity;
39+
using namespace pipeline;
40+
41+
namespace adapter {
42+
std::unique_ptr<Handler> AdapterPipeline::makeHandler()
43+
{
44+
auto handler = make_unique<Handler>();
45+
46+
// Build the pipeline for an adapter
47+
handler->m_connecting = [this](const std::string &id) {
48+
auto entity = make_shared<Entity>("ConnectionStatus",
49+
Properties {{"VALUE", "CONNECTING"s}, {"source", id}});
50+
run(entity);
51+
};
52+
handler->m_connected = [this](const std::string &id) {
53+
auto entity = make_shared<Entity>("ConnectionStatus",
54+
Properties {{"VALUE", "CONNECTED"s}, {"source", id}});
55+
run(entity);
56+
};
57+
handler->m_disconnected = [this](const std::string &id) {
58+
auto entity = make_shared<Entity>("ConnectionStatus",
59+
Properties {{"VALUE", "DISCONNECTED"s}, {"source", id}});
60+
run(entity);
61+
};
62+
handler->m_processData = [this](const std::string &data, const std::string &source) {
63+
auto entity = make_shared<Entity>("Data", Properties {{"VALUE", data}, {"source", source}});
64+
run(entity);
65+
};
66+
handler->m_processMessage = [this](const std::string &topic, const std::string &data,
67+
const std::string &source) {
68+
auto entity = make_shared<PipelineMessage>(
69+
"Message", Properties {{"VALUE", data}, {"topic", topic}, {"source", source}});
70+
run(entity);
71+
};
72+
handler->m_command = [this](const std::string &data, const std::string &source) {
73+
auto entity =
74+
make_shared<Entity>("Command", Properties {{"VALUE", data}, {"source", source}});
75+
run(entity);
76+
};
77+
78+
return handler;
79+
}
80+
81+
void AdapterPipeline::build(const ConfigOptions &options)
82+
{
83+
clear();
84+
m_options = options;
85+
86+
m_identity = GetOption<string>(m_options, configuration::AdapterIdentity).value_or("unknown");
87+
}
88+
89+
void AdapterPipeline::buildDeviceList()
90+
{
91+
m_identity = *GetOption<string>(m_options, configuration::AdapterIdentity);
92+
93+
auto list = GetOption<StringList>(m_options, configuration::AdditionalDevices);
94+
if (list)
95+
m_devices = *list;
96+
m_device = GetOption<string>(m_options, configuration::Device);
97+
if (m_device)
98+
{
99+
m_devices.emplace_front(*m_device);
100+
auto dp = m_context->m_contract->findDevice(*m_device);
101+
if (dp)
102+
{
103+
dp->setOptions(m_options);
104+
}
105+
}
106+
}
107+
108+
void AdapterPipeline::buildCommandAndStatusDelivery()
109+
{
110+
bind(make_shared<DeliverConnectionStatus>(
111+
m_context, m_devices, IsOptionSet(m_options, configuration::AutoAvailable)));
112+
bind(make_shared<DeliverCommand>(m_context, m_device));
113+
}
114+
115+
void AdapterPipeline::buildAssetDelivery(pipeline::TransformPtr next)
116+
{
117+
// Go directly to asset delivery
118+
std::optional<string> assetMetrics;
119+
assetMetrics = m_identity + "_asset_update_rate";
120+
121+
next->bind(make_shared<DeliverAsset>(m_context, assetMetrics));
122+
next->bind(make_shared<DeliverAssetCommand>(m_context));
123+
}
124+
125+
void AdapterPipeline::buildObservationDelivery(pipeline::TransformPtr next)
101126
{
102-
dp->setOptions(m_options);
127+
// Uppercase Events
128+
if (IsOptionSet(m_options, configuration::UpcaseDataItemValue))
129+
next = next->bind(make_shared<UpcaseValue>());
130+
131+
// Filter dups, by delta, and by period
132+
next = next->bind(make_shared<DuplicateFilter>(m_context));
133+
next = next->bind(make_shared<DeltaFilter>(m_context));
134+
next = next->bind(make_shared<PeriodFilter>(m_context));
135+
136+
// Convert values
137+
if (IsOptionSet(m_options, configuration::ConversionRequired))
138+
next = next->bind(make_shared<ConvertSample>());
139+
140+
// Deliver
141+
std::optional<string> obsMetrics;
142+
obsMetrics = m_identity + "_observation_update_rate";
143+
next->bind(make_shared<DeliverObservation>(m_context, obsMetrics));
103144
}
104-
}
105-
}
106-
107-
void AdapterPipeline::buildCommandAndStatusDelivery()
108-
{
109-
bind(make_shared<DeliverConnectionStatus>(m_context, m_devices,
110-
IsOptionSet(m_options, configuration::AutoAvailable)));
111-
bind(make_shared<DeliverCommand>(m_context, m_device));
112-
}
113-
114-
void AdapterPipeline::buildAssetDelivery(pipeline::TransformPtr next)
115-
{
116-
// Go directly to asset delivery
117-
std::optional<string> assetMetrics;
118-
assetMetrics = m_identity + "_asset_update_rate";
119-
120-
next->bind(make_shared<DeliverAsset>(m_context, assetMetrics));
121-
next->bind(make_shared<DeliverAssetCommand>(m_context));
122-
}
123-
124-
void AdapterPipeline::buildObservationDelivery(pipeline::TransformPtr next)
125-
{
126-
// Uppercase Events
127-
if (IsOptionSet(m_options, configuration::UpcaseDataItemValue))
128-
next = next->bind(make_shared<UpcaseValue>());
129-
130-
// Filter dups, by delta, and by period
131-
next = next->bind(make_shared<DuplicateFilter>(m_context));
132-
next = next->bind(make_shared<DeltaFilter>(m_context));
133-
next = next->bind(make_shared<PeriodFilter>(m_context));
134-
135-
// Convert values
136-
if (IsOptionSet(m_options, configuration::ConversionRequired))
137-
next = next->bind(make_shared<ConvertSample>());
138-
139-
// Deliver
140-
std::optional<string> obsMetrics;
141-
obsMetrics = m_identity + "_observation_update_rate";
142-
next->bind(make_shared<DeliverObservation>(m_context, obsMetrics));
143-
}
144-
} // namespace adapter
145+
} // namespace adapter
145146
} // namespace mtconnect

src/adapter/adapter_pipeline.hpp

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -21,42 +21,42 @@
2121
#include "pipeline/transform.hpp"
2222

2323
namespace mtconnect {
24-
namespace adapter {
25-
struct Handler
26-
{
27-
using ProcessData = std::function<void(const std::string &data, const std::string &source)>;
28-
using ProcessMessage = std::function<void(const std::string &topic, const std::string &data,
29-
const std::string &source)>;
30-
using Connect = std::function<void(const std::string &source)>;
31-
32-
ProcessData m_processData;
33-
ProcessData m_command;
34-
ProcessMessage m_processMessage;
35-
36-
Connect m_connecting;
37-
Connect m_connected;
38-
Connect m_disconnected;
39-
};
40-
41-
class AdapterPipeline : public pipeline::Pipeline
42-
{
43-
public:
44-
AdapterPipeline(pipeline::PipelineContextPtr context) : Pipeline(context) {}
45-
46-
void build(const ConfigOptions &options) override;
47-
virtual std::unique_ptr<Handler> makeHandler();
48-
49-
protected:
50-
void buildDeviceList();
51-
void buildCommandAndStatusDelivery();
52-
void buildAssetDelivery(pipeline::TransformPtr next);
53-
void buildObservationDelivery(pipeline::TransformPtr next);
54-
55-
protected:
56-
ConfigOptions m_options;
57-
StringList m_devices;
58-
std::optional<std::string> m_device;
59-
std::string m_identity;
60-
};
61-
} // namespace adapter
24+
namespace adapter {
25+
struct Handler
26+
{
27+
using ProcessData = std::function<void(const std::string &data, const std::string &source)>;
28+
using ProcessMessage = std::function<void(const std::string &topic, const std::string &data,
29+
const std::string &source)>;
30+
using Connect = std::function<void(const std::string &source)>;
31+
32+
ProcessData m_processData;
33+
ProcessData m_command;
34+
ProcessMessage m_processMessage;
35+
36+
Connect m_connecting;
37+
Connect m_connected;
38+
Connect m_disconnected;
39+
};
40+
41+
class AdapterPipeline : public pipeline::Pipeline
42+
{
43+
public:
44+
AdapterPipeline(pipeline::PipelineContextPtr context) : Pipeline(context) {}
45+
46+
void build(const ConfigOptions &options) override;
47+
virtual std::unique_ptr<Handler> makeHandler();
48+
49+
protected:
50+
void buildDeviceList();
51+
void buildCommandAndStatusDelivery();
52+
void buildAssetDelivery(pipeline::TransformPtr next);
53+
void buildObservationDelivery(pipeline::TransformPtr next);
54+
55+
protected:
56+
ConfigOptions m_options;
57+
StringList m_devices;
58+
std::optional<std::string> m_device;
59+
std::string m_identity;
60+
};
61+
} // namespace adapter
6262
} // namespace mtconnect

0 commit comments

Comments
 (0)