Alexandre Salconi-Denis / Mbed 2 deprecated ProjetOctopode

Dependencies:   debug mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers MemRegistre.h Source File

MemRegistre.h

Go to the documentation of this file.
00001 /**
00002   * @file       MemRegistre.h
00003   * @brief      Cette classe est le modele des 3 taches de controle.
00004   * @author     Salco
00005   * @version    2.10
00006   * @date       11 mars 2015
00007   */
00008 
00009 #ifndef MEMREG_H
00010 #define MEMREG_H
00011 
00012 #define DEBUG_GETADDR /*1*/0
00013 #define DEBUG_ISVALIDE 0
00014 
00015 #include <list>
00016 #include "Module.h "
00017 #include "debug.h"
00018 //#include "ListChainer.h"
00019 
00020 using namespace std;// Or using std::list;
00021 
00022 class MemRegistre
00023 {
00024     list<Module> m_moduleActioneur;//ListChainer m_moduleActioneur;
00025     list<Module>::iterator m_positionActioneur;//int m_positionActioneur;
00026 
00027     list<Module> m_moduleCapteur;//ListChainer m_moduleCapteur;
00028     list<Module>::iterator m_positionCapteur;//int m_positionCapteur;
00029 
00030     list<Module> m_moduleMemoire;//ListChainer m_moduleMemoire;
00031     list<Module>::iterator m_positionMemoire;//int m_positionMemoire;
00032 
00033 
00034 public:
00035 // pt metre des inline  pour les fonction dans le h
00036 
00037     MemRegistre();
00038     virtual ~MemRegistre();
00039     unsigned char getAdressDispo(const unsigned char &startValue);
00040     bool isAdresseValide(const char &adresse);
00041     bool isAdresseValide(const char &adresse, Module &m );
00042 
00043 
00044     //actioneur//
00045     bool remAllActioneur(void) {
00046         m_moduleActioneur.clear();
00047         return 1;
00048     }
00049     inline bool remActioneur(int position) {
00050         list<Module>::iterator it1=m_moduleActioneur.begin();
00051         for(char i=position; i>1; i--) it1++;
00052         m_moduleActioneur.erase(it1);
00053         return 1;
00054     }
00055     bool addActioneur(Module module) {
00056         m_moduleActioneur.push_back(module);
00057         return 1;
00058     }
00059     Module firstActioneur(void);
00060     Module nextActioneur(void);
00061     int getSizeActioneur(void) {
00062         return m_moduleActioneur.size();
00063     }
00064 //capteur//
00065     bool remAllCapteur(void) {
00066         m_moduleCapteur.clear();
00067         return 1;
00068     }
00069     bool remCapteur(int position) {
00070         list<Module>::iterator it1=m_moduleCapteur.begin();
00071         for(char i=position; i>1; i--) it1++;
00072         m_moduleCapteur.erase(it1);
00073         return 1;
00074     }
00075     bool addCapteur(Module module) {
00076         m_moduleCapteur.push_back(module);
00077         return 1;
00078     }
00079     Module firstCapteur(void);
00080     Module nextCapteur(void);
00081     int getSizeCapteur(void) {
00082         return m_moduleCapteur.size();
00083     }
00084 //memoire//
00085     bool remAllMemoire(void) {
00086         m_moduleMemoire.clear();
00087         return 1;
00088     }
00089     bool remMemoire(int position) {
00090         list<Module>::iterator it1=m_moduleMemoire.begin();
00091         for(char i=position; i>1; i--) it1++;
00092         m_moduleMemoire.erase(it1);
00093         return 1;
00094     }
00095     bool addMemoire(Module module) {
00096         m_moduleMemoire.push_back(module);
00097         return 1;
00098     }
00099     Module firstMemoire(void);
00100     Module nextMemoire(void);
00101     int getSizeMemoire(void) {
00102         return m_moduleMemoire.size();
00103     }
00104 
00105 };
00106 #endif // MEMREG_H //
00107 
00108 
00109