Skip to content
Snippets Groups Projects
HandlerMonitor.h 1.48 KiB
Newer Older
  • Learn to ignore specific revisions
  •  * Copyright 2012, 2017 INFN
    
     * Licensed under the EUPL, Version 1.2 or – as soon they
     * will be approved by the European Commission - subsequent
     * versions of the EUPL (the "Licence");
     * You may not use this work except in compliance with the
     * Licence.
     * You may obtain a copy of the Licence at:
    
     * https://joinup.ec.europa.eu/software/page/eupl
    
     * Unless required by applicable law or agreed to in
     * writing, software distributed under the Licence is
     * distributed on an "AS IS" basis,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied.
     * See the Licence for the specific language governing
     * permissions and limitations under the Licence.
    
     */
    
    #ifndef __CHAOSFramework__HandlerMonitor_h
    #define __CHAOSFramework__HandlerMonitor_h
    
    
    #include <chaos_metadata_service_client/ChaosMetadataServiceClient.h>
    
    
    class HandlerMonitor:
    public chaos::metadata_service_client::monitor_system::QuantumKeyAttributeStringHandler {
        const std::string node_id;
    public:
        HandlerMonitor(const std::string& _node_id,
                       const std::string& attribute_key);
        ~HandlerMonitor();
        void init();
        void deinit();
    protected:
    
        void consumeValue(const std::string& key,
                                  const std::string& attribute,
                                  const std::string& value);
        
        void consumeValueNotFound(const std::string& key,
                                  const std::string& attribute);
    };
    
    #endif /* __CHAOSFramework__HandlerMonitor_h */