#pragma once // ************************************************************************** // // (C) Copyright 2009 Swiss SIMTEC AG // // ************************************************************************** // // $HeadURL$ // $LastChangedBy$ // $LastChangedDate$ // $LastChangedRevision$ // // ************************************************************************** #include #include "GeoPairingImpl.hpp" namespace N_GeoPairingImpl { /** * This class serves is the entry point to the GeoPairing Software. It must be * initialized before use. * * @author Daniel.Schmid * @version 1.0 * @created 17-Jul-2009 14:27:37 */ class GeoPairingImplFactory { public: /** * Creates a new air target tracker */ static GeoPairingImplAirTargetTracker *createAirTargetTracker(); /** * Creates a new air target updater */ static GeoPairingImplAirTargetUpdater *createAirTargetUpdater(); /** * Creates a new air target cache * * @param a_playerID */ static GeoPairingImplAirTargetCache *createAirTargetCache(SInt32 a_playerID); /** * Creates a new fired bulled according to the given SensorData * * @param a_sensorData */ static GeoPairingImplFiredBullet *createFiredBullet(GeoPairingImplSensorData &a_sensorData); /** * Populates a SensorData instance according to the given transparent datastream * * @param a_sensorData * @param a_transparentData * @param a_sizeOfTransparentData */ static SInt32 createSensorData(GeoPairingImplSensorData *a_sensorData, const QByteArray& a_transparentData, int &isDefault); static SInt32 createSensorData(GeoPairingImplSensorData *a_sensorData, const QByteArray& a_transparentData); /** * Initialize the GeoPairing component * * @param a_config */ static bool initialize(const QString &filePath); /** * installs an implementation * * @param a_impl */ static void setImpl(GeoPairingImpl *a_impl); /** * Sets global meteo conditions * * @param a_meteoData */ static void setMeteoData(const GeoPairingImplMeteoData &a_meteoData); protected: private: static GeoPairingImpl *m_Impl; /** * retrieves the implementation object pointer */ static GeoPairingImpl *getImpl(); }; }