Meach will / libmDot-mbed5

Dependents:   ncu_project

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Fota.h Source File

Fota.h

00001 /**********************************************************************
00002 * COPYRIGHT 2018 MULTI-TECH SYSTEMS, INC.
00003 *
00004 * ALL RIGHTS RESERVED BY AND FOR THE EXCLUSIVE BENEFIT OF
00005 * MULTI-TECH SYSTEMS, INC.
00006 *
00007 * MULTI-TECH SYSTEMS, INC. - CONFIDENTIAL AND PROPRIETARY
00008 * INFORMATION AND/OR TRADE SECRET.
00009 *
00010 * NOTICE: ALL CODE, PROGRAM, INFORMATION, SCRIPT, INSTRUCTION,
00011 * DATA, AND COMMENT HEREIN IS AND SHALL REMAIN THE CONFIDENTIAL
00012 * INFORMATION AND PROPERTY OF MULTI-TECH SYSTEMS, INC.
00013 * USE AND DISCLOSURE THEREOF, EXCEPT AS STRICTLY AUTHORIZED IN A
00014 * WRITTEN AGREEMENT SIGNED BY MULTI-TECH SYSTEMS, INC. IS PROHIBITED.
00015 *
00016 ***********************************************************************/
00017 
00018 #ifndef FOTA_H
00019 #define FOTA_H
00020 #include "mDot.h"
00021 #ifdef FOTA
00022 #include "FragmentationSession.h"
00023 #endif
00024 #include "MulticastGroup.h"
00025 
00026 class Fota {
00027 
00028     public:
00029         Fota(mDot* dot);
00030         ~Fota();
00031 
00032         static Fota* getInstance(mDot* dot);
00033         static Fota* getInstance();
00034         void processCmd(uint8_t* payload, uint8_t port, uint8_t size);
00035         void reset();
00036         void enable(bool enabled);
00037         bool enable();
00038         void fixEventQueue();
00039         int32_t timeToStart();
00040 
00041     private:
00042         static void start();
00043 
00044         bool _enabled;
00045         Thread _send_thread;
00046         uint8_t p[242];
00047         static Fota* _instance;
00048         mDot* _dot;
00049 #ifdef FOTA
00050         FragmentationSession* _frag_session;
00051 #endif
00052         MulticastGroup* _mc_group;
00053 };
00054 #endif