#ifndef _SVC_DEVICE_H #define _SVC_DEVICE_H #include // not done at all :) BU class NOVTABLE svc_device : public Dispatchable { public: const char *getDeviceName(); const char *getDeviceUID(); // some kind of unique per-device id if possible // return total storage space and int getDeviceSpace(unsigned int *space, unsigned int *spacefree); // return (estimated) # of seconds stored/available int getDeviceTime(unsigned int *time, unsigned int *timefree); // high-level stuff // give us a filename we should use if we transfer object to you // this name will be used as the media conversion pipeline's output // filename so your transfer filter will kick in... of course something // like d:\music\blah.mp3 is fine too int getTargetFilename(const char *playstring, char *fn, int buflen); // file/directory enumeration // int opendir(const char *path); // int readdir(const char *path); #if 0 // return a handle like C-style open int openFile(const char *filename, const char *mode); void closeFile(int handle); int writeToFile(int handle, const void *data, int length); int seek(int handle, int int putFile(const char *filename, const void *data, unsigned int length); int readFile(const char *filename, void *buffer, unsigned int offset, unsigned int length)=0; int getFileAttrib(const char *filename, const char *name, char *buf, int len); int setFileAttrib(const char *filename, const char *name, const char *buf, int len); #endif // playlist manipulation int playlistCreate(const char *playlist_name); int playlistDelete(const char *playlist_name); int playlistGetNumItems(const char *playlist_name); int playlistEnumItem(const char *playlist_name, char *playstring, int len); int playlistAppendItem(const char *playlist_name, const char *playstring); int playlistRemoveItem(const char *playlist_name, int position); }; #endif