{"repo":"aymanalqadhi/tikpp","free":true,"listed":false,"github":"https://github.com/aymanalqadhi/tikpp","clone":"git clone https://github.com/aymanalqadhi/tikpp.git","description":"An asynchronous MikroTik RouterOS API C++17 library","language":"C++","stars":19,"topics":["modern-cpp","asynchronous","asio","cpp","cpp17","mikrotik","routeros","router-os","mikrotik-api","routeros-api"],"license":"Apache-2.0","category":"saas-starters-boilerplates","readme_excerpt":"tikpp - An asynchronous modern C++ Mikrotik RouterOS API library Features - An easy to use interface - Making use of C++17 features - Fully asynchronous (Callbacks/Futures/Coroutines supported via Boost.Asio completion tokens) - No RTTI is being used in the library (Templates!) - No exceptions are being used - Support for API v1/v2 protocols - Support for API-SSL Getting started Creating an API connection: Create an tikpp::io context , this object will handle the asynchronous event loop of the library. Then create an API object by calling tikpp::make api factory function passing the tikpp::io context object, and an error handling function which gets called on fatal errors. Then, open a connection to the router Finally, start the tikpp::io context object by calling io.run() . Remember that the call to io.run() will block the calling thread, so you must call it after initiating at least one asynchronous operation, or in a separate thread. Examples Sending a request First, you need to create a request object Then, add parameters and attributes to the request object {fmt}/Python formats can be used to specify values Finally, send the request Futures can be used to handle the response (Note that futures are generally slower, and will throw an expcetion if the request fails) Using the data repository You can use a higher level repository-pattern object to manage data on the router. Create a repository with a data model type as a template parameter Load object list Queries can be us","default_branch":null,"files":null,"tree":[],"storefront":"/r/aymanalqadhi","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/aymanalqadhi/tikpp/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}