Fix: Frequency filter doesn't apply on diagnostic
[apps/agl-service-can-low-level.git] / CAN-binder / low-can-binding / diagnostic / diagnostic-manager.hpp
index bcee3dc..0d5db69 100644 (file)
@@ -56,7 +56,7 @@ private:
 
        void init_diagnostic_shims();
        void reset();
-       int add_rx_filter(uint32_t can_id);
+       int create_rx_filter(uint32_t can_id, float frequency);
 
        static bool shims_send(const uint32_t arbitration_id, const uint8_t* data, const uint8_t size);
        static void shims_logger(const char* m, ...);
@@ -66,11 +66,12 @@ public:
 
        bool initialize();
 
-       void read_socket();
        utils::socketcan_bcm_t& get_socket();
-       std::string get_can_bus();
+       const std::string get_bus_name() const;
+       const std::string get_bus_device_name() const;
        active_diagnostic_request_t* get_last_recurring_requests() const;
        DiagnosticShims& get_shims();
+       bool socket_close();
 
        void find_and_erase(active_diagnostic_request_t* entry, std::vector<active_diagnostic_request_t*>& requests_list);
        void cancel_request(active_diagnostic_request_t* entry);
@@ -79,7 +80,7 @@ public:
        active_diagnostic_request_t* find_recurring_request(const DiagnosticRequest* request);
 
        // Subscription parts
-       active_diagnostic_request_t* add_request(DiagnosticRequest* request, const std::string name,
+       active_diagnostic_request_t* add_request(DiagnosticRequest* request, const std::string& name,
                bool waitForMultipleResponses, const DiagnosticResponseDecoder decoder,
                const DiagnosticResponseCallback callback);
        bool validate_optional_request_attributes(float frequencyHz);