struct IdPropertyList {
unsigned id;
const char* name;
- SGPropertyNode::Type type;
+ simgear::props::Type type;
};
- static IdPropertyList sIdPropertyList[];
+ static const IdPropertyList sIdPropertyList[];
+ static const unsigned numProperties;
+ static const IdPropertyList* findProperty(unsigned id);
+
FGMultiplayMgr();
~FGMultiplayMgr();
bool init(void);
// transmitter
void SendMyPosition(const FGExternalMotionData& motionInfo);
void SendTextMessage(const string &sMsgText);
- void FillMsgHdr(T_MsgHdr *MsgHdr, int iMsgId, unsigned _len = 0u);
-
// receiver
- void ProcessPosMsg(const char *Msg, netAddress & SenderAddress,
- unsigned len, long stamp);
- void ProcessChatMsg(const char *Msg, netAddress & SenderAddress);
void Update(void);
private:
+ union MsgBuf;
FGAIMultiplayer* addMultiplayer(const std::string& callsign,
const std::string& modelName);
FGAIMultiplayer* getMultiplayer(const std::string& callsign);
+ void FillMsgHdr(T_MsgHdr *MsgHdr, int iMsgId, unsigned _len = 0u);
+ void ProcessPosMsg(const MsgBuf& Msg, const netAddress& SenderAddress,
+ long stamp);
+ void ProcessChatMsg(const MsgBuf& Msg, const netAddress& SenderAddress);
/// maps from the callsign string to the FGAIMultiplayer
- typedef std::map<std::string, osg::ref_ptr<FGAIMultiplayer> > MultiPlayerMap;
+ typedef std::map<std::string, SGSharedPtr<FGAIMultiplayer> > MultiPlayerMap;
MultiPlayerMap mMultiPlayerMap;
netSocket* mSocket;