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

Messaging.cpp File Reference

Implements Fly! subsystem messaging API. More...

#include "../Include/FlyLegacy.h"
#include "../Include/Globals.h"
#include "../Include/Situation.h"
#include "../Include/Subsystems.h"
#include "../Include/UserVehicles.h"

Go to the source code of this file.

Functions

static EMessageResult SendMessageToAmpSystems (SMessage *msg, CElectricalSystem *amp)
static EMessageResult SendMessageToGasSystems (SMessage *msg, CFuelSystem *gas)
static EMessageResult SendMessageToAirplane (SMessage *msg, CAirplane *plan)
EMessageResult SendMessage (SMessage *msg)


Detailed Description

Messaging Subsystem

Messaging between objects is a critical part of internal systems modelling. Typical applications include:

Definition in file Messaging.cpp.


Function Documentation

EMessageResult SendMessage SMessage msg  ) 
 

Todo:
Build message observer list based on MSG_USED return code
Todo:
Also send message to all observers

Definition at line 103 of file Messaging.cpp.

References CSituation::GetUserVehicle(), CSituation::GetUserVehicleType(), globals, SMessage::group, SMessage::id, SGlobals::logWarning, MSG_IGNORED, CAirplaneObject::pAirplane, CSubsystem::ReceiveMessage(), SMessage::receiver, SMessage::result, SendMessageToAirplane(), SGlobals::sit, TagToString(), TYPE_FLY_AIRPLANE, SMessage::user, and CLogFile::Write().

Referenced by CSimpleSwitch::DecState(), CVerticalSpeedGauge::Draw(), CBasicADFGauge::Draw(), CNavigationGauge::Draw(), CBKNavComKX155Gauge::Draw(), CBKXPDRKT76Gauge::Draw(), CBKADFKR87Gauge::Draw(), CBKAP140Gauge::Draw(), CSimpleSwitch::Draw(), CSimpleInOutStateSwitch::Draw(), CBasicBatterySwitch::Draw(), CBasicMagnetoSwitch::Draw(), CSimpleSwitch::IncState(), CBKNavComKX155Gauge::MouseClick(), CBKXPDRKT76Gauge::MouseClick(), CBKADFKR87Gauge::MouseClick(), CSimpleInOutStateSwitch::MouseClick(), CBasicBatterySwitch::MouseClick(), CBasicMagnetoSwitch::MouseClick(), msg_debug_send_cb(), CGenericIndicator::ReceiveMessage(), CBKXPDRKT76Gauge::StopClick(), CBKADFKR87Gauge::StopClick(), CBasicMagnetoSwitch::StopClick(), CDependent::TimeSlice(), CGenericMonitor::TimeSlice(), and CGauge::Update().

static EMessageResult SendMessageToAirplane SMessage msg,
CAirplane plan
[static]
 

Definition at line 86 of file Messaging.cpp.

References CAirplane::amp, CAirplane::gas, MSG_IGNORED, SMessage::receiver, SendMessageToAmpSystems(), and SendMessageToGasSystems().

Referenced by SendMessage().

static EMessageResult SendMessageToAmpSystems SMessage msg,
CElectricalSystem amp
[static]
 

Definition at line 43 of file Messaging.cpp.

References MSG_IGNORED, MSG_PROCESSED, CSubsystem::ReceiveMessage(), SMessage::receiver, and CElectricalSystem::subs.

Referenced by SendMessageToAirplane().

static EMessageResult SendMessageToGasSystems SMessage msg,
CFuelSystem gas
[static]
 

Definition at line 64 of file Messaging.cpp.

References CFuelSystem::fsub, MSG_IGNORED, MSG_PROCESSED, CSubsystem::ReceiveMessage(), and SMessage::receiver.

Referenced by SendMessageToAirplane().

SourceForge.net Logo Documentation generated by doxygen