ZigRazor / JackRussell

A C++ Publish/Subscriber Library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JackRussell

A C++ Publish/Subscriber Library

License GitHub release CMake

codecov CodeFactor

Generic badge Generic badge

Table of Contents

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:
    git clone https://github.com/ZigRazor/JackRussell.git
  2. Navigate to the project directory:
cd JackRussell
  1. Prepare CMake:
mkdir build
cd build
cmake ..
  1. Install Library
    make install

Usage

You can use the Library in your project with CMake adding the following lines:

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 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:
git checkout -b feature/your-feature-name
  1. Make your changes and commit them:
git commit -m "Add your commit message"
  1. Push to the branch:
git push origin feature/your-feature-name
  1. Create a pull request.

Please read our contributing guidelines for more details.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

If you have any questions, suggestions, or feedback, feel free to reach out:

Acknowledgements

We would like to thank the following individuals for their support:

Contributors

Credits

Photo by Natalie Kinnear on Unsplash

About

A C++ Publish/Subscriber Library

License:MIT License


Languages

Language:C++ 83.3%Language:CMake 16.7%