Guest User

Untitled

a guest
Nov 23rd, 2012
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. #pragma once
  2. #include "StdAfx.h"
  3. #include "SimConnect.h"
  4. #include "SDManagerDataBase.h"
  5. #include "SDManagerFenetrePayload.h"
  6. //#include "SDManagerFenetrePreset.h"
  7.  
  8. #include <iostream>
  9. #include <string>
  10. #include <fstream>
  11. #include <QtCore>
  12. #include <QtGui>
  13.  
  14. using namespace std;
  15.  
  16. class SDManagerSimConnect
  17. {
  18. public:
  19. typedef enum
  20. {
  21. MAIN_MENU = 1,
  22. SUB_MENU_1 = 100,
  23. SUB_MENU_2,
  24. SUB_MENU_3,
  25. SUB_MENU_4,
  26. SUB_MENU_5,
  27. SUB_MENU_6,
  28. SUB_MENU_7,
  29. SUB_MENU_8,
  30. SUB_MENU_9,
  31. SUB_MENU_10,
  32. } EVENT_IDS;
  33.  
  34. typedef enum
  35. {
  36. REQUEST_USER_AMBIENT,
  37. REQUEST_USER_PAYLOAD,
  38. } REQUEST_IDS;
  39.  
  40. typedef enum
  41. {
  42. DEFINITION_USER_AMBIENT,
  43. DEFINITION_USER_PAYLOAD,
  44. } STRUCTURE_IDS;
  45.  
  46. HANDLE gSimConnectHandle;
  47.  
  48. int gAltitude;
  49. int gSpeed;
  50.  
  51. SDManagerDataBase *dB;
  52. SDManagerPreset *preset;
  53.  
  54. public:
  55. SDManagerSimConnect() {
  56. // open connection to local SimConnect server
  57. SimConnect_Open(&gSimConnectHandle, "SDManagerSimConnect", NULL, 0, NULL, SIMCONNECT_OPEN_CONFIGINDEX_LOCAL);
  58. // Le 3ème paramètre, this, sera repassé à chaque appel de la fonction callback
  59. SimConnect_CallDispatch(gSimConnectHandle, GestionEvenements, this);
  60.  
  61. }
  62. static void CALLBACK GestionEvenements(SIMCONNECT_RECV *pData, DWORD cbData, void *pContext) {
  63. // Extrait le pointeur et appelle la fonction non statique
  64. SDManagerSimConnect *pointeur = reinterpret_cast<SDManagerSimConnect *>(pContext);
  65. pointeur->GestionEvenements(pData, cbData);
  66. }
  67.  
  68. // Toutes les fonctions après ça peuvent être non statiques:
  69. void GestionEvenements(SIMCONNECT_RECV *pData, DWORD cbData) {
  70. // process SIMCONNECT_RECV_ID_XXX values here as needed
  71. switch(pData->dwID)
  72. {
  73. case SIMCONNECT_RECV_ID_OPEN:
  74. OnRecvOpen((SIMCONNECT_RECV_OPEN*)pData);
  75. break;
  76.  
  77. case SIMCONNECT_RECV_ID_EVENT:
  78. OnRecvEvent((SIMCONNECT_RECV_EVENT*)pData);
  79. break;
  80.  
  81. case SIMCONNECT_RECV_ID_SIMOBJECT_DATA_BYTYPE:
  82. OnRecvSimobjectDataByType((SIMCONNECT_RECV_SIMOBJECT_DATA_BYTYPE*)pData);
  83. break;
  84. }
  85. }
  86. void SDManagerSimConnect::OnRecvOpen (SIMCONNECT_RECV_OPEN *pOpen);
  87. void SDManagerSimConnect::OnRecvEvent (SIMCONNECT_RECV_EVENT *pEvent);
  88. void SDManagerSimConnect::OnRecvSimobjectDataByType(SIMCONNECT_RECV_SIMOBJECT_DATA_BYTYPE *pData);
  89.  
  90. void requestPayload();
  91. };
Advertisement
Add Comment
Please, Sign In to add comment