File opened either through the filesystem or from within a package file. More...

#include <File.h>

Inheritance diagram for Urho3D::File:
[legend]
Collaboration diagram for Urho3D::File:
[legend]

Public Member Functions

 File (Context *context)
 Construct.
 
 File (Context *context, const String &fileName, FileMode mode=FILE_READ)
 Construct and open a filesystem file.
 
 File (Context *context, PackageFile *package, const String &fileName)
 Construct and open from a package file.
 
virtual ~File ()
 Destruct. Close the file if open.
 
virtual unsigned Read (void *dest, unsigned size)
 Read bytes from the file. Return number of bytes actually read. More...
 
virtual unsigned Seek (unsigned position)
 Set position from the beginning of the file.
 
virtual unsigned Write (const void *data, unsigned size)
 Write bytes to the file. Return number of bytes actually written.
 
virtual const StringGetName () const
 Return the file name.
 
virtual unsigned GetChecksum ()
 Return a checksum of the file contents using the SDBM hash algorithm.
 
bool Open (const String &fileName, FileMode mode=FILE_READ)
 Open a filesystem file. Return true if successful.
 
bool Open (PackageFile *package, const String &fileName)
 Open from within a package file. Return true if successful.
 
void Close ()
 Close the file.
 
void Flush ()
 Flush any buffered output to the file.
 
void SetName (const String &name)
 Change the file name. Used by the resource system.
 
FileMode GetMode () const
 Return the open mode.
 
bool IsOpen () const
 Return whether is open.
 
void * GetHandle () const
 Return the file handle.
 
bool IsPackaged () const
 Return whether the file originates from a package.
 
- Public Member Functions inherited from Urho3D::Object
 Object (Context *context)
 Construct.
 
virtual ~Object ()
 Destruct. Clean up self from event sender & receiver structures.
 
virtual Urho3D::StringHash GetType () const =0
 Return type hash.
 
virtual Urho3D::StringHash GetBaseType () const =0
 Return base class type hash.
 
virtual const Urho3D::StringGetTypeName () const =0
 Return type name.
 
virtual void OnEvent (Object *sender, StringHash eventType, VariantMap &eventData)
 Handle event.
 
void SubscribeToEvent (StringHash eventType, EventHandler *handler)
 Subscribe to an event that can be sent by any sender.
 
void SubscribeToEvent (Object *sender, StringHash eventType, EventHandler *handler)
 Subscribe to a specific sender's event.
 
void UnsubscribeFromEvent (StringHash eventType)
 Unsubscribe from an event.
 
void UnsubscribeFromEvent (Object *sender, StringHash eventType)
 Unsubscribe from a specific sender's event.
 
void UnsubscribeFromEvents (Object *sender)
 Unsubscribe from a specific sender's events.
 
void UnsubscribeFromAllEvents ()
 Unsubscribe from all events.
 
void UnsubscribeFromAllEventsExcept (const PODVector< StringHash > &exceptions, bool onlyUserData)
 Unsubscribe from all events except those listed, and optionally only those with userdata (script registered events.)
 
void SendEvent (StringHash eventType)
 Send event to all subscribers.
 
void SendEvent (StringHash eventType, VariantMap &eventData)
 Send event with parameters to all subscribers. More...
 
VariantMapGetEventDataMap () const
 Return a preallocated map for event data. Used for optimization to avoid constant re-allocation of event data maps.
 
ContextGetContext () const
 Return execution context.
 
ObjectGetSubsystem (StringHash type) const
 Return subsystem by type.
 
ObjectGetEventSender () const
 Return active event sender. Null outside event handling.
 
EventHandlerGetEventHandler () const
 Return active event handler. Null outside event handling.
 
bool HasSubscribedToEvent (StringHash eventType) const
 Return whether has subscribed to an event without specific sender.
 
bool HasSubscribedToEvent (Object *sender, StringHash eventType) const
 Return whether has subscribed to a specific sender's event.
 
bool HasEventHandlers () const
 Return whether has subscribed to any event.
 
template<class T >
T * GetSubsystem () const
 Template version of returning a subsystem.
 
const StringGetCategory () const
 Return object category. Categories are (optionally) registered along with the object factory. Return an empty string if the object category is not registered.
 
- Public Member Functions inherited from Urho3D::RefCounted
 RefCounted ()
 Construct. Allocate the reference count structure and set an initial self weak reference.
 
virtual ~RefCounted ()
 Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist.
 
void AddRef ()
 Increment reference count. Can also be called outside of a SharedPtr for traditional reference counting.
 
void ReleaseRef ()
 Decrement reference count and delete self if no more references. Can also be called outside of a SharedPtr for traditional reference counting.
 
int Refs () const
 Return reference count.
 
int WeakRefs () const
 Return weak reference count.
 
RefCountRefCountPtr ()
 Return pointer to the reference count structure.
 
- Public Member Functions inherited from Urho3D::Deserializer
 Deserializer ()
 Construct with zero size.
 
 Deserializer (unsigned size)
 Construct with defined size.
 
virtual ~Deserializer ()
 Destruct.
 
unsigned GetPosition () const
 Return current position.
 
unsigned GetSize () const
 Return size.
 
bool IsEof () const
 Return whether the end of stream has been reached.
 
int ReadInt ()
 Read a 32-bit integer.
 
short ReadShort ()
 Read a 16-bit integer.
 
signed char ReadByte ()
 Read an 8-bit integer.
 
unsigned ReadUInt ()
 Read a 32-bit unsigned integer.
 
unsigned short ReadUShort ()
 Read a 16-bit unsigned integer.
 
unsigned char ReadUByte ()
 Read an 8-bit unsigned integer.
 
bool ReadBool ()
 Read a bool.
 
float ReadFloat ()
 Read a float.
 
IntRect ReadIntRect ()
 Read an IntRect.
 
IntVector2 ReadIntVector2 ()
 Read an IntVector2.
 
Rect ReadRect ()
 Read a Rect.
 
Vector2 ReadVector2 ()
 Read a Vector2.
 
Vector3 ReadVector3 ()
 Read a Vector3.
 
Vector3 ReadPackedVector3 (float maxAbsCoord)
 Read a Vector3 packed into 3 x 16 bits with the specified maximum absolute range.
 
Vector4 ReadVector4 ()
 Read a Vector4.
 
Quaternion ReadQuaternion ()
 Read a quaternion.
 
Quaternion ReadPackedQuaternion ()
 Read a quaternion with each component packed in 16 bits.
 
Matrix3 ReadMatrix3 ()
 Read a Matrix3.
 
Matrix3x4 ReadMatrix3x4 ()
 Read a Matrix3x4.
 
Matrix4 ReadMatrix4 ()
 Read a Matrix4.
 
Color ReadColor ()
 Read a color.
 
BoundingBox ReadBoundingBox ()
 Read a bounding box.
 
String ReadString ()
 Read a null-terminated string.
 
String ReadFileID ()
 Read a four-letter file ID.
 
StringHash ReadStringHash ()
 Read a 32-bit StringHash.
 
PODVector< unsigned char > ReadBuffer ()
 Read a buffer with size encoded as VLE.
 
ResourceRef ReadResourceRef ()
 Read a resource reference.
 
ResourceRefList ReadResourceRefList ()
 Read a resource reference list.
 
Variant ReadVariant ()
 Read a variant.
 
Variant ReadVariant (VariantType type)
 Read a variant whose type is already known.
 
VariantVector ReadVariantVector ()
 Read a variant vector.
 
VariantMap ReadVariantMap ()
 Read a variant map.
 
unsigned ReadVLE ()
 Read a variable-length encoded unsigned integer, which can use 29 bits maximum.
 
unsigned ReadNetID ()
 Read a 24-bit network object ID.
 
String ReadLine ()
 Read a text line.
 
- Public Member Functions inherited from Urho3D::Serializer
virtual ~Serializer ()
 Destruct.
 
bool WriteInt (int value)
 Write a 32-bit integer.
 
bool WriteShort (short value)
 Write a 16-bit integer.
 
bool WriteByte (signed char value)
 Write an 8-bit integer.
 
bool WriteUInt (unsigned value)
 Write a 32-bit unsigned integer.
 
bool WriteUShort (unsigned short value)
 Write a 16-bit unsigned integer.
 
bool WriteUByte (unsigned char value)
 Write an 8-bit unsigned integer.
 
bool WriteBool (bool value)
 Write a bool.
 
bool WriteFloat (float value)
 Write a float.
 
bool WriteIntRect (const IntRect &value)
 Write an IntRect.
 
bool WriteIntVector2 (const IntVector2 &value)
 Write an IntVector2.
 
bool WriteRect (const Rect &value)
 Write a Rect.
 
bool WriteVector2 (const Vector2 &value)
 Write a Vector2.
 
bool WriteVector3 (const Vector3 &value)
 Write a Vector3.
 
bool WritePackedVector3 (const Vector3 &value, float maxAbsCoord)
 Write a Vector3 packed into 3 x 16 bits with the specified maximum absolute range.
 
bool WriteVector4 (const Vector4 &value)
 Write a Vector4.
 
bool WriteQuaternion (const Quaternion &value)
 Write a quaternion.
 
bool WritePackedQuaternion (const Quaternion &value)
 Write a quaternion with each component packed in 16 bits.
 
bool WriteMatrix3 (const Matrix3 &value)
 Write a Matrix3.
 
bool WriteMatrix3x4 (const Matrix3x4 &value)
 Write a Matrix3x4.
 
bool WriteMatrix4 (const Matrix4 &value)
 Write a Matrix4.
 
bool WriteColor (const Color &value)
 Write a color.
 
bool WriteBoundingBox (const BoundingBox &value)
 Write a bounding box.
 
bool WriteString (const String &value)
 Write a null-terminated string.
 
bool WriteFileID (const String &value)
 Write a four-letter file ID. If the string is not long enough, spaces will be appended.
 
bool WriteStringHash (const StringHash &value)
 Write a 32-bit StringHash.
 
bool WriteBuffer (const PODVector< unsigned char > &buffer)
 Write a buffer, with size encoded as VLE.
 
bool WriteResourceRef (const ResourceRef &value)
 Write a resource reference.
 
bool WriteResourceRefList (const ResourceRefList &value)
 Write a resource reference list.
 
bool WriteVariant (const Variant &value)
 Write a variant.
 
bool WriteVariantData (const Variant &value)
 Write a variant without the type information.
 
bool WriteVariantVector (const VariantVector &value)
 Write a variant vector.
 
bool WriteVariantMap (const VariantMap &value)
 Write a variant map.
 
bool WriteVLE (unsigned value)
 Write a variable-length encoded unsigned integer, which can use 29 bits maximum.
 
bool WriteNetID (unsigned value)
 Write a 24-bit network object ID.
 
bool WriteLine (const String &value)
 Write a text line. Char codes 13 & 10 will be automatically appended.
 

Private Member Functions

 OBJECT (File)
 

Private Attributes

String fileName_
 File name.
 
FileMode mode_
 Open mode.
 
void * handle_
 File handle.
 
SharedArrayPtr< unsigned char > readBuffer_
 Read buffer for Android asset or compressed file loading.
 
SharedArrayPtr< unsigned char > inputBuffer_
 Decompression input buffer for compressed file loading.
 
unsigned readBufferOffset_
 Read buffer position.
 
unsigned readBufferSize_
 Bytes in the current read buffer.
 
unsigned offset_
 Start position within a package file, 0 for regular files.
 
unsigned checksum_
 Content checksum.
 
bool compressed_
 Compression flag.
 
bool readSyncNeeded_
 Synchronization needed before read -flag.
 
bool writeSyncNeeded_
 Synchronization needed before write -flag.
 

Additional Inherited Members

- Protected Attributes inherited from Urho3D::Object
Contextcontext_
 Execution context.
 
- Protected Attributes inherited from Urho3D::Deserializer
unsigned position_
 Stream position.
 
unsigned size_
 Stream size.
 

Detailed Description

File opened either through the filesystem or from within a package file.

Member Function Documentation

unsigned Urho3D::File::Read ( void *  dest,
unsigned  size 
)
virtual

Read bytes from the file. Return number of bytes actually read.

Todo:
Handle errors

Implements Urho3D::Deserializer.

Here is the call graph for this function:

Here is the caller graph for this function:


The documentation for this class was generated from the following files:
  • /home/travis/build/urho3d/Urho3D/Source/Urho3D/IO/File.h
  • /home/travis/build/urho3d/Urho3D/Source/Urho3D/IO/File.cpp