// cFileInfo.h: interface for the cFileInfo class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_CFILEINFO_H__28FB4B70_8402_4ED5_969E_5C5AB6CAC534__INCLUDED_)
#define AFX_CFILEINFO_H__28FB4B70_8402_4ED5_969E_5C5AB6CAC534__INCLUDED_

class cFileInfo  
{
public:
	cFileInfo();
	virtual ~cFileInfo();

 UWord32   FileIdentifier;
 UWord32   FileNetworkIdentifier;
 char   FileMd4[16];
 UWord32   FileSize; //  (hum... in a next version, we need to increase to int64)  
 UWord32   FileDownloaded;  
 UWord32   NumberOfSources;
 UWord32   NumberOfClients;
 string   Chunks;		// (one char by chunk '0'-'3')  
 string   Availability; // (one char by chunk, 0-255 sources)  
 string   DownloadRate;
 string		TimeFileAge; // (when download started)  

 string   FilePreferredName; // (not for code 7)  
 UWord32 OffsetTime; //   File Last Seen (not for code 7)  
 UWord32 FilePriority; // (not for code 7)  

 UWord8 FileState; //   Current State of the Download  
 string ReasonOfAbortion;
 
 UWord16	m_NbChunksAges;
 list<string>   lstChunksAges; // (last time each chunk has been seen)  

 UWord16	m_NbPossibleFileNames;
 list<string>   lstPossibleFileNames;

	UWord8   FileFormat;


  string   FormatExtension; // [mp3 for example] (present only if File Format = 1)  
    string   Formatkind; // [Audio for example] (present only if File Format = 1)  

  string   VideoCodec; // (present only if File Format = 2)  
    UWord32   VideoWidth; // (present only if File Format = 2)  
    UWord32   VideoHeight; // (present only if File Format = 2)  
    UWord32   VideoFPS; // (present only if File Format = 2)  
    UWord32   VideoRate; // (present only if File Format = 2)  

	string   Mp3Title; //	(present only if File Format = 3)  
	string   Mp3Artist; //	(present only if File Format = 3)  
	string   Mp3Album; //	(present only if File Format = 3)  
	string   Mp3Year; //	(present only if File Format = 3)  
	string   Mp3Comment; // (present only if File Format = 3)  
	UWord32   Mp3Tracknum; // (present only if File Format = 3)  
	UWord32   Mp3Genre; //	(present only if File Format = 3)  

};

#endif // !defined(AFX_CFILEINFO_H__28FB4B70_8402_4ED5_969E_5C5AB6CAC534__INCLUDED_)
