Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- #include "StdAfx.h"
- #include "SimConnect.h"
- #include "SDManagerDataBase.h"
- #include "SDManagerFenetrePayload.h"
- //#include "SDManagerFenetrePreset.h"
- #include <iostream>
- #include <string>
- #include <fstream>
- #include <QtCore>
- #include <QtGui>
- using namespace std;
- class SDManagerSimConnect
- {
- public:
- typedef enum
- {
- MAIN_MENU = 1,
- SUB_MENU_1 = 100,
- SUB_MENU_2,
- SUB_MENU_3,
- SUB_MENU_4,
- SUB_MENU_5,
- SUB_MENU_6,
- SUB_MENU_7,
- SUB_MENU_8,
- SUB_MENU_9,
- SUB_MENU_10,
- } EVENT_IDS;
- typedef enum
- {
- REQUEST_USER_AMBIENT,
- REQUEST_USER_PAYLOAD,
- } REQUEST_IDS;
- typedef enum
- {
- DEFINITION_USER_AMBIENT,
- DEFINITION_USER_PAYLOAD,
- } STRUCTURE_IDS;
- HANDLE gSimConnectHandle;
- int gAltitude;
- int gSpeed;
- SDManagerDataBase *dB;
- SDManagerPreset *preset;
- public:
- SDManagerSimConnect() {
- // open connection to local SimConnect server
- SimConnect_Open(&gSimConnectHandle, "SDManagerSimConnect", NULL, 0, NULL, SIMCONNECT_OPEN_CONFIGINDEX_LOCAL);
- // Le 3ème paramètre, this, sera repassé à chaque appel de la fonction callback
- SimConnect_CallDispatch(gSimConnectHandle, GestionEvenements, this);
- }
- static void CALLBACK GestionEvenements(SIMCONNECT_RECV *pData, DWORD cbData, void *pContext) {
- // Extrait le pointeur et appelle la fonction non statique
- SDManagerSimConnect *pointeur = reinterpret_cast<SDManagerSimConnect *>(pContext);
- pointeur->GestionEvenements(pData, cbData);
- }
- // Toutes les fonctions après ça peuvent être non statiques:
- void GestionEvenements(SIMCONNECT_RECV *pData, DWORD cbData) {
- // process SIMCONNECT_RECV_ID_XXX values here as needed
- switch(pData->dwID)
- {
- case SIMCONNECT_RECV_ID_OPEN:
- OnRecvOpen((SIMCONNECT_RECV_OPEN*)pData);
- break;
- case SIMCONNECT_RECV_ID_EVENT:
- OnRecvEvent((SIMCONNECT_RECV_EVENT*)pData);
- break;
- case SIMCONNECT_RECV_ID_SIMOBJECT_DATA_BYTYPE:
- OnRecvSimobjectDataByType((SIMCONNECT_RECV_SIMOBJECT_DATA_BYTYPE*)pData);
- break;
- }
- }
- void SDManagerSimConnect::OnRecvOpen (SIMCONNECT_RECV_OPEN *pOpen);
- void SDManagerSimConnect::OnRecvEvent (SIMCONNECT_RECV_EVENT *pEvent);
- void SDManagerSimConnect::OnRecvSimobjectDataByType(SIMCONNECT_RECV_SIMOBJECT_DATA_BYTYPE *pData);
- void requestPayload();
- };
Advertisement
Add Comment
Please, Sign In to add comment