+ bool accessDenied()
+ { return m_access_denied; }
+
+ std::wstring accessDeniedReason()
+ { return m_access_denied_reason; }
+
+ bool itemdefReceived()
+ { return m_itemdef_received; }
+ bool nodedefReceived()
+ { return m_nodedef_received; }
+ bool mediaReceived()
+ { return m_media_downloader == NULL; }
+
+ float mediaReceiveProgress();
+
+ void afterContentReceived(IrrlichtDevice *device, gui::IGUIFont* font);
+
+ float getRTT(void);
+ float getCurRate(void);
+ float getAvgRate(void);
+
+ // IGameDef interface
+ virtual IItemDefManager* getItemDefManager();
+ virtual INodeDefManager* getNodeDefManager();
+ virtual ICraftDefManager* getCraftDefManager();
+ virtual ITextureSource* getTextureSource();
+ virtual IShaderSource* getShaderSource();
+ virtual u16 allocateUnknownNodeId(const std::string &name);
+ virtual ISoundManager* getSoundManager();
+ virtual MtEventManager* getEventManager();
+ virtual bool checkLocalPrivilege(const std::string &priv)
+ { return checkPrivilege(priv); }
+ virtual scene::IAnimatedMesh* getMesh(const std::string &filename);
+
+ // The following set of functions is used by ClientMediaDownloader
+ // Insert a media file appropriately into the appropriate manager
+ bool loadMedia(const std::string &data, const std::string &filename);
+ // Send a request for conventional media transfer
+ void request_media(const std::list<std::string> &file_requests);
+ // Send a notification that no conventional media transfer is needed
+ void received_media();
+
+ LocalClientState getState() { return m_state; }