Vergil Cola
/
MQTTGatewayK64
Fork of my MQTTGateway
XbeeMonitor/XBeeLib/FrameHandlers/FrameHandler.h
- Committer:
- vpcola
- Date:
- 2017-04-08
- Revision:
- 0:f1d3878b8dd9
File content as of revision 0:f1d3878b8dd9:
/** * Copyright (c) 2015 Digi International Inc., * All rights not expressly granted are reserved. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. * * Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343 * ======================================================================= */ #if !defined(__FRAME_HANDLER_H_) #define __FRAME_HANDLER_H_ #include "Frames/ApiFrame.h" /** Class for the frame handlers */ class FrameHandler { friend class ApiFrame; public: /** Class constructor * * @param type frame type handled by this frame handler */ FrameHandler(ApiFrame::ApiFrameType type); FrameHandler(const FrameHandler& other); /* Intentionally not implemented */ /** Class destructor */ virtual ~FrameHandler(); /** get_type returns the type of frames handled by this handler * * @returns the frame type handled by the handler */ ApiFrame::ApiFrameType get_type() const; /** process_frame_data method called by the library to process the * the incoming frames if the type matches. * * @param frame pointer pointing to the api frame that must be processed */ virtual void process_frame_data(const ApiFrame *const frame) = 0; protected: /** frame type handled by this handler */ ApiFrame::ApiFrameType _type; }; #endif /* defined(__FRAME_HANDLER_H_) */