├── .clang-format
├── .editorconfig
├── .gitattributes
├── .github
└── ISSUE_TEMPLATE
│ ├── bug_report.md
│ ├── feature_request.md
│ └── question.md
├── .gitignore
├── .gitlab-ci.yml
├── CMakeLists.txt
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── CONTRIBUTORS.md
├── LICENSE
├── MAINTAINERS.md
├── README.md
├── ReleaseNotes.md
├── SECURITY.md
├── docs
├── PLCnextStore_App_paho_03.png
├── _connect_options_8hpp_source.html
├── _i_mqtt_client_service_8hpp_source.html
├── _message_8hpp_source.html
├── _mqtt_client_service_factory_8hpp_source.html
├── _mqtt_client_service_impl_8hpp_source.html
├── _mqtt_client_service_proxy_8hpp_source.html
├── _mqtt_client_service_proxy_factory_8hpp_source.html
├── _mqtt_client_service_security_stub_8hpp_source.html
├── _mqtt_client_service_stub_8hpp_source.html
├── _ssl_options_8hpp_source.html
├── _will_options_8hpp_source.html
├── annotated.html
├── bc_s.png
├── bdwn.png
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service-members.html
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.png
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_factory-members.html
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_factory.html
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_factory.png
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl-members.html
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.png
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy-members.html
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy.html
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy.png
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy_factory-members.html
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy_factory.html
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy_factory.png
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_security_stub-members.html
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_security_stub.html
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_security_stub.png
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_stub-members.html
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_stub.html
├── class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_stub.png
├── classes.html
├── closed.png
├── dir_2254d16c067442651d320d72de999bdd.html
├── dir_252ceb4d48781b975620d9d49b7036a4.html
├── dir_2840b08681769df44388a23471653f33.html
├── dir_4c02653dbbaa59c83658be8aa9eddaf3.html
├── dir_66550428b56008e721244eb1d61a7a97.html
├── dir_717eb9f61b51ce50f0de22cc26c6546d.html
├── dir_abc319a5a9359a139e03f6f252ff1d73.html
├── dir_b7b9236d522a8cac8d553c2b290c70eb.html
├── dir_e04ae2849dfa520b4ee2c9f7e9ff15de.html
├── dir_e6ed4880f6f650eb10a8d5bfc28d0715.html
├── doc.png
├── doxygen.css
├── doxygen.png
├── dynsections.js
├── files.html
├── folderclosed.png
├── folderopen.png
├── functions.html
├── functions_func.html
├── functions_vars.html
├── hierarchy.html
├── index.html
├── interface_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service-members.html
├── interface_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html
├── jquery.js
├── menu.js
├── menudata.js
├── namespace_pxce_tcs.html
├── namespace_pxce_tcs_1_1_mqtt_client.html
├── namespace_pxce_tcs_1_1_mqtt_client_1_1_services.html
├── namespaces.html
├── nav_f.png
├── nav_g.png
├── nav_h.png
├── open.png
├── search
│ ├── all_0.html
│ ├── all_0.js
│ ├── all_1.html
│ ├── all_1.js
│ ├── all_2.html
│ ├── all_2.js
│ ├── all_3.html
│ ├── all_3.js
│ ├── all_4.html
│ ├── all_4.js
│ ├── all_5.html
│ ├── all_5.js
│ ├── all_6.html
│ ├── all_6.js
│ ├── all_7.html
│ ├── all_7.js
│ ├── all_8.html
│ ├── all_8.js
│ ├── all_9.html
│ ├── all_9.js
│ ├── all_a.html
│ ├── all_a.js
│ ├── all_b.html
│ ├── all_b.js
│ ├── all_c.html
│ ├── all_c.js
│ ├── all_d.html
│ ├── all_d.js
│ ├── all_e.html
│ ├── all_e.js
│ ├── all_f.html
│ ├── all_f.js
│ ├── classes_0.html
│ ├── classes_0.js
│ ├── classes_1.html
│ ├── classes_1.js
│ ├── classes_2.html
│ ├── classes_2.js
│ ├── classes_3.html
│ ├── classes_3.js
│ ├── classes_4.html
│ ├── classes_4.js
│ ├── close.png
│ ├── functions_0.html
│ ├── functions_0.js
│ ├── functions_1.html
│ ├── functions_1.js
│ ├── functions_2.html
│ ├── functions_2.js
│ ├── functions_3.html
│ ├── functions_3.js
│ ├── functions_4.html
│ ├── functions_4.js
│ ├── functions_5.html
│ ├── functions_5.js
│ ├── functions_6.html
│ ├── functions_6.js
│ ├── functions_7.html
│ ├── functions_7.js
│ ├── functions_8.html
│ ├── functions_8.js
│ ├── functions_9.html
│ ├── functions_9.js
│ ├── mag_sel.png
│ ├── namespaces_0.html
│ ├── namespaces_0.js
│ ├── nomatches.html
│ ├── search.css
│ ├── search.js
│ ├── search_l.png
│ ├── search_m.png
│ ├── search_r.png
│ ├── searchdata.js
│ ├── variables_0.html
│ ├── variables_0.js
│ ├── variables_1.html
│ ├── variables_1.js
│ ├── variables_2.html
│ ├── variables_2.js
│ ├── variables_3.html
│ ├── variables_3.js
│ ├── variables_4.html
│ ├── variables_4.js
│ ├── variables_5.html
│ ├── variables_5.js
│ ├── variables_6.html
│ ├── variables_6.js
│ ├── variables_7.html
│ ├── variables_7.js
│ ├── variables_8.html
│ ├── variables_8.js
│ ├── variables_9.html
│ ├── variables_9.js
│ ├── variables_a.html
│ ├── variables_a.js
│ ├── variables_b.html
│ ├── variables_b.js
│ ├── variables_c.html
│ ├── variables_c.js
│ ├── variables_d.html
│ ├── variables_d.js
│ ├── variables_e.html
│ └── variables_e.js
├── splitbar.png
├── struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options-members.html
├── struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html
├── struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.png
├── struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message-members.html
├── struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message.html
├── struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message.png
├── struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options-members.html
├── struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options.html
├── struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options.png
├── struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_will_options-members.html
├── struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_will_options.html
├── struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_will_options.png
├── sync_off.png
├── sync_on.png
├── tab_a.png
├── tab_b.png
├── tab_h.png
├── tab_s.png
└── tabs.css
├── libs
├── CMakeLists.txt
└── MqttClientService
│ ├── CMakeLists.txt
│ ├── cmake
│ ├── FindPahoMqttAS.cmake
│ ├── FindPahoMqttCS.cmake
│ └── MqttClientConfig.in.cmake
│ ├── intermediate
│ └── config
│ │ └── MqttClient.acf.config
│ └── src
│ ├── Client.cpp
│ ├── Client.hpp
│ ├── MqttClientComponent.cpp
│ ├── MqttClientComponent.hpp
│ ├── MqttClientLibrary.cpp
│ ├── MqttClientLibrary.hpp
│ ├── MqttClientManager.cpp
│ ├── MqttClientManager.hpp
│ └── services
│ ├── ConnectOptions.hpp
│ ├── IMqttClientService.hpp
│ ├── Message.hpp
│ ├── MqttClientServiceFactory.cpp
│ ├── MqttClientServiceFactory.hpp
│ ├── MqttClientServiceImpl.cpp
│ ├── MqttClientServiceImpl.hpp
│ ├── MqttClientServiceProxy.cpp
│ ├── MqttClientServiceProxy.hpp
│ ├── MqttClientServiceProxyFactory.cpp
│ ├── MqttClientServiceProxyFactory.hpp
│ ├── MqttClientServiceSecurityStub.cpp
│ ├── MqttClientServiceSecurityStub.hpp
│ ├── MqttClientServiceStub.cpp
│ ├── MqttClientServiceStub.hpp
│ ├── SslOptions.hpp
│ └── WillOptions.hpp
└── tools
├── build-all.sh
├── build-automatic-all.sh
├── build-component.sh
├── build-paho.mqtt.c.sh
└── build-paho.mqtt.cpp.sh
/.clang-format:
--------------------------------------------------------------------------------
1 | ---
2 | Language: Cpp
3 | Standard: Cpp11
4 | UseTab: Never
5 | IndentWidth: 4
6 | AccessModifierOffset: -4
7 | BreakBeforeBraces: Allman
8 | BreakConstructorInitializers: BeforeComma
9 | Cpp11BracedListStyle: true
10 | DerivePointerAlignment: true
11 | FixNamespaceComments: true
12 | AllowShortIfStatementsOnASingleLine: false
13 | IndentCaseLabels: false
14 | ColumnLimit: 0
15 | ...
16 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | indent_style = space
6 | indent_size = 4
7 | insert_final_newline = true
8 | trim_trailing_whitespace = true
9 |
10 | [*.{config,libmeta,compmeta,progmeta,settings,xml}]
11 | indent_size = 2
12 |
13 | [*.{md,mkdown,markdown}]
14 | trim_trailing_whitespace = false
15 |
16 | [.{json,jsonc}]
17 | indent_size = 2
18 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 | *.sh text eol=lf
3 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: feature-request
6 | assignees: ''
7 |
8 | ---
9 |
10 |
11 |
11 |
12 |
13 | **Is your feature request related to a problem? Please describe.**
14 | A clear and concise description of what the problem is.
15 |
16 | **Describe the solution you'd like**
17 | A clear and concise description of what you want to happen.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/question.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Question
3 | about: The issue tracker is not for questions. Please visit [https://plcnext-community.net](https://plcnext-community.net).
4 | title: "[QUESTION]"
5 | labels: invalid
6 | assignees: ''
7 |
8 | ---
9 |
10 | 🚨 The issue tracker is not for questions 🚨
11 |
12 | If you have a question, please ask it on
13 | [https://plcnext-community.net](https://plcnext-community.net).
14 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /bin/
2 | /build/
3 | /external/
4 | /deploy/
5 | .vscode
6 |
--------------------------------------------------------------------------------
/.gitlab-ci.yml:
--------------------------------------------------------------------------------
1 | #//
2 | #// Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
3 | #// Licensed under the MIT. See LICENSE file in the project root for full license information.
4 | #// SPDX-License-Identifier: MIT
5 | #//
6 | stages:
7 | - PLCnextBuildC
8 | - PLCnextBuildCpp
9 | - PLCnextBuildLibrary
10 | - PLCnextBuildAll
11 | - deploy
12 |
13 | ## Docker Image:
14 | # PLCNCLI
15 | # C/C++ SDK
16 | # PLCNEngineer Library Builder
17 | # CMAKE
18 |
19 | image: $SDK_IMAGE
20 |
21 | variables:
22 | SDK_PATH: "${SDKPATH}"
23 | TARGET_VERSION: "${TARGETVERSION}"
24 | TARGET_NAME: "${TARGETNAME}"
25 |
26 | .RunnerRequirements:
27 | before_script:
28 | - chmod +x tools/*
29 | - which cmake
30 | - cmake --version
31 | - which make
32 | - make --version
33 | - which plcncli
34 | - plcncli --version
35 | - plcncli get sdks
36 | - plcncli get targets
37 | - apt-get update
38 | - apt-get install ninja-build
39 | - echo "SDK_PATH:${SDK_PATH}"
40 | - echo "TARGET_VERSION:${TARGET_VERSION}"
41 | - echo "TARGET_NAME:${TARGET_NAME}"
42 | tags:
43 | - docker
44 | - debian-based
45 | allow_failure: true
46 |
47 | #################################################
48 | #################################################
49 | #################################################
50 | ######PLCnext Building###########################
51 | BuildPahoC:
52 | stage: PLCnextBuildC
53 | extends: .RunnerRequirements
54 | script:
55 | - tools/build-paho.mqtt.c.sh -t "${SDK_PATH}" -a "${TARGET_VERSION}" -n "${TARGET_NAME}"
56 | cache:
57 | key: buildpahoc
58 | paths:
59 | - external/paho.mqtt.c
60 | artifacts:
61 | expire_in: 10 min
62 | paths:
63 | - deploy
64 |
65 | BuildPahoCpp:
66 | stage: PLCnextBuildCpp
67 | extends: .RunnerRequirements
68 | dependencies:
69 | - BuildPahoC
70 | script:
71 | - tools/build-paho.mqtt.cpp.sh -t "${SDK_PATH}" -a "${TARGET_VERSION}" -n "${TARGET_NAME}"
72 | cache:
73 | key: buildpahoc
74 | paths:
75 | - external/paho.mqtt.cpp
76 | artifacts:
77 | expire_in: 10 min
78 | paths:
79 | - deploy
80 |
81 | BuildComponent:
82 | stage: PLCnextBuildLibrary
83 | extends: .RunnerRequirements
84 | dependencies:
85 | - BuildPahoCpp
86 | - BuildPahoC
87 |
88 | script:
89 | - tools/build-component.sh -t "${SDK_PATH}" -a "${TARGET_VERSION}" -n "${TARGET_NAME}"
90 | cache:
91 | key: buildcomponent
92 | paths:
93 | - build/
94 | artifacts:
95 | name: "$CI_COMMIT_REF_SLUG"
96 | when: always
97 | expire_in: 20 min
98 | paths:
99 | - deploy
100 |
101 | BuildAll:
102 | stage: PLCnextBuildAll
103 | extends: .RunnerRequirements
104 | script:
105 | - tools/build-automatic-all.sh
106 | artifacts:
107 | name: "$CI_COMMIT_REF_SLUG"
108 | when: on_success
109 | paths:
110 | - deploy
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
--------------------------------------------------------------------------------
/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.12)
2 |
3 | project(MqttClientRscService)
4 |
5 | #include(CTest)
6 |
7 | # Always use find_package to find external dependencies.
8 | # Make find_package a noop for targets that are available as sub projects.
9 | # See speech of Daniel Pfeifer "Effective CMake" C++Now 2017 Slide 34
10 | macro(find_package)
11 | if(NOT "${ARGV0}" IN_LIST FindAsSubproject)
12 | _find_package(${ARGV})
13 | else()
14 | set("${ARGV0}_FOUND" TRUE)
15 | endif()
16 | endmacro()
17 |
18 | # Add targets that are included as sub projects
19 | # set(FindAsSubproject "MqttClient")
20 |
21 | add_subdirectory(libs)
22 | #add_subdirectory(extras)
23 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | In the interest of fostering an open and welcoming environment, we as
6 | contributors and maintainers pledge to making participation in our project and
7 | our community a harassment-free experience for everyone, regardless of age, body
8 | size, disability, ethnicity, sex characteristics, gender identity and expression,
9 | level of experience, education, socio-economic status, nationality, personal
10 | appearance, race, religion, or sexual identity and orientation.
11 |
12 | ## Our Standards
13 |
14 | Examples of behavior that contributes to creating a positive environment
15 | include:
16 |
17 | * Using welcoming and inclusive language
18 | * Being respectful of differing viewpoints and experiences
19 | * Gracefully accepting constructive criticism
20 | * Focusing on what is best for the community
21 | * Showing empathy towards other community members
22 |
23 | Examples of unacceptable behavior by participants include:
24 |
25 | * The use of sexualized language or imagery and unwelcome sexual attention or
26 | advances
27 | * Trolling, insulting/derogatory comments, and personal or political attacks
28 | * Public or private harassment
29 | * Publishing others' private information, such as a physical or electronic
30 | address, without explicit permission
31 | * Other conduct which could reasonably be considered inappropriate in a
32 | professional setting
33 |
34 | ## Our Responsibilities
35 |
36 | Project maintainers are responsible for clarifying the standards of acceptable
37 | behavior and are expected to take appropriate and fair corrective action in
38 | response to any instances of unacceptable behavior.
39 |
40 | Project maintainers have the right and responsibility to remove, edit, or
41 | reject comments, commits, code, wiki edits, issues, and other contributions
42 | that are not aligned to this Code of Conduct, or to ban temporarily or
43 | permanently any contributor for other behaviors that they deem inappropriate,
44 | threatening, offensive, or harmful.
45 |
46 | ## Scope
47 |
48 | This Code of Conduct applies both within project spaces and in public spaces
49 | when an individual is representing the project or its community. Examples of
50 | representing a project or community include using an official project e-mail
51 | address, posting via an official social media account, or acting as an appointed
52 | representative at an online or offline event. Representation of a project may be
53 | further defined and clarified by project maintainers.
54 |
55 | ## Enforcement
56 |
57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be
58 | reported by contacting the project team at [OSSPLCnext@phoenixcontact.com](mailto:OSSPLCnext@phoenixcontact.com). All
59 | complaints will be reviewed and investigated and will result in a response that
60 | is deemed necessary and appropriate to the circumstances. The project team is
61 | obligated to maintain confidentiality with regard to the reporter of an incident.
62 | Further details of specific enforcement policies may be posted separately.
63 |
64 | Project maintainers who do not follow or enforce the Code of Conduct in good
65 | faith may face temporary or permanent repercussions as determined by other
66 | members of the project's leadership.
67 |
68 | ## Attribution
69 |
70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72 |
73 | [homepage]: https://www.contributor-covenant.org
74 |
75 | For answers to common questions about this code of conduct, see
76 | https://www.contributor-covenant.org/faq
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing
2 |
3 | This is an open source project, and we appreciate your help!
4 |
5 | We use the GitHub issue tracker to discuss new features and bugs.
6 |
7 | In addition to the issue tracker, the PLCnext Technology [Forum](https://www.plcnext-community.net/index.php?option=com_easydiscuss&view=categories&Itemid=221&lang=en) is the best way to get into contact with the project's maintainers.
8 |
9 | To contribute code or documentation for available projects, please use an issue with an *easy-pick* label.
10 | Our [maintainers](MAINTAINERS.md) will review and implement the changes.
11 |
12 | If you are interested in contributing to the PLCnext platform organisation, please contact CommunityExamples@phoenixcontact.com.
13 | After reviewing, we will decide together, if your project will be forked from our organisation or if you get a member and transfer the repository to the organisation.
--------------------------------------------------------------------------------
/CONTRIBUTORS.md:
--------------------------------------------------------------------------------
1 | # Contributors
2 |
3 | This is the official list of the MqttClient project contributors.
4 |
7 |
8 | * Phoenix Contact GmbH & Co. KG
9 | - Martin Boers
10 | - Marcel Luhmann
11 | - Oliver Warneke
12 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Phoenix Contact GmbH & Co KG
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/MAINTAINERS.md:
--------------------------------------------------------------------------------
1 | # MAINTAINER
2 |
3 | Martin Boers - OSSPLCnext@phoenixcontact.com
4 | Oliver Warneke - OSSPLCnext@phoenixcontact.com
5 |
--------------------------------------------------------------------------------
/ReleaseNotes.md:
--------------------------------------------------------------------------------
1 | # ReleaseNotes
2 |
3 | ## Current version
4 |
5 | | Date | Version |
6 | |------------|-------------|
7 | | 29.03.2019 | 1.0.0 |
8 |
9 | ### New Features
10 |
11 | ### Changes
12 |
13 | ### BugFixes
14 |
15 | ----------
16 |
17 | ## Previous versions
18 |
19 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Vulnerablitiys
2 |
3 | Phoenix Contact provides a process to report security issues.
4 | Please visit the website for the [Phoenix Contact PSIRT](https://phoenixcontact.com/psirt) process and follow the instructions.
5 |
--------------------------------------------------------------------------------
/docs/PLCnextStore_App_paho_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/PLCnextStore_App_paho_03.png
--------------------------------------------------------------------------------
/docs/bc_s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/bc_s.png
--------------------------------------------------------------------------------
/docs/bdwn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/bdwn.png
--------------------------------------------------------------------------------
/docs/class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.png
--------------------------------------------------------------------------------
/docs/class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_factory.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_factory.png
--------------------------------------------------------------------------------
/docs/class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.png
--------------------------------------------------------------------------------
/docs/class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy.png
--------------------------------------------------------------------------------
/docs/class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy_factory.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy_factory.png
--------------------------------------------------------------------------------
/docs/class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_security_stub.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_security_stub.png
--------------------------------------------------------------------------------
/docs/class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_stub.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_stub.png
--------------------------------------------------------------------------------
/docs/closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/closed.png
--------------------------------------------------------------------------------
/docs/dir_252ceb4d48781b975620d9d49b7036a4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | MQTT Client: C:/Users/iebm01/Desktop/MqttClientService/Cpp Directory Reference
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | MQTT Client
26 | 1.0.0
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
40 |
41 |
42 |
49 |
50 |
51 |
55 |
56 |
57 |
58 |
59 |
62 |
63 |
64 |
68 |
69 |
73 |
74 |
75 |
76 |
81 |
82 |
83 |
--------------------------------------------------------------------------------
/docs/dir_717eb9f61b51ce50f0de22cc26c6546d.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | MQTT Client: C:/Users/iebm01/Desktop/MqttClientService Directory Reference
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | MQTT Client
26 | 1.0.0
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
40 |
41 |
42 |
49 |
50 |
51 |
55 |
56 |
57 |
58 |
59 |
62 |
63 |
64 |
68 |
69 |
73 |
74 |
75 |
76 |
81 |
82 |
83 |
--------------------------------------------------------------------------------
/docs/dir_abc319a5a9359a139e03f6f252ff1d73.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | MQTT Client: C:/Users/iebm01/Desktop/MqttClientService/C# Directory Reference
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | MQTT Client
26 | 1.0.0
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
40 |
41 |
42 |
49 |
50 |
51 |
55 |
56 |
57 |
58 |
59 |
62 |
63 |
64 |
68 |
69 |
73 |
74 |
75 |
76 |
81 |
82 |
83 |
--------------------------------------------------------------------------------
/docs/dir_b7b9236d522a8cac8d553c2b290c70eb.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | MQTT Client: C:/Users/iebm01/Desktop/MqttClientService/Cpp/Eclipse Directory Reference
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | MQTT Client
26 | 1.0.0
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
40 |
41 |
42 |
49 |
50 |
51 |
55 |
56 |
57 |
58 |
59 |
62 |
63 |
64 |
68 |
69 |
73 |
74 |
75 |
76 |
81 |
82 |
83 |
--------------------------------------------------------------------------------
/docs/dir_e04ae2849dfa520b4ee2c9f7e9ff15de.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | MQTT Client: C:/Users/iebm01/Desktop Directory Reference
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | MQTT Client
26 | 1.0.0
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
40 |
41 |
42 |
49 |
50 |
51 |
55 |
56 |
57 |
58 |
59 |
62 |
63 |
64 |
68 |
69 |
73 |
74 |
75 |
76 |
81 |
82 |
83 |
--------------------------------------------------------------------------------
/docs/dir_e6ed4880f6f650eb10a8d5bfc28d0715.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | MQTT Client: C:/Users/iebm01/Desktop/MqttClientService/C#/MqttClient Directory Reference
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | MQTT Client
26 | 1.0.0
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
40 |
41 |
42 |
49 |
50 |
51 |
55 |
56 |
57 |
58 |
59 |
62 |
63 |
64 |
68 |
69 |
73 |
74 |
75 |
76 |
81 |
82 |
83 |
--------------------------------------------------------------------------------
/docs/doc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/doc.png
--------------------------------------------------------------------------------
/docs/doxygen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/doxygen.png
--------------------------------------------------------------------------------
/docs/folderclosed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/folderclosed.png
--------------------------------------------------------------------------------
/docs/folderopen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/folderopen.png
--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | MQTT Client: Main Page
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | MQTT Client
26 | 1.0.0
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
40 |
41 |
42 |
49 |
50 |
51 |
52 |
56 |
57 |
58 |
59 |
60 |
63 |
64 |
65 |
69 |
70 |
71 |
72 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/docs/menu.js:
--------------------------------------------------------------------------------
1 | /*
2 | @licstart The following is the entire license notice for the
3 | JavaScript code in this file.
4 |
5 | Copyright (C) 1997-2017 by Dimitri van Heesch
6 |
7 | This program is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 2 of the License, or
10 | (at your option) any later version.
11 |
12 | This program is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License along
18 | with this program; if not, write to the Free Software Foundation, Inc.,
19 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 |
21 | @licend The above is the entire license notice
22 | for the JavaScript code in this file
23 | */
24 | function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
25 | function makeTree(data,relPath) {
26 | var result='';
27 | if ('children' in data) {
28 | result+='';
35 | }
36 | return result;
37 | }
38 |
39 | $('#main-nav').append(makeTree(menudata,relPath));
40 | $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
41 | if (searchEnabled) {
42 | if (serverSide) {
43 | $('#main-menu').append(' ');
44 | } else {
45 | $('#main-menu').append(' ');
46 | }
47 | }
48 | $('#main-menu').smartmenus();
49 | }
50 | /* @license-end */
51 |
--------------------------------------------------------------------------------
/docs/menudata.js:
--------------------------------------------------------------------------------
1 | /*
2 | @ @licstart The following is the entire license notice for the
3 | JavaScript code in this file.
4 |
5 | Copyright (C) 1997-2017 by Dimitri van Heesch
6 |
7 | This program is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 2 of the License, or
10 | (at your option) any later version.
11 |
12 | This program is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License along
18 | with this program; if not, write to the Free Software Foundation, Inc.,
19 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 |
21 | @licend The above is the entire license notice
22 | for the JavaScript code in this file
23 | */
24 | var menudata={children:[
25 | {text:"Main Page",url:"index.html"},
26 | {text:"Classes",url:"annotated.html",children:[
27 | {text:"Class List",url:"annotated.html"},
28 | {text:"Class Index",url:"classes.html"},
29 | {text:"Class Hierarchy",url:"hierarchy.html"},
30 | {text:"Class Members",url:"functions.html",children:[
31 | {text:"All",url:"functions.html",children:[
32 | {text:"a",url:"functions.html#index_a"},
33 | {text:"c",url:"functions.html#index_c"},
34 | {text:"d",url:"functions.html#index_d"},
35 | {text:"e",url:"functions.html#index_e"},
36 | {text:"i",url:"functions.html#index_i"},
37 | {text:"k",url:"functions.html#index_k"},
38 | {text:"l",url:"functions.html#index_l"},
39 | {text:"m",url:"functions.html#index_m"},
40 | {text:"p",url:"functions.html#index_p"},
41 | {text:"q",url:"functions.html#index_q"},
42 | {text:"r",url:"functions.html#index_r"},
43 | {text:"s",url:"functions.html#index_s"},
44 | {text:"t",url:"functions.html#index_t"},
45 | {text:"u",url:"functions.html#index_u"},
46 | {text:"w",url:"functions.html#index_w"},
47 | {text:"~",url:"functions.html#index__7E"}]},
48 | {text:"Functions",url:"functions_func.html",children:[
49 | {text:"c",url:"functions_func.html#index_c"},
50 | {text:"d",url:"functions_func.html#index_d"},
51 | {text:"i",url:"functions_func.html#index_i"},
52 | {text:"m",url:"functions_func.html#index_m"},
53 | {text:"p",url:"functions_func.html#index_p"},
54 | {text:"r",url:"functions_func.html#index_r"},
55 | {text:"s",url:"functions_func.html#index_s"},
56 | {text:"t",url:"functions_func.html#index_t"},
57 | {text:"u",url:"functions_func.html#index_u"},
58 | {text:"~",url:"functions_func.html#index__7E"}]},
59 | {text:"Variables",url:"functions_vars.html"}]}]},
60 | {text:"Files",url:"files.html",children:[
61 | {text:"File List",url:"files.html"}]}]}
62 |
--------------------------------------------------------------------------------
/docs/namespace_pxce_tcs.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | MQTT Client: PxceTcs Namespace Reference
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | MQTT Client
26 | 1.0.0
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
40 |
41 |
42 |
49 |
50 |
51 |
55 |
56 |
57 |
58 |
59 |
62 |
63 |
64 |
65 |
71 |
72 |
73 |
74 |
79 |
80 |
81 |
--------------------------------------------------------------------------------
/docs/namespace_pxce_tcs_1_1_mqtt_client.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | MQTT Client: PxceTcs.MqttClient Namespace Reference
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | MQTT Client
26 | 1.0.0
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
40 |
41 |
42 |
49 |
50 |
51 |
55 |
56 |
57 |
58 |
59 |
62 |
63 |
64 |
68 |
69 |
75 |
76 |
77 |
78 |
83 |
84 |
85 |
--------------------------------------------------------------------------------
/docs/nav_f.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/nav_f.png
--------------------------------------------------------------------------------
/docs/nav_g.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/nav_g.png
--------------------------------------------------------------------------------
/docs/nav_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/nav_h.png
--------------------------------------------------------------------------------
/docs/open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/open.png
--------------------------------------------------------------------------------
/docs/search/all_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/all_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['automaticreconnect',['automaticReconnect',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a6bcfee64c8f0e2eec15b9cf6cb6b0d73',1,'PxceTcs::MqttClient::Services::ConnectOptions']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/all_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/all_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['connect',['Connect',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#ae51ad03876068455c6fff2ced3038440',1,'PxceTcs::MqttClient::Services::IMqttClientService::Connect()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#ac19a2522ea46d87889f33202184d5d7a',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::Connect()']]],
4 | ['connectoptions',['ConnectOptions',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html',1,'PxceTcs::MqttClient::Services']]],
5 | ['connecttimeout',['connectTimeout',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a8a473eaa6c6296a5c356d20aea011441',1,'PxceTcs::MqttClient::Services::ConnectOptions']]],
6 | ['createclient',['CreateClient',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#a4322db69c95cb0a47bfb03932a8f6e4c',1,'PxceTcs::MqttClient::Services::IMqttClientService::CreateClient()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#a572fd22dae25d6530ea4f1cf579287bb',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::CreateClient()']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/docs/search/all_2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/all_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['destroyclient',['DestroyClient',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#af2a50bcb08918618f5284ab04ce07ac1',1,'PxceTcs::MqttClient::Services::IMqttClientService::DestroyClient()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#ab763d59a545eaafb8145e87270e1bb70',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::DestroyClient()']]],
4 | ['disconnect',['Disconnect',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#a3cb4d51e9ef8d1b8b07fc1004be12001',1,'PxceTcs::MqttClient::Services::IMqttClientService::Disconnect()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#a85ccc0ab29d6d9dcea58047c9eefd4da',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::Disconnect()']]],
5 | ['duplicate',['duplicate',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message.html#a7c5692e2e13ab27f34f323c74d02317a',1,'PxceTcs::MqttClient::Services::Message']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/search/all_3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/all_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['enabledciphersuites',['enabledCipherSuites',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options.html#af36d61a78f0828b3a8a4645f37845ab6',1,'PxceTcs::MqttClient::Services::SslOptions']]],
4 | ['enableservercertauth',['enableServerCertAuth',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options.html#a4e9edd8a3cd3af8db63cd37435050a14',1,'PxceTcs::MqttClient::Services::SslOptions']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/all_4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/all_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['imqttclientservice',['IMqttClientService',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html',1,'PxceTcs::MqttClient::Services::IMqttClientService'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#a177f229b54da38c34dd948a5c0795226',1,'PxceTcs::MqttClient::Services::IMqttClientService::IMqttClientService()']]],
4 | ['iscleansession',['isCleanSession',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a41082f836a56e3b299651f2b5c629aec',1,'PxceTcs::MqttClient::Services::ConnectOptions']]],
5 | ['isconnected',['IsConnected',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#a1098efefd5e8b5fd9288638d44c9fee5',1,'PxceTcs::MqttClient::Services::IMqttClientService::IsConnected()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#a73f3c2441f93790ea3e00d4c2f375bad',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::IsConnected()']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/search/all_5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/all_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['keepaliveinterval',['keepAliveInterval',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a21917761f7e916c4a3631225ba112bc4',1,'PxceTcs::MqttClient::Services::ConnectOptions']]],
4 | ['keystore',['keyStore',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options.html#a24403c9bef4b53224c02c4399c720f7c',1,'PxceTcs::MqttClient::Services::SslOptions']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/all_6.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/all_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['len',['len',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message.html#a87fcd0036ff645d4ab4f780b36b27af2',1,'PxceTcs::MqttClient::Services::Message']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/all_7.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/all_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['maxinflight',['maxInflight',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a6536a7e4189ecfb27080ec45232b2029',1,'PxceTcs::MqttClient::Services::ConnectOptions']]],
4 | ['maxretryinterval',['maxRetryInterval',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#abea8ad605849b11c97f161282062e859',1,'PxceTcs::MqttClient::Services::ConnectOptions']]],
5 | ['message',['Message',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message.html',1,'PxceTcs::MqttClient::Services']]],
6 | ['minretryinterval',['minRetryInterval',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#aa69b2fc0527a276f2441d7029958704f',1,'PxceTcs::MqttClient::Services::ConnectOptions']]],
7 | ['mqttclientservicefactory',['MqttClientServiceFactory',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_factory.html',1,'PxceTcs::MqttClient::Services::MqttClientServiceFactory'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_factory.html#a8879cdcc57b36d1ab940871a3baefef3',1,'PxceTcs::MqttClient::Services::MqttClientServiceFactory::MqttClientServiceFactory()']]],
8 | ['mqttclientserviceimpl',['MqttClientServiceImpl',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#af2af8e892a2672f03c2d6f36fb67d453',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::MqttClientServiceImpl()']]],
9 | ['mqttclientserviceproxy',['MqttClientServiceProxy',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy.html',1,'PxceTcs::MqttClient::Services::MqttClientServiceProxy'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy.html#a380df14efd9760b0482bd5f16c7b0081',1,'PxceTcs::MqttClient::Services::MqttClientServiceProxy::MqttClientServiceProxy()']]],
10 | ['mqttclientserviceproxyfactory',['MqttClientServiceProxyFactory',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy_factory.html',1,'PxceTcs::MqttClient::Services::MqttClientServiceProxyFactory'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy_factory.html#ab4ef56176d60aa1de4d72182b96459cc',1,'PxceTcs::MqttClient::Services::MqttClientServiceProxyFactory::MqttClientServiceProxyFactory()']]],
11 | ['mqttclientservicesecuritystub',['MqttClientServiceSecurityStub',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_security_stub.html',1,'PxceTcs::MqttClient::Services::MqttClientServiceSecurityStub'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_security_stub.html#aad88a265dda1d1ac2211de5b2bfa9305',1,'PxceTcs::MqttClient::Services::MqttClientServiceSecurityStub::MqttClientServiceSecurityStub()']]],
12 | ['mqttclientservicestub',['MqttClientServiceStub',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_stub.html',1,'PxceTcs::MqttClient::Services::MqttClientServiceStub'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_stub.html#a6bf1786cb186d79b8401652d28db7a0e',1,'PxceTcs::MqttClient::Services::MqttClientServiceStub::MqttClientServiceStub()']]],
13 | ['mqttversion',['mqttVersion',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a7d7beec8745be247e827d109076915da',1,'PxceTcs::MqttClient::Services::ConnectOptions']]]
14 | ];
15 |
--------------------------------------------------------------------------------
/docs/search/all_8.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/all_8.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['password',['password',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a268058475cadf82cf4693d0477ef46bb',1,'PxceTcs::MqttClient::Services::ConnectOptions']]],
4 | ['payload',['payload',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message.html#a0f147795de68d08a1b0581396c4127e1',1,'PxceTcs::MqttClient::Services::Message::payload()'],['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_will_options.html#a0350b3d4fc91b729dbce37218f77e540',1,'PxceTcs::MqttClient::Services::WillOptions::payload()']]],
5 | ['privatekey',['privateKey',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options.html#ac99c13c792167abadbd19d975f7e5760',1,'PxceTcs::MqttClient::Services::SslOptions']]],
6 | ['privatekeypassword',['privateKeyPassword',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options.html#a21e8e4e2a736a7cbf14699ecd8b9a95b',1,'PxceTcs::MqttClient::Services::SslOptions']]],
7 | ['publish',['Publish',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#a00a22ab038cceb8c9e366d7bc327b836',1,'PxceTcs::MqttClient::Services::IMqttClientService::Publish()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#a56da738b2650f2538d4943ea5725f581',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::Publish()']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/docs/search/all_9.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/all_9.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['qos',['qos',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message.html#a27555c1c7c01efaccbcb31fcae34be2c',1,'PxceTcs::MqttClient::Services::Message::qos()'],['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_will_options.html#a3b2e0f648324e01db93cc6e2c2bed4a5',1,'PxceTcs::MqttClient::Services::WillOptions::qos()']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/all_a.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/all_a.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['reconnect',['Reconnect',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#a7961b421c2b6431087e8176fa1d1da77',1,'PxceTcs::MqttClient::Services::IMqttClientService::Reconnect()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#a731cd1c3c3b33986046a80571228763d',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::Reconnect()']]],
4 | ['retained',['retained',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message.html#ac1314720a38422eab49dd4542285c880',1,'PxceTcs::MqttClient::Services::Message::retained()'],['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_will_options.html#a007b66f6eadde48f39b91390a68bfb4e',1,'PxceTcs::MqttClient::Services::WillOptions::retained()']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/all_b.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/all_b.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['servers',['servers',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a92142e3d637d6ab4b66291662f79ac03',1,'PxceTcs::MqttClient::Services::ConnectOptions']]],
4 | ['ssloptions',['SslOptions',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options.html',1,'PxceTcs::MqttClient::Services::SslOptions'],['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a900a8ace1c761419e601bbb7eff8762f',1,'PxceTcs::MqttClient::Services::ConnectOptions::sslOptions()']]],
5 | ['subscribe',['Subscribe',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#a5c405afd624f30d1eaab8ebc41d2c118',1,'PxceTcs::MqttClient::Services::IMqttClientService::Subscribe()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#ab0b3599ce860aae38dc2ca53a0511d64',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::Subscribe()']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/search/all_c.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/all_c.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['topic',['topic',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message.html#a89e36bab9b2361f1347d1ed63c3526af',1,'PxceTcs::MqttClient::Services::Message::topic()'],['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_will_options.html#a3c27cac0f02c4da12f3174fbdbe10740',1,'PxceTcs::MqttClient::Services::WillOptions::topic()']]],
4 | ['truststore',['trustStore',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options.html#a53c62c2ece950e08e3e1e4b16864c405',1,'PxceTcs::MqttClient::Services::SslOptions']]],
5 | ['tryconsumemessage',['TryConsumeMessage',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#afe1487bde7038f64bf20b19ef18632f8',1,'PxceTcs::MqttClient::Services::IMqttClientService::TryConsumeMessage()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#a9eb8aca3b76c4706ff1eed6dda754e49',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::TryConsumeMessage()']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/search/all_d.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/all_d.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['unsubscribe',['Unsubscribe',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#a5649871e46b416f3f970391bafea45cf',1,'PxceTcs::MqttClient::Services::IMqttClientService::Unsubscribe()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#a91c4c6013c4ffcbf70714f4f0dc852c5',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::Unsubscribe()']]],
4 | ['username',['userName',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a0a4915a03d45e858df7e9c4139fd636d',1,'PxceTcs::MqttClient::Services::ConnectOptions']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/all_e.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/all_e.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['willoptions',['WillOptions',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_will_options.html',1,'PxceTcs::MqttClient::Services::WillOptions'],['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a80e4bf51465a5d60fede7e2e568bc9b6',1,'PxceTcs::MqttClient::Services::ConnectOptions::willOptions()']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/all_f.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/all_f.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['_7eimqttclientservice',['~IMqttClientService',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#a620c76f7964d27e761141373ec351a92',1,'PxceTcs::MqttClient::Services::IMqttClientService']]],
4 | ['_7emqttclientservicefactory',['~MqttClientServiceFactory',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_factory.html#a05b4a8430553106c24d40f49121a7347',1,'PxceTcs::MqttClient::Services::MqttClientServiceFactory']]],
5 | ['_7emqttclientserviceimpl',['~MqttClientServiceImpl',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#a96b30e1a67f607210f654ab53985a40b',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl']]],
6 | ['_7emqttclientserviceproxy',['~MqttClientServiceProxy',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy.html#a3fa2ef06a845007922b2d77234888a2c',1,'PxceTcs::MqttClient::Services::MqttClientServiceProxy']]],
7 | ['_7emqttclientserviceproxyfactory',['~MqttClientServiceProxyFactory',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy_factory.html#a097d5301b581f9241719a530bae9a268',1,'PxceTcs::MqttClient::Services::MqttClientServiceProxyFactory']]],
8 | ['_7emqttclientservicesecuritystub',['~MqttClientServiceSecurityStub',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_security_stub.html#a9c87acdc09d01e0c3b8e0ba48c4254fd',1,'PxceTcs::MqttClient::Services::MqttClientServiceSecurityStub']]],
9 | ['_7emqttclientservicestub',['~MqttClientServiceStub',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_stub.html#a184964ead0f3b40a95545ee2d8b4ecb8',1,'PxceTcs::MqttClient::Services::MqttClientServiceStub']]]
10 | ];
11 |
--------------------------------------------------------------------------------
/docs/search/classes_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/classes_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['connectoptions',['ConnectOptions',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html',1,'PxceTcs::MqttClient::Services']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/classes_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/classes_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['imqttclientservice',['IMqttClientService',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html',1,'PxceTcs::MqttClient::Services']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/classes_2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/classes_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['message',['Message',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message.html',1,'PxceTcs::MqttClient::Services']]],
4 | ['mqttclientservicefactory',['MqttClientServiceFactory',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_factory.html',1,'PxceTcs::MqttClient::Services']]],
5 | ['mqttclientserviceimpl',['MqttClientServiceImpl',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html',1,'PxceTcs::MqttClient::Services']]],
6 | ['mqttclientserviceproxy',['MqttClientServiceProxy',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy.html',1,'PxceTcs::MqttClient::Services']]],
7 | ['mqttclientserviceproxyfactory',['MqttClientServiceProxyFactory',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy_factory.html',1,'PxceTcs::MqttClient::Services']]],
8 | ['mqttclientservicesecuritystub',['MqttClientServiceSecurityStub',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_security_stub.html',1,'PxceTcs::MqttClient::Services']]],
9 | ['mqttclientservicestub',['MqttClientServiceStub',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_stub.html',1,'PxceTcs::MqttClient::Services']]]
10 | ];
11 |
--------------------------------------------------------------------------------
/docs/search/classes_3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/classes_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['ssloptions',['SslOptions',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options.html',1,'PxceTcs::MqttClient::Services']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/classes_4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/classes_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['willoptions',['WillOptions',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_will_options.html',1,'PxceTcs::MqttClient::Services']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/search/close.png
--------------------------------------------------------------------------------
/docs/search/functions_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/functions_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['connect',['Connect',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#ae51ad03876068455c6fff2ced3038440',1,'PxceTcs::MqttClient::Services::IMqttClientService::Connect()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#ac19a2522ea46d87889f33202184d5d7a',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::Connect()']]],
4 | ['createclient',['CreateClient',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#a4322db69c95cb0a47bfb03932a8f6e4c',1,'PxceTcs::MqttClient::Services::IMqttClientService::CreateClient()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#a572fd22dae25d6530ea4f1cf579287bb',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::CreateClient()']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/functions_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/functions_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['destroyclient',['DestroyClient',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#af2a50bcb08918618f5284ab04ce07ac1',1,'PxceTcs::MqttClient::Services::IMqttClientService::DestroyClient()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#ab763d59a545eaafb8145e87270e1bb70',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::DestroyClient()']]],
4 | ['disconnect',['Disconnect',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#a3cb4d51e9ef8d1b8b07fc1004be12001',1,'PxceTcs::MqttClient::Services::IMqttClientService::Disconnect()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#a85ccc0ab29d6d9dcea58047c9eefd4da',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::Disconnect()']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/functions_2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/functions_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['imqttclientservice',['IMqttClientService',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#a177f229b54da38c34dd948a5c0795226',1,'PxceTcs::MqttClient::Services::IMqttClientService']]],
4 | ['isconnected',['IsConnected',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#a1098efefd5e8b5fd9288638d44c9fee5',1,'PxceTcs::MqttClient::Services::IMqttClientService::IsConnected()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#a73f3c2441f93790ea3e00d4c2f375bad',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::IsConnected()']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/functions_3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/functions_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['mqttclientservicefactory',['MqttClientServiceFactory',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_factory.html#a8879cdcc57b36d1ab940871a3baefef3',1,'PxceTcs::MqttClient::Services::MqttClientServiceFactory']]],
4 | ['mqttclientserviceimpl',['MqttClientServiceImpl',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#af2af8e892a2672f03c2d6f36fb67d453',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl']]],
5 | ['mqttclientserviceproxy',['MqttClientServiceProxy',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy.html#a380df14efd9760b0482bd5f16c7b0081',1,'PxceTcs::MqttClient::Services::MqttClientServiceProxy']]],
6 | ['mqttclientserviceproxyfactory',['MqttClientServiceProxyFactory',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy_factory.html#ab4ef56176d60aa1de4d72182b96459cc',1,'PxceTcs::MqttClient::Services::MqttClientServiceProxyFactory']]],
7 | ['mqttclientservicesecuritystub',['MqttClientServiceSecurityStub',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_security_stub.html#aad88a265dda1d1ac2211de5b2bfa9305',1,'PxceTcs::MqttClient::Services::MqttClientServiceSecurityStub']]],
8 | ['mqttclientservicestub',['MqttClientServiceStub',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_stub.html#a6bf1786cb186d79b8401652d28db7a0e',1,'PxceTcs::MqttClient::Services::MqttClientServiceStub']]]
9 | ];
10 |
--------------------------------------------------------------------------------
/docs/search/functions_4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/functions_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['publish',['Publish',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#a00a22ab038cceb8c9e366d7bc327b836',1,'PxceTcs::MqttClient::Services::IMqttClientService::Publish()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#a56da738b2650f2538d4943ea5725f581',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::Publish()']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/functions_5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/functions_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['reconnect',['Reconnect',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#a7961b421c2b6431087e8176fa1d1da77',1,'PxceTcs::MqttClient::Services::IMqttClientService::Reconnect()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#a731cd1c3c3b33986046a80571228763d',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::Reconnect()']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/functions_6.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/functions_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['subscribe',['Subscribe',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#a5c405afd624f30d1eaab8ebc41d2c118',1,'PxceTcs::MqttClient::Services::IMqttClientService::Subscribe()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#ab0b3599ce860aae38dc2ca53a0511d64',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::Subscribe()']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/functions_7.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/functions_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['tryconsumemessage',['TryConsumeMessage',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#afe1487bde7038f64bf20b19ef18632f8',1,'PxceTcs::MqttClient::Services::IMqttClientService::TryConsumeMessage()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#a9eb8aca3b76c4706ff1eed6dda754e49',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::TryConsumeMessage()']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/functions_8.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/functions_8.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['unsubscribe',['Unsubscribe',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#a5649871e46b416f3f970391bafea45cf',1,'PxceTcs::MqttClient::Services::IMqttClientService::Unsubscribe()'],['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#a91c4c6013c4ffcbf70714f4f0dc852c5',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl::Unsubscribe()']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/functions_9.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/functions_9.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['_7eimqttclientservice',['~IMqttClientService',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_i_mqtt_client_service.html#a620c76f7964d27e761141373ec351a92',1,'PxceTcs::MqttClient::Services::IMqttClientService']]],
4 | ['_7emqttclientservicefactory',['~MqttClientServiceFactory',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_factory.html#a05b4a8430553106c24d40f49121a7347',1,'PxceTcs::MqttClient::Services::MqttClientServiceFactory']]],
5 | ['_7emqttclientserviceimpl',['~MqttClientServiceImpl',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_impl.html#a96b30e1a67f607210f654ab53985a40b',1,'PxceTcs::MqttClient::Services::MqttClientServiceImpl']]],
6 | ['_7emqttclientserviceproxy',['~MqttClientServiceProxy',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy.html#a3fa2ef06a845007922b2d77234888a2c',1,'PxceTcs::MqttClient::Services::MqttClientServiceProxy']]],
7 | ['_7emqttclientserviceproxyfactory',['~MqttClientServiceProxyFactory',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_proxy_factory.html#a097d5301b581f9241719a530bae9a268',1,'PxceTcs::MqttClient::Services::MqttClientServiceProxyFactory']]],
8 | ['_7emqttclientservicesecuritystub',['~MqttClientServiceSecurityStub',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_security_stub.html#a9c87acdc09d01e0c3b8e0ba48c4254fd',1,'PxceTcs::MqttClient::Services::MqttClientServiceSecurityStub']]],
9 | ['_7emqttclientservicestub',['~MqttClientServiceStub',['../class_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_mqtt_client_service_stub.html#a184964ead0f3b40a95545ee2d8b4ecb8',1,'PxceTcs::MqttClient::Services::MqttClientServiceStub']]]
10 | ];
11 |
--------------------------------------------------------------------------------
/docs/search/mag_sel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/search/mag_sel.png
--------------------------------------------------------------------------------
/docs/search/namespaces_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/namespaces_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['mqttclient',['MqttClient',['../namespace_pxce_tcs_1_1_mqtt_client.html',1,'PxceTcs']]],
4 | ['pxcetcs',['PxceTcs',['../namespace_pxce_tcs.html',1,'']]],
5 | ['services',['Services',['../namespace_pxce_tcs_1_1_mqtt_client_1_1_services.html',1,'PxceTcs::MqttClient']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/search/nomatches.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/docs/search/search_l.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/search/search_l.png
--------------------------------------------------------------------------------
/docs/search/search_m.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/search/search_m.png
--------------------------------------------------------------------------------
/docs/search/search_r.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/search/search_r.png
--------------------------------------------------------------------------------
/docs/search/searchdata.js:
--------------------------------------------------------------------------------
1 | var indexSectionsWithContent =
2 | {
3 | 0: "acdeiklmpqrstuw~",
4 | 1: "cimsw",
5 | 2: "cdimprstu~",
6 | 3: "acdeiklmpqrstuw"
7 | };
8 |
9 | var indexSectionNames =
10 | {
11 | 0: "all",
12 | 1: "classes",
13 | 2: "functions",
14 | 3: "variables"
15 | };
16 |
17 | var indexSectionLabels =
18 | {
19 | 0: "All",
20 | 1: "Classes",
21 | 2: "Functions",
22 | 3: "Variables"
23 | };
24 |
25 |
--------------------------------------------------------------------------------
/docs/search/variables_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/variables_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['automaticreconnect',['automaticReconnect',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a6bcfee64c8f0e2eec15b9cf6cb6b0d73',1,'PxceTcs::MqttClient::Services::ConnectOptions']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/variables_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/variables_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['connecttimeout',['connectTimeout',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a8a473eaa6c6296a5c356d20aea011441',1,'PxceTcs::MqttClient::Services::ConnectOptions']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/variables_2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/variables_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['duplicate',['duplicate',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message.html#a7c5692e2e13ab27f34f323c74d02317a',1,'PxceTcs::MqttClient::Services::Message']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/variables_3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/variables_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['enabledciphersuites',['enabledCipherSuites',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options.html#af36d61a78f0828b3a8a4645f37845ab6',1,'PxceTcs::MqttClient::Services::SslOptions']]],
4 | ['enableservercertauth',['enableServerCertAuth',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options.html#a4e9edd8a3cd3af8db63cd37435050a14',1,'PxceTcs::MqttClient::Services::SslOptions']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/variables_4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/variables_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['iscleansession',['isCleanSession',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a41082f836a56e3b299651f2b5c629aec',1,'PxceTcs::MqttClient::Services::ConnectOptions']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/variables_5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/variables_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['keepaliveinterval',['keepAliveInterval',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a21917761f7e916c4a3631225ba112bc4',1,'PxceTcs::MqttClient::Services::ConnectOptions']]],
4 | ['keystore',['keyStore',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options.html#a24403c9bef4b53224c02c4399c720f7c',1,'PxceTcs::MqttClient::Services::SslOptions']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/variables_6.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/variables_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['len',['len',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message.html#a87fcd0036ff645d4ab4f780b36b27af2',1,'PxceTcs::MqttClient::Services::Message']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/variables_7.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/variables_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['maxinflight',['maxInflight',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a6536a7e4189ecfb27080ec45232b2029',1,'PxceTcs::MqttClient::Services::ConnectOptions']]],
4 | ['maxretryinterval',['maxRetryInterval',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#abea8ad605849b11c97f161282062e859',1,'PxceTcs::MqttClient::Services::ConnectOptions']]],
5 | ['minretryinterval',['minRetryInterval',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#aa69b2fc0527a276f2441d7029958704f',1,'PxceTcs::MqttClient::Services::ConnectOptions']]],
6 | ['mqttversion',['mqttVersion',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a7d7beec8745be247e827d109076915da',1,'PxceTcs::MqttClient::Services::ConnectOptions']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/docs/search/variables_8.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/variables_8.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['password',['password',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a268058475cadf82cf4693d0477ef46bb',1,'PxceTcs::MqttClient::Services::ConnectOptions']]],
4 | ['payload',['payload',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message.html#a0f147795de68d08a1b0581396c4127e1',1,'PxceTcs::MqttClient::Services::Message::payload()'],['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_will_options.html#a0350b3d4fc91b729dbce37218f77e540',1,'PxceTcs::MqttClient::Services::WillOptions::payload()']]],
5 | ['privatekey',['privateKey',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options.html#ac99c13c792167abadbd19d975f7e5760',1,'PxceTcs::MqttClient::Services::SslOptions']]],
6 | ['privatekeypassword',['privateKeyPassword',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options.html#a21e8e4e2a736a7cbf14699ecd8b9a95b',1,'PxceTcs::MqttClient::Services::SslOptions']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/docs/search/variables_9.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/variables_9.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['qos',['qos',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message.html#a27555c1c7c01efaccbcb31fcae34be2c',1,'PxceTcs::MqttClient::Services::Message::qos()'],['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_will_options.html#a3b2e0f648324e01db93cc6e2c2bed4a5',1,'PxceTcs::MqttClient::Services::WillOptions::qos()']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/variables_a.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/variables_a.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['retained',['retained',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message.html#ac1314720a38422eab49dd4542285c880',1,'PxceTcs::MqttClient::Services::Message::retained()'],['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_will_options.html#a007b66f6eadde48f39b91390a68bfb4e',1,'PxceTcs::MqttClient::Services::WillOptions::retained()']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/variables_b.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/variables_b.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['servers',['servers',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a92142e3d637d6ab4b66291662f79ac03',1,'PxceTcs::MqttClient::Services::ConnectOptions']]],
4 | ['ssloptions',['sslOptions',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a900a8ace1c761419e601bbb7eff8762f',1,'PxceTcs::MqttClient::Services::ConnectOptions']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/variables_c.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/variables_c.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['topic',['topic',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message.html#a89e36bab9b2361f1347d1ed63c3526af',1,'PxceTcs::MqttClient::Services::Message::topic()'],['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_will_options.html#a3c27cac0f02c4da12f3174fbdbe10740',1,'PxceTcs::MqttClient::Services::WillOptions::topic()']]],
4 | ['truststore',['trustStore',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options.html#a53c62c2ece950e08e3e1e4b16864c405',1,'PxceTcs::MqttClient::Services::SslOptions']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/search/variables_d.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/variables_d.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['username',['userName',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a0a4915a03d45e858df7e9c4139fd636d',1,'PxceTcs::MqttClient::Services::ConnectOptions']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/search/variables_e.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
18 |
Searching...
19 |
No Matches
20 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/docs/search/variables_e.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['willoptions',['willOptions',['../struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.html#a80e4bf51465a5d60fede7e2e568bc9b6',1,'PxceTcs::MqttClient::Services::ConnectOptions']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/splitbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/splitbar.png
--------------------------------------------------------------------------------
/docs/struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_connect_options.png
--------------------------------------------------------------------------------
/docs/struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_message.png
--------------------------------------------------------------------------------
/docs/struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_ssl_options.png
--------------------------------------------------------------------------------
/docs/struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_will_options.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/struct_pxce_tcs_1_1_mqtt_client_1_1_services_1_1_will_options.png
--------------------------------------------------------------------------------
/docs/sync_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/sync_off.png
--------------------------------------------------------------------------------
/docs/sync_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/sync_on.png
--------------------------------------------------------------------------------
/docs/tab_a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/tab_a.png
--------------------------------------------------------------------------------
/docs/tab_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/tab_b.png
--------------------------------------------------------------------------------
/docs/tab_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/tab_h.png
--------------------------------------------------------------------------------
/docs/tab_s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PLCnext/MqttClient/8c2d3f604715ec9beba7c6ac08455ffd18528a23/docs/tab_s.png
--------------------------------------------------------------------------------
/libs/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(MqttClientService)
2 |
--------------------------------------------------------------------------------
/libs/MqttClientService/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.13)
2 |
3 | project(PxceTcs.Mqtt.Client)
4 |
5 | if(NOT CMAKE_BUILD_TYPE)
6 | set(CMAKE_BUILD_TYPE Release)
7 | endif()
8 |
9 | ################# create target #######################################################
10 |
11 | set (WILDCARD_SOURCE *.cpp)
12 | set (WILDCARD_HEADER *.h *.hpp *.hxx)
13 |
14 | file(GLOB_RECURSE Headers src/${WILDCARD_HEADER} )
15 | file(GLOB_RECURSE Sources src/${WILDCARD_SOURCE} )
16 | add_library(PxceTcs.Mqtt.Client SHARED ${Headers} ${Sources})
17 |
18 | #######################################################################################
19 |
20 | ################# project include-paths ###############################################
21 |
22 | target_include_directories(PxceTcs.Mqtt.Client
23 | PUBLIC
24 | $
25 | $)
26 |
27 | #######################################################################################
28 |
29 | ################# include arp cmake module path #######################################
30 |
31 | list(INSERT CMAKE_MODULE_PATH 0 "${ARP_TOOLCHAIN_CMAKE_MODULE_PATH}")
32 | list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
33 |
34 | #######################################################################################
35 |
36 | ################# set link options ####################################################
37 | # WARNING: Without --no-undefined the linker will not check, whether all necessary #
38 | # libraries are linked. When a library which is necessary is not linked, #
39 | # the firmware will crash and there will be NO indication why it crashed. #
40 | #######################################################################################
41 |
42 | target_link_options(PxceTcs.Mqtt.Client PRIVATE LINKER:--no-undefined)
43 |
44 | #######################################################################################
45 |
46 | ################# add link targets ####################################################
47 |
48 | find_package(ArpDevice REQUIRED)
49 | find_package(ArpProgramming REQUIRED)
50 | find_package(PahoMqttCpp REQUIRED)
51 | find_package(PahoMqttCS REQUIRED)
52 | find_package(PahoMqttAS REQUIRED)
53 |
54 | target_link_libraries(PxceTcs.Mqtt.Client PRIVATE ArpDevice ArpProgramming
55 | PahoMqttCpp::paho-mqttpp3
56 | PahoMqttCS::PahoMqttCS PahoMqttAS::PahoMqttAS)
57 |
58 | #######################################################################################
59 |
60 | ################# install ############################################################
61 |
62 | string(REGEX REPLACE "^.*\\(([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+).*$" "\\1" _ARP_SHORT_DEVICE_VERSION ${ARP_DEVICE_VERSION})
63 | install(TARGETS PxceTcs.Mqtt.Client
64 | LIBRARY DESTINATION ${ARP_DEVICE}_${_ARP_SHORT_DEVICE_VERSION}/$/lib
65 | ARCHIVE DESTINATION ${ARP_DEVICE}_${_ARP_SHORT_DEVICE_VERSION}/$/lib
66 | RUNTIME DESTINATION ${ARP_DEVICE}_${_ARP_SHORT_DEVICE_VERSION}/$/bin)
67 | unset(_ARP_SHORT_DEVICE_VERSION)
68 |
69 | #######################################################################################
70 |
--------------------------------------------------------------------------------
/libs/MqttClientService/cmake/FindPahoMqttAS.cmake:
--------------------------------------------------------------------------------
1 | find_path(PahoMqttAS_INCLUDE_DIR
2 | NAMES MQTTClient.h
3 | )
4 | find_library(PahoMqttAS_LIBRARY
5 | NAMES paho-mqtt3as
6 | )
7 |
8 | include(FindPackageHandleStandardArgs)
9 |
10 | find_package_handle_standard_args(PahoMqttAS
11 | DEFAULT_MSG
12 | PahoMqttAS_INCLUDE_DIR PahoMqttAS_LIBRARY
13 | )
14 |
15 | if(PahoMqttAS_FOUND AND NOT TARGET PahoMqttAS::PahoMqttAS)
16 | add_library(PahoMqttAS::PahoMqttAS UNKNOWN IMPORTED)
17 | set_target_properties(PahoMqttAS::PahoMqttAS PROPERTIES
18 | IMPORTED_LOCATION "${PahoMqttAS_LIBRARY}"
19 | INTERFACE_INCLUDE_DIRECTORIES "${PahoMqttAS_INCLUDE_DIR}"
20 | )
21 | endif()
22 |
23 | mark_as_advanced(PahoMqttAS_INCLUDE_DIR PahoMqttAS_LIBRARY)
24 |
--------------------------------------------------------------------------------
/libs/MqttClientService/cmake/FindPahoMqttCS.cmake:
--------------------------------------------------------------------------------
1 | find_path(PahoMqttCS_INCLUDE_DIR
2 | NAMES MQTTClient.h
3 | )
4 | find_library(PahoMqttCS_LIBRARY
5 | NAMES paho-mqtt3cs
6 | )
7 |
8 | include(FindPackageHandleStandardArgs)
9 |
10 | find_package_handle_standard_args(PahoMqttCS
11 | DEFAULT_MSG
12 | PahoMqttCS_INCLUDE_DIR PahoMqttCS_LIBRARY
13 | )
14 |
15 | if(PahoMqttCS_FOUND AND NOT TARGET PahoMqttCS::PahoMqttCS)
16 | add_library(PahoMqttCS::PahoMqttCS UNKNOWN IMPORTED)
17 | set_target_properties(PahoMqttCS::PahoMqttCS PROPERTIES
18 | IMPORTED_LOCATION "${PahoMqttCS_LIBRARY}"
19 | INTERFACE_INCLUDE_DIRECTORIES "${PahoMqttCS_INCLUDE_DIR}"
20 | )
21 | endif()
22 |
23 | mark_as_advanced(PahoMqttCS_INCLUDE_DIR PahoMqttCS_LIBRARY)
24 |
--------------------------------------------------------------------------------
/libs/MqttClientService/cmake/MqttClientConfig.in.cmake:
--------------------------------------------------------------------------------
1 | # Copyright PHOENIX CONTACT Deutschland GmbH
2 | #
3 | # CMake configure file for @PROJECT_NAME@ library
4 |
5 | @PACKAGE_INIT@
6 |
7 | include(CMakeFindDependencyMacro)
8 |
9 | include("${CMAKE_CURRENT_LIST_DIR}/@TargetsExportName@.cmake")
10 | check_required_components("@PROJECT_NAME@")
11 |
--------------------------------------------------------------------------------
/libs/MqttClientService/intermediate/config/MqttClient.acf.config:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/libs/MqttClientService/src/Client.hpp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
3 | // Licensed under the MIT. See LICENSE file in the project root for full license information.
4 | // SPDX-License-Identifier: MIT
5 | //
6 | #pragma once
7 | #include
8 | #include "mqtt/client.h"
9 |
10 | namespace PxceTcs { namespace Mqtt
11 | {
12 |
13 | class Client
14 | {
15 | public: // typedefs
16 | typedef std::uint16_t client_id_t;
17 |
18 | public: // construction/destruction
19 | Client();
20 | virtual ~Client() = default;
21 |
22 | public: // operations
23 | void Connect(Client::client_id_t clientId);
24 | void Connect(Client::client_id_t clientId, mqtt::connect_options opts);
25 | client_id_t CreateClient(const std::string serverURI, const std::string clientId);
26 | void DestroyClient(Client::client_id_t clientId);
27 | void Disconnect(client_id_t client_id);
28 | void Disconnect(client_id_t client_id, int timeoutMS);
29 | int GetTimeout(client_id_t client_id);
30 | bool IsConnected(Client::client_id_t clientId);
31 | void Publish(client_id_t client_id, mqtt::string_ref top, const void * payload, std::size_t n, int qos, bool retained);
32 | void Reconnect(Client::client_id_t clientId);
33 | void SetTimeout(client_id_t client_id, int timeoutMS);
34 | void Subscribe(Client::client_id_t clientId, const std::string & topicFilter);
35 | bool TryConsumeMessage(Client::client_id_t clientId, mqtt::const_message_ptr * msg);
36 | void UnSubscribe(Client::client_id_t clientId, const std::string & topicFilter);
37 |
38 | private: // methods
39 |
40 | private: // fields
41 | std::unordered_map clients; // The container for MQTT client objects
42 | };
43 |
44 | }} // end of namespace PxceTcs.Mqtt
45 |
--------------------------------------------------------------------------------
/libs/MqttClientService/src/MqttClientComponent.cpp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
3 | // Licensed under the MIT. See LICENSE file in the project root for full license information.
4 | // SPDX-License-Identifier: MIT
5 | //
6 | #include "MqttClientComponent.hpp"
7 | #include "Arp/System/Rsc/ServiceManager.hpp"
8 | #include "services/IMqttClientService.hpp"
9 | #include "services/MqttClientServiceFactory.hpp"
10 | #include "MqttClientManager.hpp"
11 | #include "MQTTClient.h" // Needed only for initialisation.
12 |
13 | namespace PxceTcs { namespace MqttClient
14 | {
15 |
16 | void MqttClientComponent::Initialize()
17 | {
18 | // subscribe events from the event system (Nm) here
19 |
20 | // Initialise the underlying MQTT libraries.
21 | // Without this, other SSL/TLS connections (e.g. Proficloud) will not work correctly.
22 | MQTTAsync_init_options inits = MQTTAsync_init_options_initializer;
23 | MQTTAsync_global_init(&inits);
24 |
25 | MQTTClient_init_options initsClient = MQTTClient_init_options_initializer;
26 | MQTTClient_global_init(&initsClient);
27 |
28 | // Create the MQTT Client Manager singleton
29 | MqttClientManager::CreateInstance();
30 | }
31 |
32 | void MqttClientComponent::PublishServices()
33 | {
34 | this->log.Info("Publishing MQTT Client service");
35 | // publish the services of this component here
36 | using namespace Arp::System::Rsc;
37 | using namespace MqttClient::Services;
38 | ServiceManager::PublishService("PxceTcs");
39 | this->log.Info("Published MQTT Client service");
40 | }
41 |
42 | void MqttClientComponent::Dispose()
43 | {
44 | // implement this inverse to SetupSettings(), LoadSettings() and Initialize()
45 |
46 | MqttClientManager::DisposeInstance();
47 | }
48 |
49 | }} // end of namespace PxceTcs.MqttClient
50 |
--------------------------------------------------------------------------------
/libs/MqttClientService/src/MqttClientComponent.hpp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
3 | // Licensed under the MIT. See LICENSE file in the project root for full license information.
4 | // SPDX-License-Identifier: MIT
5 | //
6 | #pragma once
7 | #include "Arp/System/Core/Arp.h"
8 | #include "Arp/System/Acf/ComponentBase.hpp"
9 | #include "Arp/System/Acf/IApplication.hpp"
10 | #include "MqttClientLibrary.hpp"
11 | #include "Arp/System/Commons/Logging.h"
12 |
13 | namespace PxceTcs { namespace MqttClient
14 | {
15 |
16 | using namespace Arp;
17 | using namespace Arp::System::Acf;
18 |
19 | //#component
20 | class MqttClientComponent
21 | : public ComponentBase
22 | , private Loggable
23 | {
24 | public: // typedefs
25 |
26 | public: // construction/destruction
27 | MqttClientComponent(IApplication& application, const String& name);
28 | virtual ~MqttClientComponent() = default;
29 |
30 | public: // IComponent operations
31 | void Initialize() override;
32 | void PublishServices() override;
33 | void Dispose() override;
34 |
35 | private: // methods
36 | MqttClientComponent(const MqttClientComponent& arg) = delete;
37 | MqttClientComponent& operator= (const MqttClientComponent& arg) = delete;
38 |
39 | public: // static factory operations
40 | static IComponent::Ptr Create(Arp::System::Acf::IApplication& application, const String& name);
41 |
42 | private: // fields
43 |
44 | public: /* Ports
45 | =====
46 | Ports are defined in the following way:
47 | //#port
48 | //#attributes(Input|Retain)
49 | //#name(NameOfPort)
50 | bool portField;
51 |
52 | The attributes comment define the port attributes and is optional.
53 | The name comment defines the name of the port and is optional. Default is the name of the field
54 | */
55 | };
56 |
57 | ///////////////////////////////////////////////////////////////////////////////
58 | // inline methods of class MqttClientComponent
59 | inline MqttClientComponent::MqttClientComponent(IApplication& application, const String& name)
60 | : ComponentBase(application, ::PxceTcs::MqttClient::MqttClientLibrary::GetInstance(), name, ComponentCategory::Custom, 100001, true)
61 | {
62 | }
63 |
64 | inline IComponent::Ptr MqttClientComponent::Create(Arp::System::Acf::IApplication& application, const String& name)
65 | {
66 | return IComponent::Ptr(new MqttClientComponent(application, name));
67 | }
68 |
69 | }} // end of namespace PxceTcs.MqttClient
70 |
--------------------------------------------------------------------------------
/libs/MqttClientService/src/MqttClientLibrary.cpp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
3 | // Licensed under the MIT. See LICENSE file in the project root for full license information.
4 | // SPDX-License-Identifier: MIT
5 | //
6 | #include "MqttClientLibrary.hpp"
7 | #include "Arp/System/Core/CommonTypeName.hxx"
8 | #include "MqttClientComponent.hpp"
9 |
10 | namespace PxceTcs { namespace MqttClient
11 | {
12 |
13 | MqttClientLibrary::MqttClientLibrary(AppDomain& appDomain)
14 | : LibraryBase(appDomain, ARP_VERSION_CURRENT)
15 | {
16 | this->componentFactory.AddFactoryMethod(CommonTypeName<::PxceTcs::MqttClient::MqttClientComponent>(), &::PxceTcs::MqttClient::MqttClientComponent::Create);
17 | }
18 |
19 | void MqttClientLibrary::Main(AppDomain& appDomain)
20 | {
21 | SingletonBase::CreateInstance(appDomain);
22 | }
23 |
24 | extern "C" ARP_CXX_SYMBOL_EXPORT ILibrary& ArpDynamicLibraryMain(AppDomain& appDomain)
25 | {
26 | MqttClientLibrary::Main(appDomain);
27 | return MqttClientLibrary::GetInstance();
28 | }
29 |
30 | }} // end of namespace PxceTcs.MqttClient
31 |
--------------------------------------------------------------------------------
/libs/MqttClientService/src/MqttClientLibrary.hpp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
3 | // Licensed under the MIT. See LICENSE file in the project root for full license information.
4 | // SPDX-License-Identifier: MIT
5 | //
6 | #pragma once
7 | #include "Arp/System/Core/Arp.h"
8 | #include "Arp/System/Core/AppDomain.hpp"
9 | #include "Arp/System/Core/Singleton.hxx"
10 | #include "Arp/System/Core/Library.h"
11 | #include "Arp/System/Acf/LibraryBase.hpp"
12 |
13 | namespace PxceTcs { namespace MqttClient
14 | {
15 |
16 | using namespace Arp::System::Acf;
17 |
18 | class MqttClientLibrary : public LibraryBase, public Arp::Singleton
19 | {
20 | public: // typedefs
21 | typedef Singleton SingletonBase;
22 |
23 | public: // construction/destruction
24 | MqttClientLibrary(Arp::AppDomain& appDomain);
25 | virtual ~MqttClientLibrary() = default;
26 |
27 | public: // static operations (called through reflection)
28 | static void Main(Arp::AppDomain& appDomain);
29 |
30 | private: // deleted methods
31 | MqttClientLibrary(const MqttClientLibrary& arg) = delete;
32 | MqttClientLibrary& operator= (const MqttClientLibrary& arg) = delete;
33 | };
34 |
35 | extern "C" ARP_CXX_SYMBOL_EXPORT ILibrary& ArpDynamicLibraryMain(Arp::AppDomain& appDomain);
36 |
37 | ///////////////////////////////////////////////////////////////////////////////
38 | // inline methods of class MqttClientLibrary
39 |
40 | }} // end of namespace PxceTcs.MqttClient
41 |
--------------------------------------------------------------------------------
/libs/MqttClientService/src/MqttClientManager.hpp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
3 | // Licensed under the MIT. See LICENSE file in the project root for full license information.
4 | // SPDX-License-Identifier: MIT
5 | //
6 | #pragma once
7 | #include "Arp/System/Core/Arp.h"
8 | #include "Arp/System/Core/Singleton.hxx"
9 | #include "Arp/System/Commons/Logging.h"
10 | #include "Arp/System/Rsc/Services/RscString.hxx"
11 | #include "Arp/System/Rsc/Services/RscVariant.hxx"
12 | #include "services/Message.hpp"
13 | #include "services/ConnectOptions.hpp"
14 | #include "Client.hpp"
15 |
16 | namespace PxceTcs { namespace MqttClient
17 | {
18 |
19 | using namespace Arp;
20 | using namespace Arp::System::Rsc::Services;
21 | using namespace Services;
22 |
23 | class MqttClientManager : public Singleton
24 | , private Loggable
25 | {
26 | public: // typedefs
27 |
28 | public: // construction/destruction
29 | /// Constructs an instance.
30 | MqttClientManager(void) = default;
31 | /// Copy constructor.
32 | MqttClientManager(const MqttClientManager& arg) = default;
33 | /// Assignment operator.
34 | MqttClientManager& operator=(const MqttClientManager& arg) = default;
35 | /// Destructs this instance and frees all resources.
36 | ~MqttClientManager(void) = default;
37 |
38 | public: // operators
39 |
40 | public: // static operations
41 |
42 | public: // setter/getter operations
43 |
44 | public: // operations
45 | // int32 Connect(int32 clientId);
46 | int32 Connect(int32 clientId, const ConnectOptions& opts);
47 | int32 CreateClient(const RscString<512>& serverURI, const RscString<512>& clientId);
48 | int32 DestroyClient(int32 clientId);
49 | // int32 Disconnect(int32 clientId)override;
50 | int32 Disconnect(int32 clientId, int32 timeoutMS);
51 | int32 GetTimeout(int32 clientId);
52 | boolean IsConnected(int32 clientId);
53 | int32 Publish(int32 clientId, const RscString<512>& topic, RscVariant<512> payload, uint32 length, int32 qos, boolean retained);
54 | int32 Reconnect(int32 clientId);
55 | int32 SetTimeout(int32 clientId, int32 timeoutMS);
56 | int32 Subscribe(int32 clientId, const RscString<512>& topicFilter);
57 | int32 TryConsumeMessage(int32 clientId, Message& msg);
58 | int32 Unsubscribe(int32 clientId, const RscString<512>& topicFilter);
59 |
60 | protected: // operations
61 |
62 | private: // static methods
63 |
64 | private: // methods
65 | void HandleException();
66 |
67 | private: // fields
68 | std::unique_ptr client = std::make_unique();
69 |
70 | private: // static fields
71 |
72 | };
73 |
74 | ///////////////////////////////////////////////////////////////////////////////
75 | // inline methods of class MqttClientManager
76 |
77 | }} // end of namespace PxceTcs.MqttClient
78 |
--------------------------------------------------------------------------------
/libs/MqttClientService/src/services/Message.hpp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
3 | // Licensed under the MIT. See LICENSE file in the project root for full license information.
4 | // SPDX-License-Identifier: MIT
5 | //
6 | #pragma once
7 | #include "Arp/System/Core/Arp.h"
8 | #include "Arp/System/Rsc/Services/IRscSerializable.hpp"
9 | #include "Arp/System/Rsc/Services/RscReader.hpp"
10 | #include "Arp/System/Rsc/Services/RscString.hxx"
11 | #include "Arp/System/Rsc/Services/RscVariant.hxx"
12 | #include "Arp/System/Rsc/Services/RscWriter.hpp"
13 |
14 | // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED
15 |
16 | namespace PxceTcs { namespace MqttClient { namespace Services
17 | {
18 |
19 | using namespace Arp;
20 | using namespace Arp::System::Rsc::Services;
21 |
22 | ///
23 | /// An MQTT message holds everything required for an MQTT PUBLISH message.
24 | /// This holds the message payload, topic string, and all the additional meta-data for an MQTT message.
25 | ///
26 | struct Message : public IRscSerializable
27 | {
28 | ///
29 | /// The message topic.
30 | ///
31 | RscString<512> topic;
32 |
33 | ///
34 | /// The message payload, truncated to 512 bytes if necessary.
35 | ///
36 | RscVariant<512> payload;
37 |
38 | ///
39 | /// The number of bytes in the payload.
40 | ///
41 | int32 len = 0;
42 |
43 | ///
44 | /// The quality of service for the message.
45 | ///
46 | int32 qos = 0;
47 |
48 | ///
49 | /// Whether this message might be a duplicate of one which has already been received.
50 | ///
51 | boolean duplicate = false;
52 |
53 | ///
54 | /// Whether the message should be retained by the broker.
55 | ///
56 | boolean retained = false;
57 |
58 | void Serialize(RscWriter& writer)const override
59 | {
60 | writer.Write(this->topic);
61 | writer.Write(this->payload);
62 | writer.Write(this->len);
63 | writer.Write(this->qos);
64 | writer.Write(this->duplicate);
65 | writer.Write(this->retained);
66 | }
67 |
68 | void Deserialize(RscReader& reader)override
69 | {
70 | reader.Read(this->topic);
71 | reader.Read(this->payload);
72 | reader.Read(this->len);
73 | reader.Read(this->qos);
74 | reader.Read(this->duplicate);
75 | reader.Read(this->retained);
76 | }
77 |
78 | static size_t GetFieldCount(void)
79 | {
80 | return 6;
81 | }
82 | };
83 |
84 | }}} // end of namespace PxceTcs::MqttClient::Services
85 |
--------------------------------------------------------------------------------
/libs/MqttClientService/src/services/MqttClientServiceFactory.cpp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
3 | // Licensed under the MIT. See LICENSE file in the project root for full license information.
4 | // SPDX-License-Identifier: MIT
5 | //
6 | #include "MqttClientServiceFactory.hpp"
7 | #include "MqttClientServiceImpl.hpp"
8 | #include "MqttClientServiceStub.hpp"
9 | #include "MqttClientServiceSecurityStub.hpp"
10 |
11 | // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IMqttClientService.cs
12 |
13 | namespace PxceTcs { namespace MqttClient { namespace Services
14 | {
15 |
16 | // initializing of static fields
17 | MqttClientServiceFactory MqttClientServiceFactory::instance;
18 |
19 | MqttClientServiceFactory::MqttClientServiceFactory(void)
20 | :RscServiceFactoryBase(false, "Pxce")
21 | {
22 | }
23 |
24 | MqttClientServiceFactory& MqttClientServiceFactory::GetInstance(void)
25 | {
26 | return instance;
27 | }
28 |
29 | IRscService* MqttClientServiceFactory::CreateServiceImpl(const char* providerName, IRscAuthorizator* pAuthorizator)
30 | {
31 | if(this->isSecure)
32 | {
33 | return new MqttClientServiceSecurityStub(providerName, pAuthorizator);
34 | }
35 | else
36 | {
37 | return new MqttClientServiceImpl();
38 | }
39 | }
40 |
41 | IRscServiceStub* MqttClientServiceFactory::CreateServiceStub(const char* providerName, IRscAuthorizator* pAuthorizator)
42 | {
43 | MqttClientServiceImpl* pImpl = nullptr;
44 | if(isSecure)
45 | {
46 | pImpl = new MqttClientServiceSecurityStub(providerName, pAuthorizator);
47 | }
48 | else
49 | {
50 | pImpl = new MqttClientServiceImpl();
51 | }
52 |
53 | return new MqttClientServiceStub(pImpl);
54 | }
55 |
56 | }}} // end of namespace PxceTcs::MqttClient::Services
57 |
--------------------------------------------------------------------------------
/libs/MqttClientService/src/services/MqttClientServiceFactory.hpp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
3 | // Licensed under the MIT. See LICENSE file in the project root for full license information.
4 | // SPDX-License-Identifier: MIT
5 | //
6 | #pragma once
7 | #include "Arp/System/Rsc/Services/RscServiceFactoryBase.hpp"
8 | #include "Arp/System/Rsc/Services/IRscServiceStub.hpp"
9 |
10 | // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IMqttClientService.cs
11 |
12 | namespace PxceTcs { namespace MqttClient { namespace Services
13 | {
14 |
15 | using namespace Arp::System::Rsc::Services;
16 |
17 | class MqttClientServiceFactory : public RscServiceFactoryBase
18 | {
19 | public: // typedefs
20 |
21 | public: // construction/destruction
22 | /// Constructs an instance.
23 | MqttClientServiceFactory(void);
24 | /// Destructs this instance and frees all resouces.
25 | virtual ~MqttClientServiceFactory(void) = default;
26 |
27 | public: // static singleton operation
28 | ARP_CXX_SYMBOL_EXPORT static MqttClientServiceFactory& GetInstance(void);
29 |
30 | public: // IServiceFactory operations
31 | IRscService* CreateServiceImpl(const char* providerName, IRscAuthorizator* pAuthorizator)override;
32 | IRscServiceStub* CreateServiceStub(const char* providerName, IRscAuthorizator* pAuthorizator)override;
33 |
34 | private: // static fields
35 | static MqttClientServiceFactory instance;
36 | };
37 |
38 | ///////////////////////////////////////////////////////////////////////////////
39 | // inline methods of class MqttClientServiceFactory
40 |
41 | }}} // end of namespace PxceTcs::MqttClient::Services
42 |
43 |
--------------------------------------------------------------------------------
/libs/MqttClientService/src/services/MqttClientServiceImpl.hpp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
3 | // Licensed under the MIT. See LICENSE file in the project root for full license information.
4 | // SPDX-License-Identifier: MIT
5 | //
6 | #pragma once
7 | #include "IMqttClientService.hpp"
8 |
9 | namespace PxceTcs { namespace MqttClient { namespace Services
10 | {
11 |
12 | class MqttClientServiceImpl : public IMqttClientService
13 | {
14 | public: // construction/destruction
15 | /// Constructs an instance.
16 | MqttClientServiceImpl(void);
17 | /// Destructs this instance and frees all resouces.
18 | virtual ~MqttClientServiceImpl(void);
19 |
20 | public: // IMqttClientService operations
21 | int32 Connect(int32 clientId, const ConnectOptions& opts)override;
22 | int32 CreateClient(const RscString<512>& serverURI, const RscString<512>& clientId)override;
23 | int32 DestroyClient(int32 clientId)override;
24 | int32 Disconnect(int32 clientId, int32 timeoutMS)override;
25 | int32 GetTimeout(int32 clientId)override;
26 | boolean IsConnected(int32 clientId)override;
27 | int32 Publish(int32 clientId, const RscString<512>& topic, RscVariant<512> payload, uint32 length, int32 qos, boolean retained)override;
28 | int32 Reconnect(int32 clientId)override;
29 | int32 SetTimeout(int32 clientId, int32 timeoutMS)override;
30 | int32 Subscribe(int32 clientId, const RscString<512>& topicFilter)override;
31 | int32 TryConsumeMessage(int32 clientId, Message& msg)override;
32 | int32 Unsubscribe(int32 clientId, const RscString<512>& topicFilter)override;
33 |
34 | private: // deleted methods (for non-copyable classes)
35 | MqttClientServiceImpl(const MqttClientServiceImpl& arg) = delete;
36 | MqttClientServiceImpl& operator=(const MqttClientServiceImpl& arg) = delete;
37 | };
38 |
39 | ///////////////////////////////////////////////////////////////////////////////
40 | // inline methods of class MqttClientServiceImpl
41 | inline MqttClientServiceImpl::MqttClientServiceImpl(void)
42 | {
43 | }
44 |
45 | inline MqttClientServiceImpl::~MqttClientServiceImpl(void)
46 | {
47 | }
48 |
49 | }}} // end of namespace PxceTcs::MqttClient::Services
50 |
--------------------------------------------------------------------------------
/libs/MqttClientService/src/services/MqttClientServiceProxy.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright PHOENIX CONTACT Electronics GmbH
4 | //
5 | ///////////////////////////////////////////////////////////////////////////////
6 | #pragma once
7 | #include "Arp/System/Rsc/Services/RscServiceProxyBase.hxx"
8 | #include "IMqttClientService.hpp"
9 |
10 | // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IMqttClientService.cs
11 |
12 | namespace PxceTcs { namespace MqttClient { namespace Services
13 | {
14 |
15 | using namespace Arp;
16 |
17 | class MqttClientServiceProxy : public RscServiceProxyBase
18 | {
19 | public: // construction/destruction
20 | /// Constructs an instance.
21 | MqttClientServiceProxy(RscHandle providerHandle, RscHandle serviceHandle, RscClient& rscClient);
22 | /// Destructs this instance and frees all resouces.
23 | virtual ~MqttClientServiceProxy(void);
24 |
25 | public: // IMqttClientService operations
26 | int32 Connect(int32 clientId, const ConnectOptions& opts)override;
27 | int32 CreateClient(const RscString<512>& serverURI, const RscString<512>& clientId)override;
28 | int32 DestroyClient(int32 clientId)override;
29 | int32 Disconnect(int32 clientId, int32 timeoutMS)override;
30 | int32 GetTimeout(int32 clientId)override;
31 | boolean IsConnected(int32 clientId)override;
32 | int32 Publish(int32 clientId, const RscString<512>& topic, RscVariant<512> payload, uint32 length, int32 qos, boolean retained)override;
33 | int32 Reconnect(int32 clientId)override;
34 | int32 SetTimeout(int32 clientId, int32 timeoutMS)override;
35 | int32 Subscribe(int32 clientId, const RscString<512>& topicFilter)override;
36 | int32 TryConsumeMessage(int32 clientId, Message& msg)override;
37 | int32 Unsubscribe(int32 clientId, const RscString<512>& topicFilter)override;
38 |
39 | private: // deleted methods (for non-copyable classes)
40 | MqttClientServiceProxy(const MqttClientServiceProxy& arg) = delete;
41 | MqttClientServiceProxy& operator=(const MqttClientServiceProxy& arg) = delete;
42 | };
43 |
44 | ///////////////////////////////////////////////////////////////////////////////
45 | // inline methods of class MqttClientServiceProxy
46 | inline MqttClientServiceProxy::~MqttClientServiceProxy(void)
47 | {
48 | }
49 |
50 | }}} // end of namespace PxceTcs::MqttClient::Services
51 |
--------------------------------------------------------------------------------
/libs/MqttClientService/src/services/MqttClientServiceProxyFactory.cpp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
3 | // Licensed under the MIT. See LICENSE file in the project root for full license information.
4 | // SPDX-License-Identifier: MIT
5 | //
6 | #include "MqttClientServiceProxyFactory.hpp"
7 | #include "MqttClientServiceProxy.hpp"
8 |
9 | // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IMqttClientService.cs
10 |
11 | namespace PxceTcs { namespace MqttClient { namespace Services
12 | {
13 |
14 | // initializing of static fields
15 | MqttClientServiceProxyFactory MqttClientServiceProxyFactory::instance;
16 |
17 | MqttClientServiceProxyFactory& MqttClientServiceProxyFactory::GetInstance(void)
18 | {
19 | return instance;
20 | }
21 |
22 | IRscServiceProxy* MqttClientServiceProxyFactory::CreateServiceProxy(RscHandle providerHandle, RscHandle serviceHandle, RscClient& client)
23 | {
24 | return new MqttClientServiceProxy(providerHandle, serviceHandle, client);
25 | }
26 |
27 | }}} // end of namespace PxceTcs::MqttClient::Services
28 |
--------------------------------------------------------------------------------
/libs/MqttClientService/src/services/MqttClientServiceProxyFactory.hpp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
3 | // Licensed under the MIT. See LICENSE file in the project root for full license information.
4 | // SPDX-License-Identifier: MIT
5 | //
6 | #pragma once
7 | #include "Arp/System/Rsc/Services/RscServiceProxyFactoryBase.hpp"
8 | #include "Arp/System/Rsc/Services/IRscServiceProxy.hpp"
9 |
10 | // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IMqttClientService.cs
11 |
12 | namespace PxceTcs { namespace MqttClient { namespace Services
13 | {
14 |
15 | using namespace Arp::System::Rsc::Services;
16 |
17 | class MqttClientServiceProxyFactory : public RscServiceProxyFactoryBase
18 | {
19 | public: // construction/destruction
20 | /// Constructs an instance.
21 | MqttClientServiceProxyFactory(void);
22 | /// Destructs this instance and frees all resouces.
23 | virtual ~MqttClientServiceProxyFactory(void) = default;
24 |
25 | public: // static singleton operation
26 | ARP_CXX_SYMBOL_EXPORT static MqttClientServiceProxyFactory& GetInstance(void);
27 |
28 | public: // IServiceProxyFactory operations
29 | ARP_CXX_SYMBOL_EXPORT IRscServiceProxy* CreateServiceProxy(RscHandle providerHandle, RscHandle serviceHandle, RscClient& client)override;
30 |
31 | private: // static fields
32 | static MqttClientServiceProxyFactory instance;
33 | };
34 |
35 | ///////////////////////////////////////////////////////////////////////////////
36 | // inline methods of class MqttClientServiceProxyFactory
37 | inline MqttClientServiceProxyFactory::MqttClientServiceProxyFactory()
38 | : Base("PxceTcs.MqttClient.Services.IMqttClientService", "Pxce")
39 | {
40 | }
41 |
42 | }}} // end of namespace PxceTcs::MqttClient::Services
43 |
44 |
--------------------------------------------------------------------------------
/libs/MqttClientService/src/services/MqttClientServiceSecurityStub.cpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright PHOENIX CONTACT Electronics GmbH
4 | //
5 | ///////////////////////////////////////////////////////////////////////////////
6 | #include "MqttClientServiceSecurityStub.hpp"
7 |
8 | // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IMqttClientService.cs
9 |
10 | namespace PxceTcs { namespace MqttClient { namespace Services
11 | {
12 |
13 | int32 MqttClientServiceSecurityStub::Connect(int32 clientId, const ConnectOptions& opts)
14 | {
15 | this->AuthorizeServiceInvocation("Connect");
16 | return ServiceImpl::Connect(clientId, opts);
17 | }
18 |
19 | int32 MqttClientServiceSecurityStub::CreateClient(const RscString<512>& serverURI, const RscString<512>& clientId)
20 | {
21 | this->AuthorizeServiceInvocation("CreateClient");
22 | return ServiceImpl::CreateClient(serverURI, clientId);
23 | }
24 |
25 | int32 MqttClientServiceSecurityStub::DestroyClient(int32 clientId)
26 | {
27 | this->AuthorizeServiceInvocation("DestroyClient");
28 | return ServiceImpl::DestroyClient(clientId);
29 | }
30 |
31 | int32 MqttClientServiceSecurityStub::Disconnect(int32 clientId, int32 timeoutMS)
32 | {
33 | this->AuthorizeServiceInvocation("Disconnect");
34 | return ServiceImpl::Disconnect(clientId, timeoutMS);
35 | }
36 |
37 | int32 MqttClientServiceSecurityStub::GetTimeout(int32 clientId)
38 | {
39 | this->AuthorizeServiceInvocation("GetTimeout");
40 | return ServiceImpl::GetTimeout(clientId);
41 | }
42 |
43 | boolean MqttClientServiceSecurityStub::IsConnected(int32 clientId)
44 | {
45 | this->AuthorizeServiceInvocation("IsConnected");
46 | return ServiceImpl::IsConnected(clientId);
47 | }
48 |
49 | int32 MqttClientServiceSecurityStub::Publish(int32 clientId, const RscString<512>& topic, RscVariant<512> payload, uint32 length, int32 qos, boolean retained)
50 | {
51 | this->AuthorizeServiceInvocation("Publish");
52 | return ServiceImpl::Publish(clientId, topic, payload, length, qos, retained);
53 | }
54 |
55 | int32 MqttClientServiceSecurityStub::Reconnect(int32 clientId)
56 | {
57 | this->AuthorizeServiceInvocation("Reconnect");
58 | return ServiceImpl::Reconnect(clientId);
59 | }
60 |
61 | int32 MqttClientServiceSecurityStub::SetTimeout(int32 clientId, int32 timeoutMS)
62 | {
63 | this->AuthorizeServiceInvocation("SetTimeout");
64 | return ServiceImpl::SetTimeout(clientId, timeoutMS);
65 | }
66 |
67 | int32 MqttClientServiceSecurityStub::Subscribe(int32 clientId, const RscString<512>& topicFilter)
68 | {
69 | this->AuthorizeServiceInvocation("Subscribe");
70 | return ServiceImpl::Subscribe(clientId, topicFilter);
71 | }
72 |
73 | int32 MqttClientServiceSecurityStub::TryConsumeMessage(int32 clientId, Message& msg)
74 | {
75 | this->AuthorizeServiceInvocation("TryConsumeMessage");
76 | return ServiceImpl::TryConsumeMessage(clientId, msg);
77 | }
78 |
79 | int32 MqttClientServiceSecurityStub::Unsubscribe(int32 clientId, const RscString<512>& topicFilter)
80 | {
81 | this->AuthorizeServiceInvocation("Unsubscribe");
82 | return ServiceImpl::Unsubscribe(clientId, topicFilter);
83 | }
84 |
85 |
86 | }}} // end of namespace PxceTcs::MqttClient::Services
87 |
--------------------------------------------------------------------------------
/libs/MqttClientService/src/services/MqttClientServiceSecurityStub.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright PHOENIX CONTACT Electronics GmbH
4 | //
5 | ///////////////////////////////////////////////////////////////////////////////
6 | #pragma once
7 | #include "Arp/System/Rsc/Services/RscServiceProxyBase.hxx"
8 | #include "Arp/System/Rsc/Services/RscServiceSecurityStubBase.hxx"
9 | #include "MqttClientServiceImpl.hpp"
10 |
11 | // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IMqttClientService.cs
12 |
13 | namespace PxceTcs { namespace MqttClient { namespace Services
14 | {
15 |
16 | class MqttClientServiceSecurityStub : public RscServiceSecurityStubBase
17 | {
18 | public: // construction/destruction
19 | /// Constructs an instance.
20 | MqttClientServiceSecurityStub(const char* providerName, IRscAuthorizator* pAuthorizator);
21 | /// Destructs this instance and frees all resouces.
22 | virtual ~MqttClientServiceSecurityStub(void) = default;
23 |
24 | public: // IMqttClientService operations
25 | int32 Connect(int32 clientId, const ConnectOptions& opts)override;
26 | int32 CreateClient(const RscString<512>& serverURI, const RscString<512>& clientId)override;
27 | int32 DestroyClient(int32 clientId)override;
28 | int32 Disconnect(int32 clientId, int32 timeoutMS)override;
29 | int32 GetTimeout(int32 clientId)override;
30 | boolean IsConnected(int32 clientId)override;
31 | int32 Publish(int32 clientId, const RscString<512>& topic, RscVariant<512> payload, uint32 length, int32 qos, boolean retained)override;
32 | int32 Reconnect(int32 clientId)override;
33 | int32 SetTimeout(int32 clientId, int32 timeoutMS)override;
34 | int32 Subscribe(int32 clientId, const RscString<512>& topicFilter)override;
35 | int32 TryConsumeMessage(int32 clientId, Message& msg)override;
36 | int32 Unsubscribe(int32 clientId, const RscString<512>& topicFilter)override;
37 |
38 | private: // fields
39 | MqttClientServiceImpl* pImpl;
40 |
41 | private: // deleted methods (for non-copyable classes)
42 | MqttClientServiceSecurityStub(const MqttClientServiceSecurityStub& arg) = delete;
43 | MqttClientServiceSecurityStub& operator=(const MqttClientServiceSecurityStub& arg) = delete;
44 | };
45 |
46 | ///////////////////////////////////////////////////////////////////////////////
47 | //inline methods of class MqttClientServiceSecurityStub
48 | inline MqttClientServiceSecurityStub::MqttClientServiceSecurityStub(const char* providerName, IRscAuthorizator* pAuthorizator)
49 | : RscServiceSecurityStubBase(providerName, pAuthorizator)
50 | {
51 | }
52 |
53 | }}} // end of namespace PxceTcs::MqttClient::Services
54 |
--------------------------------------------------------------------------------
/libs/MqttClientService/src/services/MqttClientServiceStub.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////
2 | //
3 | // Copyright PHOENIX CONTACT Electronics GmbH
4 | //
5 | ///////////////////////////////////////////////////////////////////////////////
6 | #pragma once
7 | #include "Arp/System/Rsc/Services/RscServiceStubBase.hxx"
8 | #include "IMqttClientService.hpp"
9 |
10 | // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IMqttClientService.cs
11 |
12 | namespace PxceTcs { namespace MqttClient { namespace Services
13 | {
14 |
15 | using namespace Arp::System::Rsc::Services;
16 |
17 | // forwards
18 | class MqttClientServiceImpl;
19 |
20 | class MqttClientServiceStub : public RscServiceStubBase
21 | {
22 | public: // construction/destruction
23 | /// Constructs an instance.
24 | MqttClientServiceStub(MqttClientServiceImpl* pServiceImpl);
25 | /// Destructs this instance and frees all resouces.
26 | virtual ~MqttClientServiceStub(void);
27 |
28 | public: // IServiceStub operations
29 | void Invoke(int methodHandle, RscServerContext& context)override;
30 |
31 | private: // IMqttClientService operations
32 | void Connect(RscServerContext& context);
33 | void CreateClient(RscServerContext& context);
34 | void DestroyClient(RscServerContext& context);
35 | void Disconnect(RscServerContext& context);
36 | void GetTimeout(RscServerContext& context);
37 | void IsConnected(RscServerContext& context);
38 | void Publish(RscServerContext& context);
39 | void Reconnect(RscServerContext& context);
40 | void SetTimeout(RscServerContext& context);
41 | void Subscribe(RscServerContext& context);
42 | void TryConsumeMessage(RscServerContext& context);
43 | void Unsubscribe(RscServerContext& context);
44 |
45 | private: // deleted methods (for non-copyable classes)
46 | MqttClientServiceStub(const MqttClientServiceStub& arg) = delete;
47 | MqttClientServiceStub& operator=(const MqttClientServiceStub& arg) = delete;
48 | };
49 |
50 | ///////////////////////////////////////////////////////////////////////////////
51 | // inline methods of class MqttClientServiceStub
52 | inline MqttClientServiceStub::~MqttClientServiceStub(void)
53 | {
54 | }
55 |
56 | }}} // end of namespace PxceTcs::MqttClient::Services
57 |
--------------------------------------------------------------------------------
/libs/MqttClientService/src/services/SslOptions.hpp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
3 | // Licensed under the MIT. See LICENSE file in the project root for full license information.
4 | // SPDX-License-Identifier: MIT
5 | //
6 | #pragma once
7 | #include "Arp/System/Core/Arp.h"
8 | #include "Arp/System/Rsc/Services/IRscSerializable.hpp"
9 | #include "Arp/System/Rsc/Services/RscReader.hpp"
10 | #include "Arp/System/Rsc/Services/RscString.hxx"
11 | #include "Arp/System/Rsc/Services/RscWriter.hpp"
12 |
13 | // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED
14 |
15 | namespace PxceTcs { namespace MqttClient { namespace Services
16 | {
17 |
18 | using namespace Arp;
19 | using namespace Arp::System::Rsc::Services;
20 |
21 | ///
22 | /// Holds the set of SSL options for connection.
23 | ///
24 | struct SslOptions : public IRscSerializable
25 | {
26 | ///
27 | /// The filename containing the public digital certificates trusted by the client.
28 | ///
29 | RscString<512> trustStore;
30 |
31 | ///
32 | /// The filename containing the public certificate chain of the client.
33 | ///
34 | RscString<512> keyStore;
35 |
36 | ///
37 | /// The filename containing the client's private key.
38 | ///
39 | RscString<512> privateKey;
40 |
41 | ///
42 | /// The password to load the client's privateKey (if encrypted).
43 | ///
44 | RscString<512> privateKeyPassword;
45 |
46 | ///
47 | /// The list of cipher suites that the client will present to the server during the SSL handshake.
48 | ///
49 | RscString<512> enabledCipherSuites;
50 |
51 | ///
52 | /// Enable verification of the server certificate.
53 | ///
54 | boolean enableServerCertAuth = false;
55 |
56 | void Serialize(RscWriter& writer)const override
57 | {
58 | writer.Write(this->trustStore);
59 | writer.Write(this->keyStore);
60 | writer.Write(this->privateKey);
61 | writer.Write(this->privateKeyPassword);
62 | writer.Write(this->enabledCipherSuites);
63 | writer.Write(this->enableServerCertAuth);
64 | }
65 |
66 | void Deserialize(RscReader& reader)override
67 | {
68 | reader.Read(this->trustStore);
69 | reader.Read(this->keyStore);
70 | reader.Read(this->privateKey);
71 | reader.Read(this->privateKeyPassword);
72 | reader.Read(this->enabledCipherSuites);
73 | reader.Read(this->enableServerCertAuth);
74 | }
75 |
76 | static size_t GetFieldCount(void)
77 | {
78 | return 6;
79 | }
80 | };
81 |
82 | }}} // end of namespace PxceTcs::MqttClient::Services
83 |
--------------------------------------------------------------------------------
/libs/MqttClientService/src/services/WillOptions.hpp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
3 | // Licensed under the MIT. See LICENSE file in the project root for full license information.
4 | // SPDX-License-Identifier: MIT
5 | //
6 | #pragma once
7 | #include "Arp/System/Core/Arp.h"
8 | #include "Arp/System/Rsc/Services/IRscSerializable.hpp"
9 | #include "Arp/System/Rsc/Services/RscReader.hpp"
10 | #include "Arp/System/Rsc/Services/RscString.hxx"
11 | #include "Arp/System/Rsc/Services/RscWriter.hpp"
12 |
13 | // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED
14 |
15 | namespace PxceTcs { namespace MqttClient { namespace Services
16 | {
17 |
18 | using namespace Arp;
19 | using namespace Arp::System::Rsc::Services;
20 |
21 | ///
22 | /// Holds the set of options that govern the Last Will and Testament feature.
23 | ///
24 | struct WillOptions : public IRscSerializable
25 | {
26 | ///
27 | /// The LWT message is published to the this topic.
28 | ///
29 | RscString<512> topic;
30 |
31 | ///
32 | /// The message that is published to the Will Topic.
33 | ///
34 | RscString<512> payload;
35 |
36 | ///
37 | /// The message Quality of Service.
38 | ///
39 | int32 qos = 0;
40 |
41 | ///
42 | /// Tell the broker to keep the LWT message after send to subscribers.
43 | ///
44 | boolean retained = false;
45 |
46 | void Serialize(RscWriter& writer)const override
47 | {
48 | writer.Write(this->topic);
49 | writer.Write(this->payload);
50 | writer.Write(this->qos);
51 | writer.Write(this->retained);
52 | }
53 |
54 | void Deserialize(RscReader& reader)override
55 | {
56 | reader.Read(this->topic);
57 | reader.Read(this->payload);
58 | reader.Read(this->qos);
59 | reader.Read(this->retained);
60 | }
61 |
62 | static size_t GetFieldCount(void)
63 | {
64 | return 4;
65 | }
66 | };
67 |
68 | }}} // end of namespace PxceTcs::MqttClient::Services
69 |
--------------------------------------------------------------------------------
/tools/build-all.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #//
3 | #// Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
4 | #// Licensed under the MIT. See LICENSE file in the project root for full license information.
5 | #// SPDX-License-Identifier: MIT
6 | #//
7 | while getopts t:a:n: option
8 | do
9 | case "${option}"
10 | in
11 | t) TOOLCHAIN=${OPTARG};;
12 | a) ARPVERSION=${OPTARG};;
13 | n) TARGETNAME=${OPTARG};;
14 | esac
15 | done
16 |
17 |
18 | # Get the directory of this script
19 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
20 |
21 | echo "Build Paho Mqtt C"
22 | $DIR/build-paho.mqtt.c.sh -t "${TOOLCHAIN}" -a "${ARPVERSION}" -n "${TARGETNAME}"
23 |
24 | echo "Build Paho Mqtt Cpp"
25 | $DIR/build-paho.mqtt.cpp.sh -t "${TOOLCHAIN}" -a "${ARPVERSION}" -n "${TARGETNAME}"
26 |
27 | echo "Build MqttClient"
28 | $DIR/build-component.sh -t "${TOOLCHAIN}" -a "${ARPVERSION}" -n "${TARGETNAME}"
29 |
--------------------------------------------------------------------------------
/tools/build-automatic-all.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #//
3 | #// Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
4 | #// Licensed under the MIT. See LICENSE file in the project root for full license information.
5 | #// SPDX-License-Identifier: MIT
6 | #//
7 | while getopts h: option
8 | do
9 | case "${option}"
10 | in
11 | h) HARDWARE+=${OPTARG};;
12 | esac
13 | done
14 | # Get the directory of this script
15 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
16 | # Get all available targets
17 |
18 | OLD=$IFS
19 | IFS=$'\n\t'
20 | Targets=($( plcncli get targets | grep -oPe [[:alpha:]]+[[:digit:]]+[[:alpha:]]?[[:punct:]][0-9]+[.][0-9]+.?.?.?.?.?.?.?.?[[:punct:]].?[0-9]+[.][0-9]+[.][0-9]+[.][0-9]+.?.?[[:punct:]]))
21 | echo -e ${Targets[@]}
22 |
23 | # Extract Hardware and Release and Firmware Version
24 |
25 | Hardware=($(echo -e ${Targets[@]} | grep -oPe [[:alpha:]]+[[:digit:]]+[[:alpha:]]?))
26 | IFS=$OLD
27 |
28 | Release=($(echo -e ${Targets[@]} | grep -oPe [^.,][0-9]+[.][0-9]+[.]?[0-9]?[[:blank:]][L]?[T]?[S]?[[:blank:]]?))
29 |
30 | IFS=$'\n\t'
31 | Version=($(echo -e ${Targets[@]} | grep -oPe [0-9]+[.][0-9]+[.][0-9]+[.][0-9]+))
32 |
33 | ARPVERSION=($(echo -e ${Targets[@]} | grep -oPe [^.,][0-9]+[.][0-9]+[.]?[0-9]?[[:blank:]][L]?[T]?[S]?[[:blank:]]?[[:punct:]].?[0-9]+[.][0-9]+[.][0-9]+[.][0-9]+[[:blank:]]?[[:blank:]]?[[:punct:]]))
34 | IFS=$OLD
35 |
36 | echo -e "H:\n${Hardware[@]} \n R:\n ${Release[@]} \n V:\n ${Version[@]} \nA:\n ${ARPVERSION[@]} \n"
37 |
38 | var=${#Hardware[@]}
39 | ## Extract SDK paths and match to Targets
40 |
41 | Toolchains=($(plcncli get sdks | grep -oPe [[:blank:]]?[/][[:alnum:][:blank:][:punct:]]*[[:blank:]]?))
42 | echo -e "Toolchain: \n ${Toolchains[@]} \n "
43 |
44 | rm -r "${DIR}/../build"
45 |
46 | # Build for each Version of Specified HARDWARE
47 | var=${#Hardware[@]}
48 | for ((i=0; i/dev/null 2>&1 && pwd )"
22 |
23 |
24 | echo CMAKE Configure
25 | cmake --configure -G "Ninja" \
26 | -DBUILD_TESTING=OFF \
27 | -DUSE_ARP_DEVICE=ON \
28 | -DCMAKE_STAGING_PREFIX="${DIR}/../deploy/" \
29 | -DCMAKE_INSTALL_PREFIX=/usr/local \
30 | -DCMAKE_PREFIX_PATH="${DIR}/../deploy/${TARGETNAME}_${VERSION}" \
31 | -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
32 | "-DARP_TOOLCHAIN_ROOT=${TOOLCHAIN}" \
33 | "-DARP_DEVICE=${TARGETNAME}" \
34 | "-DARP_DEVICE_VERSION=${ARPVERSION}" \
35 | "-DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN}/toolchain.cmake" \
36 | -DMqttClient_WITH_CPACK=ON \
37 | -S "${DIR}/../." \
38 | -B "${DIR}/../build/external/${TARGETNAME}_${VERSION}"
39 |
40 | echo CMAKE build all
41 | cmake --build "${DIR}/../build/external/${TARGETNAME}_${VERSION}" \
42 | --config Debug \
43 | --target all -- -j 3
44 |
45 | echo CMAKE build install
46 | cmake --build "${DIR}/../build/external/${TARGETNAME}_${VERSION}" \
47 | --config Debug --target install -- -j 3
48 |
--------------------------------------------------------------------------------
/tools/build-paho.mqtt.c.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #//
3 | #// Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
4 | #// Licensed under the MIT. See LICENSE file in the project root for full license information.
5 | #// SPDX-License-Identifier: MIT
6 | #//
7 | while getopts t:a:n: option
8 | do
9 | case "${option}"
10 | in
11 | t) TOOLCHAIN=${OPTARG};;
12 | a) ARPVERSION=${OPTARG};;
13 | n) TARGETNAME=${OPTARG};;
14 | esac
15 | done
16 | VERSION=$(echo $ARPVERSION | grep -oP [0-9]+[.][0-9]+[.][0-9]+[.][0-9]+)
17 | echo "Version:${VERSION}"
18 | # Get the directory of this script
19 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
20 |
21 | echo "Clone Paho mqtt C"
22 | mkdir -p ${DIR}/../external
23 | set +e
24 | git clone -q https://github.com/eclipse/paho.mqtt.c.git "${DIR}/../external/paho.mqtt.c"
25 | cd "${DIR}/../external/paho.mqtt.c"
26 | git status || git init
27 | git fetch --tags
28 | git checkout v1.3.0
29 | set -e
30 |
31 |
32 | #cmake
33 | echo CMAKE Configure
34 | cmake \
35 | -D CMAKE_BUILD_TYPE=Release \
36 | -D BUILD_TESTING=OFF \
37 | -D CMAKE_STAGING_PREFIX="${DIR}/../deploy/${TARGETNAME}_${VERSION}" \
38 | -D CMAKE_INSTALL_PREFIX=/usr/local \
39 | -D CMAKE_PREFIX_PATH="${DIR}/../deploy/${TARGETNAME}_${VERSION}" \
40 | -D CMAKE_EXPORT_COMPILE_COMMANDS=ON \
41 | -D BUILD_SHARED_LIBS=ON \
42 | -D CMAKE_TOOLCHAIN_FILE="${TOOLCHAIN}/toolchain.cmake" \
43 | -D ARP_TOOLCHAIN_ROOT="${TOOLCHAIN}" \
44 | -D ARP_DEVICE="${TARGETNAME}" \
45 | -D ARP_DEVICE_VERSION="${ARPVERSION}" \
46 | -D PAHO_WITH_SSL=ON \
47 | -D PAHO_BUILD_STATIC=FALSE \
48 | -D PAHO_BUILD_DOCUMENTATION=OFF \
49 | -D PAHO_BUILD_SAMPLES=OFF \
50 | -D PAHO_BUILD_DEB_PACKAGE=OFF \
51 | -D PAHO_ENABLE_TESTING=OFF \
52 | -S "${DIR}/../external/paho.mqtt.c" \
53 | -B "${DIR}/../build/external/paho.mqtt.c/${TARGETNAME}_${VERSION}"
54 |
55 | echo "build"
56 | cmake --build "${DIR}/../build/external/paho.mqtt.c/${TARGETNAME}_${VERSION}"
57 | cmake --build "${DIR}/../build/external/paho.mqtt.c/${TARGETNAME}_${VERSION}" --target install
58 |
--------------------------------------------------------------------------------
/tools/build-paho.mqtt.cpp.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #//
3 | #// Copyright (c) Phoenix Contact GmbH & Co. KG. All rights reserved.
4 | #// Licensed under the MIT. See LICENSE file in the project root for full license information.
5 | #// SPDX-License-Identifier: MIT
6 | #//
7 | while getopts t:a:n: option
8 | do
9 | case "${option}"
10 | in
11 | t) TOOLCHAIN=${OPTARG};;
12 | a) ARPVERSION=${OPTARG};;
13 | n) TARGETNAME=${OPTARG};;
14 | esac
15 | done
16 | VERSION=$(echo $ARPVERSION | grep -oP [0-9]+[.][0-9]+[.][0-9]+[.][0-9]+)
17 | echo "Version:${VERSION}"
18 | # Get the directory of this script
19 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
20 |
21 | echo "Clone Paho mqtt Cpp"
22 | mkdir -p ${DIR}/../external
23 | set +e
24 | git clone -q https://github.com/eclipse/paho.mqtt.cpp.git ${DIR}/../external/paho.mqtt.cpp
25 | cd ${DIR}/../external/paho.mqtt.cpp
26 | git status
27 | git fetch
28 | git fetch --tags
29 | git checkout v1.0.1
30 | set -e
31 | cd
32 |
33 | echo CMAKE Configure
34 | ## Cmake
35 | cmake \
36 | -D CMAKE_BUILD_TYPE=Release \
37 | -D BUILD_TESTING=OFF \
38 | -D CMAKE_STAGING_PREFIX="${DIR}/../deploy/${TARGETNAME}_${VERSION}" \
39 | -D CMAKE_INSTALL_PREFIX=/usr/local \
40 | -D CMAKE_PREFIX_PATH="${DIR}/../deploy/${TARGETNAME}_${VERSION}" \
41 | -D CMAKE_EXPORT_COMPILE_COMMANDS=ON \
42 | -D BUILD_SHARED_LIBS=ON \
43 | -D CMAKE_TOOLCHAIN_FILE="${TOOLCHAIN}/toolchain.cmake" \
44 | -D ARP_TOOLCHAIN_ROOT="${TOOLCHAIN}" \
45 | -D ARP_DEVICE="${TARGETNAME}" \
46 | -D ARP_DEVICE_VERSION="${ARPVERSION}" \
47 | -D PAHO_WITH_SSL=ON \
48 | -D PAHO_BUILD_STATIC=FALSE \
49 | -D PAHO_BUILD_SHARED=ON \
50 | -D PAHO_BUILD_DOCUMENTATION=OFF \
51 | -D PAHO_BUILD_SAMPLES=OFF \
52 | -D PAHO_BUILD_TESTS=OFF \
53 | -S "${DIR}/../external/paho.mqtt.cpp" \
54 | -B "${DIR}/../build/external/paho.mqtt.cpp/${TARGETNAME}_${VERSION}"
55 |
56 | cmake --build "${DIR}/../build/external/paho.mqtt.cpp/${TARGETNAME}_${VERSION}"
57 | cmake --build "${DIR}/../build/external/paho.mqtt.cpp/${TARGETNAME}_${VERSION}" --target install
58 |
--------------------------------------------------------------------------------