Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

Database.cpp File Reference

Implements application API to Fly! databases. More...

#include "../Include/FlyLegacy.h"
#include "../Include/Database.h"
#include "../Include/Globals.h"
#include "../Include/Endian.h"

Go to the source code of this file.

Functions

static void DecodeAirportRecord (char *rec, SAirport *airport)
static void DecodeNavaidRecord (char *rec, SNavaid *navaid)
int GetLocalNavaids (SNavaid **navaids)
int GetLocalILS (SILS **ils)
int GetLocalComms (SComm **comms)
int GetLocalCenters (SComm **comms)
int GetLocalAirports (SAirport **airports)
int GetLocalWaypoints (SWaypoint **waypoints)
int GetNearestNavaid (SPosition *pos, int navType, SNavaid *navaid, float *distanceInFeet)
int GetNearestNavaidByFreq (SPosition *pos, int navType, float freq, SNavaid *navaid, float *distanceInFeet)
int GetNearestILS (SPosition *pos, float freq, SILS *ils, float *distanceInFeet)
int GetNearestComm (SPosition *pos, float freq, SComm *comm, float *distanceInFeet)
int GetNearestAirportComm (SPosition *pos, float freq, SComm *comm, float *distanceInFeet)
int GetNearestCenterComm (SPosition *pos, float freq, SComm *comm, float *distanceInFeet)
int GetNearestAirport (SPosition *pos, SAirport *airport, float *distanceInFeet)
int InAirportRegion (SPosition *pos, float *distanceInFeet)
int GetAirport (char *airportKey, SAirport *airport)
int SearchNavaidsByID (char *id, int navType, SNavaid **navaids)
int SearchNavaidsByName (char *name, int navType, SNavaid **navaids)
int SearchNavaidsByGlobeTile (int x, int z, SNavaid **navaids)
int SearchWaypointsByName (char *name, SWaypoint **waypoints)
int SearchAirportsByFAA (char *faaID, SAirport **airports)
int SearchAirportsByICAO (char *icaoID, SAirport **airports)
int SearchAirportsByName (char *name, SAirport **airports)
int SearchILS (char *airportKey, char *runwayEndID, SILS **ils)
int SearchDatabase (char *db, char *index, char *key, SGeneric **list)
void FreeNavaid (SNavaid *navaids)
void FreeILS (SILS *ils)
void FreeWaypoint (SWaypoint *waypoint)
void FreeComm (SComm *comm)
void FreeAirport (SAirport *airport)
void FreeGeneric (SGeneric *list)


Detailed Description

Definition in file Database.cpp.


Function Documentation

static void DecodeAirportRecord char *  rec,
SAirport airport
[static]
 

Todo:
Lookup related runways and comms

Definition at line 34 of file Database.cpp.

References SAirport::airportKey, SPosition::alt, SAirport::annualCommercialOps, SAirport::annualGeneralAvOps, SAirport::annualMilitaryOps, SAirport::atcAvailable, SAirport::attendanceFlags, SAirport::basedAircraft, SAirport::beaconLensColor, SAirport::bottledOxygen, SAirport::bulkOxygen, SAirport::city, SAirport::comms, SAirport::country, SAirport::county, SAirport::customsEntryPoint, SAirport::elevation, SAirport::engineService, SAirport::faaID, SAirport::frameService, SAirport::fssAvailable, SAirport::fuelTypes, SAirport::icaoID, SAirport::jointUseAirport, SAirport::landingFeesCharged, SPosition::lat, SAirport::lightingFlags, LittleEndian(), SPosition::lon, SAirport::magneticVariation, SAirport::militaryLandingRights, SAirport::name, SAirport::next, SAirport::notamAvailable, SAirport::ownership, SAirport::pos, SAirport::prev, SAirport::runways, SAirport::segmentedCircle, SAirport::state, SAirport::trafficAltitude, SAirport::type, and SAirport::usage.

Referenced by SearchAirportsByFAA(), and SearchAirportsByICAO().

static void DecodeNavaidRecord char *  rec,
SNavaid navaid
[static]
 

Definition at line 182 of file Database.cpp.

References SPosition::alt, SNavaid::classification, SNavaid::freq, SNavaid::id, SPosition::lat, LittleEndian(), SPosition::lon, SNavaid::magneticVariation, SNavaid::name, SNavaid::next, SNavaid::pos, SNavaid::prev, SNavaid::range, SNavaid::slavedVariation, SNavaid::type, and SNavaid::usage.

Referenced by SearchNavaidsByGlobeTile().

void FreeAirport SAirport airport  ) 
 

Definition at line 736 of file Database.cpp.

References SAirport::next.

Referenced by teleport_aplookup_cb().

void FreeComm SComm comm  ) 
 

Definition at line 721 of file Database.cpp.

References SComm::next.

void FreeGeneric SGeneric list  ) 
 

Definition at line 751 of file Database.cpp.

References SGeneric::next.

void FreeILS SILS ils  ) 
 

Definition at line 691 of file Database.cpp.

References SILS::next.

void FreeNavaid SNavaid navaids  ) 
 

Definition at line 676 of file Database.cpp.

References SNavaid::next.

Referenced by CNavRadio::RescanNavaids(), CBKKX155Radio::RescanNavaids(), CBKKX155Radio::~CBKKX155Radio(), and CNavRadio::~CNavRadio().

void FreeWaypoint SWaypoint waypoint  ) 
 

Definition at line 706 of file Database.cpp.

References SWaypoint::next.

int GetAirport char *  airportKey,
SAirport airport
 

Definition at line 469 of file Database.cpp.

int GetLocalAirports SAirport **  airports  ) 
 

Definition at line 325 of file Database.cpp.

int GetLocalCenters SComm **  comms  ) 
 

Definition at line 315 of file Database.cpp.

int GetLocalComms SComm **  comms  ) 
 

Definition at line 305 of file Database.cpp.

int GetLocalILS SILS **  ils  ) 
 

Definition at line 295 of file Database.cpp.

int GetLocalNavaids SNavaid **  navaids  ) 
 

Todo:
Search all globe tiles within 200nm radius

Definition at line 251 of file Database.cpp.

References CWorldObject::GetPosition(), CSituation::GetUserVehicle(), globals, SPosition::lat, lat_lon_to_globe_tile(), SPosition::lon, SNavaid::next, SNavaid::prev, SearchNavaidsByGlobeTile(), and SGlobals::sit.

Referenced by CNavRadio::RescanNavaids(), and CBKKX155Radio::RescanNavaids().

int GetLocalWaypoints SWaypoint **  waypoints  ) 
 

Definition at line 335 of file Database.cpp.

int GetNearestAirport SPosition pos,
SAirport airport,
float *  distanceInFeet
 

Definition at line 447 of file Database.cpp.

int GetNearestAirportComm SPosition pos,
float  freq,
SComm comm,
float *  distanceInFeet
 

Definition at line 425 of file Database.cpp.

int GetNearestCenterComm SPosition pos,
float  freq,
SComm comm,
float *  distanceInFeet
 

Definition at line 436 of file Database.cpp.

int GetNearestComm SPosition pos,
float  freq,
SComm comm,
float *  distanceInFeet
 

Definition at line 414 of file Database.cpp.

int GetNearestILS SPosition pos,
float  freq,
SILS ils,
float *  distanceInFeet
 

Definition at line 403 of file Database.cpp.

int GetNearestNavaid SPosition pos,
int  navType,
SNavaid navaid,
float *  distanceInFeet
 

Definition at line 356 of file Database.cpp.

int GetNearestNavaidByFreq SPosition pos,
int  navType,
float  freq,
SNavaid navaid,
float *  distanceInFeet
 

Definition at line 380 of file Database.cpp.

int InAirportRegion SPosition pos,
float *  distanceInFeet
 

Definition at line 458 of file Database.cpp.

int SearchAirportsByFAA char *  faaID,
SAirport **  airports
 

Todo:
Continue searching for duplicate FAA IDs ?

Definition at line 564 of file Database.cpp.

References dbAirport, DecodeAirportRecord(), first, CDatabase::GetRawRecord(), CDatabase::GetRawRecordLength(), and CDatabase::Search().

Referenced by teleport_aplookup_cb().

int SearchAirportsByICAO char *  icaoID,
SAirport **  airports
 

Todo:
Continue searching for duplicate FAA IDs ?

Definition at line 598 of file Database.cpp.

References dbAirport, DecodeAirportRecord(), first, CDatabase::GetRawRecord(), CDatabase::GetRawRecordLength(), and CDatabase::Search().

Referenced by teleport_aplookup_cb().

int SearchAirportsByName char *  name,
SAirport **  airports
 

Todo:
Search airports by name

Definition at line 632 of file Database.cpp.

int SearchDatabase char *  db,
char *  index,
char *  key,
SGeneric **  list
 

Todo:
Generic database search

Definition at line 663 of file Database.cpp.

int SearchILS char *  airportKey,
char *  runwayEndID,
SILS **  ils
 

Todo:
Search ILS facility

Definition at line 647 of file Database.cpp.

int SearchNavaidsByGlobeTile int  x,
int  z,
SNavaid **  navaids
 

Definition at line 504 of file Database.cpp.

References dbNavaid, DecodeNavaidRecord(), first, CDatabase::GetRawRecord(), CDatabase::GetRawRecordLength(), SNavaid::next, SNavaid::prev, CDatabase::Search(), and CDatabase::SearchNext().

Referenced by GetLocalNavaids().

int SearchNavaidsByID char *  id,
int  navType,
SNavaid **  navaids
 

Definition at line 481 of file Database.cpp.

int SearchNavaidsByName char *  name,
int  navType,
SNavaid **  navaids
 

Definition at line 493 of file Database.cpp.

int SearchWaypointsByName char *  name,
SWaypoint **  waypoints
 

Definition at line 553 of file Database.cpp.

SourceForge.net Logo Documentation generated by doxygen