https://github.com/zigrazor/jackrussell
A C++ Publish/Subscriber Library
https://github.com/zigrazor/jackrussell
cpp cpp-lib cpp-library cpp20 cpp20-library publish-subscribe publisher-subscriber publisher-subscriber-pattern
Last synced: 3 months ago
JSON representation
A C++ Publish/Subscriber Library
- Host: GitHub
- URL: https://github.com/zigrazor/jackrussell
- Owner: ZigRazor
- License: mit
- Created: 2024-05-04T11:27:01.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-03T08:17:26.000Z (7 months ago)
- Last Synced: 2025-03-22T06:41:39.203Z (7 months ago)
- Topics: cpp, cpp-lib, cpp-library, cpp20, cpp20-library, publish-subscribe, publisher-subscriber, publisher-subscriber-pattern
- Language: C++
- Homepage:
- Size: 62.5 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# JackRussell
A C++ Publish/Subscriber Library
[](LICENSE) [](https://GitHub.com/ZigRazor/JackRussell/releases/) [](https://github.com/ZigRazor/JackRussell/actions/workflows/cmake.yml)
[](https://codecov.io/gh/ZigRazor/JackRussell) [](https://www.codefactor.io/repository/github/zigrazor/jackRussell)
[](https://shields.io/) [](https://shields.io/)
## Table of Contents
- [Description](#description)
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)
- [Acknowledgements](#acknowledgements)## Description
JackRussell is a C++ Publish/Subscriber Library. This project aims to fulfill a framework with easy-to-use mechanisms of Publish and Subscriber. By using JackRussell, users can:
- Create a Topics;
- Publish to Topic;
- Create Subscribers Classes;
- Register the Subscribers Classes to one or more Topics;
- Manage the message received by Subscribers## Features
- Topic Manager Singleton
- Topic Class
- Subscriber Interface## Installation
To install and set up JackRussell, follow these steps:
1. **Clone the repository:**
```bash
git clone https://github.com/ZigRazor/JackRussell.git
```
2. **Navigate to the project directory:**
```bash
cd JackRussell
```
3. **Prepare CMake:**
```bash
mkdir build
cd build
cmake ..
```
4. **Install Library**
```bash
make install
```
## UsageYou can use the Library in your project with CMake adding the following lines:
```cmake
CPMAddPackage(
NAME JackRussell
GITHUB_REPOSITORY ZigRazor/JackRussell
GIT_TAG origin/main
)
```
or install it and the add to the include path *{StandardIncludePath}/DogBreeds/JackRussell* and to the linking_path *{StandardLinkingPath}/DogBreeds/JackRussell*.For simple use you can see the [Example](https://github.com/ZigRazor/JackRussell/tree/main/example)
For more detailed usage instructions, refer to the documentation.## Contributing
We welcome contributions to JackRussell! To contribute, follow these steps:1. **Fork the repository.**
2. **Create a new branch:**
```bash
git checkout -b feature/your-feature-name
```
3. **Make your changes and commit them:**
```bash
git commit -m "Add your commit message"
```
4. **Push to the branch:**
```bash
git push origin feature/your-feature-name
```
5. **Create a pull request.**Please read our [contributing guidelines](https://github.com/ZigRazor/JackRussell/blob/main/CONTRIBUTING.md) for more details.
## License
This project is licensed under the MIT License. See the [LICENSE](https://github.com/ZigRazor/JackRussell/blob/main/LICENSE) file for details.## Contact
If you have any questions, suggestions, or feedback, feel free to reach out:- Email: zigrazor@gmail.com
- GitHub Issues: [issues](https://github.com/ZigRazor/JackRussell/issues)## Acknowledgements
We would like to thank the following individuals for their support:[](https://github.com/ZigRazor/JackRussell/graphs/contributors)
## Credits
Photo by Natalie Kinnear on Unsplash