source: xplra/test/basictest.cc@ 15:1c0347ed41c6

Last change on this file since 15:1c0347ed41c6 was 15:1c0347ed41c6, checked in by István Váradi <ivaradi@…>, 11 years ago

Implemented the scalar queries

File size: 3.7 KB
Line 
1// Copyright (c) 2013 by István Váradi
2
3// This file is part of XPLRA, a remote-access plugin for X-Plane
4
5// Redistribution and use in source and binary forms, with or without
6// modification, are permitted provided that the following conditions are met:
7
8// 1. Redistributions of source code must retain the above copyright notice, this
9// list of conditions and the following disclaimer.
10// 2. Redistributions in binary form must reproduce the above copyright notice,
11// this list of conditions and the following disclaimer in the documentation
12// and/or other materials provided with the distribution.
13
14// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
15// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
18// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
21// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
23// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24
25// The views and conclusions contained in the software and documentation are those
26// of the authors and should not be interpreted as representing official policies,
27// either expressed or implied, of the FreeBSD Project.
28
29//------------------------------------------------------------------------------
30
31#include <hu/varadiistvan/xplra/XPlane.h>
32
33#include <cstdio>
34
35//------------------------------------------------------------------------------
36
37using hu::varadiistvan::xplra::XPlane;
38using hu::varadiistvan::xplra::Exception;
39using hu::varadiistvan::xplra::ProtocolException;
40
41//------------------------------------------------------------------------------
42
43int main()
44{
45 try {
46 XPlane xplane;
47
48 printf("Connecting to X-Plane...\n");
49 xplane.connect();
50 printf("Connected to X-Plane.\n\n");
51
52 printf("Querying the number of the engines...\n");
53 int numEngines = xplane.getInt("sim/aircraft/engine/acf_num_engines");
54 printf("The number of engines: %d\n\n", numEngines);
55
56 try {
57 printf("Querying an invalid dataref...\n");
58 xplane.getInt("sim/aircraft/engine/num_engines");
59 printf("\n>>>>>>>>>>>> Succeeded!!!!!!!!!!!!!!!!!!!!!!\n\n");
60 } catch(const ProtocolException& exception) {
61 printf("Exception caugth: %s\n\n", exception.what());
62 }
63
64 printf("Querying the spool time of a jet engine...\n");
65 float spoolTime = xplane.getFloat("sim/aircraft/engine/acf_spooltime_jet");
66 printf("The spool time: %f\n\n", spoolTime);
67
68 printf("Querying the spool time of a propeller...\n");
69 spoolTime = xplane.getFloat("sim/aircraft/engine/acf_spooltime_prop");
70 printf("The spool time: %f\n\n", spoolTime);
71
72 printf("Querying the coordinates...\n");
73 double latitude = xplane.getDouble("sim/flightmodel/position/latitude");
74 double longitude = xplane.getDouble("sim/flightmodel/position/longitude");
75 printf("The coordinates: %f, %f\n\n", latitude, longitude);
76
77 return 0;
78 } catch(const Exception& exception) {
79 printf("\n>>>>>>>>>>>>>>>>> Exception caugth: %s\n", exception.what());
80
81 return 1;
82 }
83}
84
85//------------------------------------------------------------------------------
86
87// Local Variables:
88// mode: C++
89// c-basic-offset: 4
90// indent-tabs-mode: nil
91// End:
Note: See TracBrowser for help on using the repository browser.