OpenNet
Adapter.h
Aller à la documentation de ce fichier.
1 
2 // Product OpenNet
3 
8 
9 #pragma once
10 
11 // Includes
13 
14 // ===== Includes ===========================================================
15 #include <OpenNet/Processor.h>
17 #include <OpenNetK/Adapter_Types.h>
18 
19 namespace OpenNet
20 {
21 
22  class SourceCode;
23  class System ;
24 
25  // Class
27 
35  class Adapter : public StatisticsProvider
36  {
37 
38  public:
39 
48  typedef struct
49  {
50  unsigned int mBufferQty ;
51  unsigned int mPacketSize_byte;
52 
53  // TODO OpenNet.Adapter
54  // Normal (Feature) - Ajouter un "Buffer Factor" pour
55  // allouer un multiple du multiple prefere du Kernel
56  // (division ou multiplication).
57 
58  unsigned char mReserved0[1016];
59  }
60  Config;
61 
64 
65  typedef void(*Event_Callback)(void * aContext, const OpenNetK::Event_Type aType, uint64_t aTimestamp_us, uint32_t aData0, void * aData1);
66 
80  static OPEN_NET_PUBLIC Status Display(const Config & aIn, FILE * aOut);
81 
95  static OPEN_NET_PUBLIC Status Display(const Info & aIn, FILE * aOut);
96 
110  static OPEN_NET_PUBLIC Status Display(const State & aIn, FILE * aOut);
111 
124  virtual Status GetAdapterNo(unsigned int * aOut) = 0;
125 
138  virtual Status GetConfig(Config * aOut) const = 0;
139 
151  virtual Status GetInfo(Info * aOut) const = 0;
152 
162  virtual const char * GetName() const = 0;
163 
176  virtual Status GetState(State * aOut) = 0;
177 
189  virtual bool IsConnected() = 0;
190 
204  virtual bool IsConnected(const System & aSystem) = 0;
205 
206  // TODO OpenNet.Adapter
207  // Normal (Feature) - Ajouter ResetConfig
208 
218  virtual Status ResetInputFilter() = 0;
219 
229  virtual Status ResetProcessor() = 0;
230 
243  virtual Status SetConfig(const Config & aConfig) = 0;
244 
258  virtual Status SetInputFilter(SourceCode * aSourceCode) = 0;
259 
274  virtual Status SetProcessor(Processor * aProcessor) = 0;
275 
286  virtual Status Display(FILE * aOut) const = 0;
287 
303  virtual Status Event_RegisterCallback(Event_Callback aCallback, void * aContext) = 0;
304 
320  virtual Status Packet_Send(const void * aData, unsigned int aSize_byte) = 0;
321 
336  virtual Status Read(void * aOut, unsigned int aOutSize_byte, unsigned int * aInfo_byte) = 0;
337 
345  virtual Status Tx_Disable() = 0;
346 
354  virtual Status Tx_Enable() = 0;
355 
356  protected:
357 
358  Adapter();
359 
360  private:
361 
362  Adapter(const Adapter &);
363 
364  const Adapter & operator = (const Adapter &);
365 
366  };
367 
368 }
virtual Status Tx_Enable()=0
Cette méthode active la transmission.
Cette structure est utilisée pour retourner les informations au sujet d'un adaptateur.
Definition: Adapter_Types.h:227
Cette classe definit l'interface au niveau systeme.
Definition: System.h:34
OpenNet::StatisticsProvider.
Definition: Adapter.h:19
virtual Status Event_RegisterCallback(Event_Callback aCallback, void *aContext)=0
Attendre pour des evennements.
virtual const char * GetName() const =0
Cette méthode retourne le nom de l'adaptateur.
La classe SourceCode.
Definition: SourceCode.h:30
virtual Status Read(void *aOut, unsigned int aOutSize_byte, unsigned int *aInfo_byte)=0
Cette méthode lit des données du pilote.
virtual Status ResetInputFilter()=0
Cette méthode retire le filtre d'entré.
Cette structure est utilisée pour retourner l'etat.
Definition: Adapter_Types.h:260
virtual Status SetConfig(const Config &aConfig)=0
Cette méthode change la configuration.
static OPEN_NET_PUBLIC Status Display(const Config &aIn, FILE *aOut)
Afficher.
OpenNet::Processor.
OpenNetK::Adapter_Config, OpenNetK::Adapter_Info, OpenNetK::Adapter_State, OpenNetK::Buffer, OpenNetK::EthernetAddress, OpenNetK::IPv4Address, OpenNetK::VersionInfo (SDK)
virtual Status GetState(State *aOut)=0
Cette méthode retourne l'état de l'adaptateur.
virtual bool IsConnected()=0
Cette méthode indique si l'adaptateur est connecté à un système.
virtual Status SetInputFilter(SourceCode *aSourceCode)=0
Cette méthode affecte le filtre d'entré.
virtual Status GetInfo(Info *aOut) const =0
Cette méthode retourne les informations au sujet de l'adaptateur.
La configuration.
Definition: Adapter.h:48
virtual Status GetConfig(Config *aOut) const =0
Cette méthode retourne la configuration de l'adaptateur.
virtual Status Tx_Disable()=0
Cette méthode désactive la transmission.
virtual Status SetProcessor(Processor *aProcessor)=0
Cette méthode associe un processeur à l'adaptateur.
La class StatisticsProvider.
Definition: StatisticsProvider.h:30
Cette classe définit l'interface au niveau de l'adaptateur.
Definition: Adapter.h:35
virtual Status ResetProcessor()=0
Cette méthode retire le processeur.
virtual Status GetAdapterNo(unsigned int *aOut)=0
Cette méthode retourne le numero de l'adaptateur.
Cette classe définit l'interface au niveau du processeur.
Definition: Processor.h:33
virtual Status Packet_Send(const void *aData, unsigned int aSize_byte)=0
Cette méthode transmet un paquet.