🌐 한국어

    MQTT API#

    Oasis는 IoT 통신을 위한 MQTT를 지원하며, 표준 규격에 맞게 개발되었습니다.

    헤더 파일#

    OasisIot.h

    MqttClientEventDelegate 인터페이스#

    class MqttClientEventDelegate : public std::enable_shared_from_this<MqttClientEventDelegate>
    {
    public:
        MqttClientEventDelegate();
        virtual ~MqttClientEventDelegate();
    
        virtual void onConnected(const MqttClientRef &client, const char *client_identifier, mqtt_reason_t reason_code);
        virtual void onSubscribed(const MqttClientRef &client, uint32_t mid, const std::list<std::string> &topic_filters, const std::list<mqtt_reason_t> &reason_codes, mqtt_reason_t reason_code);
        virtual void onUnsubscribed(const MqttClientRef &client, uint32_t mid, const std::list<std::string> &topic_filters, const std::list<mqtt_reason_t> &reason_codes, mqtt_reason_t reason_code);
        virtual void onPublished(const MqttClientRef &client, uint32_t mid, mqtt_reason_t reason_code);
        virtual void onDisconnected(const MqttClientRef &client, mqtt_reason_t reason_code);
        virtual void onMessage(const MqttClientRef &client, const std::string &topic_name, const char *data, int32_t length);
        virtual void onClosed(const MqttClientRef &client);
    };
    
    void onConnected ( const MqttClientRef & client , const char * client_identifier , mqtt_reason_t reason_code )
    OasisIot.h
    매개변수
    client 
    client_identifier 
    reason_code 
    void onSubscribed ( const MqttClientRef & client , uint32_t mid , const std::list<std::string> & topic_filters , const std::list<mqtt_reason_t> & reason_codes , mqtt_reason_t reason_code )
    OasisIot.h
    매개변수
    client 
    mid 
    topic_filters 
    reason_codes 
    reason_code 
    void onUnsubscribed ( const MqttClientRef & client , uint32_t mid , const std::list<std::string> & topic_filters , const std::list<mqtt_reason_t> & reason_codes , mqtt_reason_t reason_code )
    OasisIot.h
    매개변수
    client 
    mid 
    topic_filters 
    reason_codes 
    reason_code 
    void onPublished ( const MqttClientRef & client , uint32_t mid , mqtt_reason_t reason_code )
    OasisIot.h
    매개변수
    client 
    mid 
    reason_code 
    void onDisconnected ( const MqttClientRef & client , mqtt_reason_t reason_code )
    OasisIot.h
    매개변수
    client 
    reason_code 
    void onMessage ( const MqttClientRef & client , const std::string & topic_name , const char * data , int32_t length )
    OasisIot.h
    매개변수
    client 
    topic_name 
    data 
    length 
    void onClosed ( const MqttClientRef & client )
    OasisIot.h
    매개변수
    client 

    함수#

    const char * mqttReasonCodeString ( mqtt_reason_t code )
    OasisIot.h
    매개변수
    code 
    리턴값
    MqttBrokerRef mqttCreateBroker ( key_value_map_t & parameters )
    OasisIot.h
    매개변수
    parameters 
    리턴값
    int32_t mqttDestroyBroker ( MqttBrokerRef & broker )
    OasisIot.h
    매개변수
    broker 
    리턴값
    • 0: 성공
    • -1: 실패
    int32_t mqttBorkerStart ( const MqttBrokerRef & broker )
    OasisIot.h
    매개변수
    broker 
    리턴값
    • 0: 성공
    • -1: 실패
    int32_t mqttBorkerStop ( const MqttBrokerRef & broker )
    OasisIot.h
    매개변수
    broker 
    리턴값
    • 0: 성공
    • -1: 실패
    MqttClientRef mqttCreateClient ( key_value_map_t & parameters , const std::shared_ptr<MqttClientEventDelegate> & delegate )
    OasisIot.h
    매개변수
    parameters 
    delegate 
    리턴값
    int32_t mqttClientSetWill ( const MqttClientRef & client , const char * topic_title , const char * content_data , int32_t content_length , int32_t qos , bool retain , const MqttPropertiesRef & properties )
    OasisIot.h
    매개변수
    client 
    topic_title 
    content_data 
    content_length 
    qos 
    retain 
    properties 
    리턴값
    • 0: 성공
    • -1: 실패
    int32_t mqttClientClearWill ( const MqttClientRef & client )
    OasisIot.h
    매개변수
    client 
    리턴값
    • 0: 성공
    • -1: 실패
    int32_t mqttClientSetUserName ( const MqttClientRef & client , const char * username )
    OasisIot.h
    매개변수
    client 
    username 
    리턴값
    • 0: 성공
    • -1: 실패
    int32_t mqttClientSetPassword ( const MqttClientRef & client , const char * password )
    OasisIot.h
    매개변수
    client 
    password 
    리턴값
    • 0: 성공
    • -1: 실패
    int32_t mqttClientSetPassword ( const MqttClientRef & client , const std::vector<char> & password )
    OasisIot.h
    매개변수
    client 
    password 
    리턴값
    • 0: 성공
    • -1: 실패
    int32_t mqttClientConnect ( const MqttClientRef & client , const char * host , int32_t port , int32_t keepalive , bool is_secure , bool use_websocket , int32_t timeout , const MqttPropertiesRef & properties )
    OasisIot.h
    매개변수
    client 
    host 
    port 
    keepalive 
    is_secure 
    use_websocket 
    timeout 
    properties 
    리턴값
    • 0: 성공
    • -1: 실패
    int32_t mqttClientReconnect ( const MqttClientRef & client )
    OasisIot.h
    매개변수
    client 
    리턴값
    • 0: 성공
    • -1: 실패
    int32_t mqttClientPublish ( const MqttClientRef & client , const char * topic_title , const char * content_data , int32_t content_length , int32_t qos , bool retain , const MqttPropertiesRef & properties , uint32_t * mid_ptr )
    OasisIot.h
    매개변수
    client 
    topic_title 
    content_data 
    content_length 
    qos 
    retain 
    properties 
    mid_ptr 
    리턴값
    • 0: 성공
    • -1: 실패
    int32_t mqttClientSubscribe ( const MqttClientRef & client , const std::list<std::string> & topic_filters , int32_t qos , mqtt_subscribe_option_t options , const MqttPropertiesRef & properties , uint32_t * mid_ptr )
    OasisIot.h
    매개변수
    client 
    topic_filters 
    qos 
    options 
    properties 
    mid_ptr 
    리턴값
    • 0: 성공
    • -1: 실패
    int32_t mqttClientUnsubscribe ( const MqttClientRef & client , const std::list<std::string> & topic_filters , const MqttPropertiesRef & properties , uint32_t * mid_ptr )
    OasisIot.h
    매개변수
    client 
    topic_filters 
    properties 
    mid_ptr 
    리턴값
    • 0: 성공
    • -1: 실패
    int32_t mqttClientDisconnect ( const MqttClientRef & client , int32_t reason_code , const MqttPropertiesRef & properties )
    OasisIot.h
    매개변수
    client 
    reason_code 
    properties 
    리턴값
    • 0: 성공
    • -1: 실패
    int32_t mqttDestroyClient ( MqttClientRef & client )
    OasisIot.h
    매개변수
    client 
    리턴값
    • 0: 성공
    • -1: 실패

    예제#