/* Copyright (C) 2000 Andy Sherwood (enigmax@home.com) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ // Rio500Remix.idl : IDL source for Rio500Remix.dll // // This file will be processed by the MIDL tool to // produce the type library (Rio500Remix.tlb) and marshalling code. import "oaidl.idl"; import "ocidl.idl"; import "objidl.idl"; [ object, uuid(DD6466C0-5403-4F96-B271-A961CFDC74AD), dual, helpstring("IFolder Interface"), pointer_default(unique) ] interface IFolder : IDispatch { [propget] HRESULT Number([out, retval] long *pVal); [propput] HRESULT Number([in] long newVal); [propget] HRESULT Name([out, retval] BSTR *pVal); [propput] HRESULT Name([in] BSTR newVal); [propget] HRESULT Bitmap([out, retval] VARIANT *pVal); [propput] HRESULT Bitmap([in] VARIANT newVal); [propget] HRESULT BitmapBlocks([out, retval] WORD *pVal); [propput] HRESULT BitmapBlocks([in] WORD newVal); }; [ object, uuid(2488EAC6-3A1B-4479-940A-35A37F1F3BB1), dual, helpstring("IFolders Interface"), pointer_default(unique) ] interface IFolders : IDispatch { [hidden] HRESULT AddFolder([in] IFolder* pFolder); [propget] HRESULT Count([out, retval] long* plCount); [propget, id(DISPID_VALUE)] HRESULT Item([in] long lItem, [out, retval] IFolder** ppFolder); [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum([out, retval] IUnknown** ppUnkEnum); }; [ object, uuid(D9A7FD64-6235-46CF-8B0C-A2B783A9876D), dual, helpstring("ISong Interface"), pointer_default(unique) ] interface ISong : IDispatch { [propget] HRESULT Name([out, retval] BSTR *pVal); [propput] HRESULT Name([in] BSTR newVal); [propget] HRESULT Number([out, retval] long *pVal); [propput] HRESULT Number([in] long newVal); [propget] HRESULT Bitmap([out, retval] VARIANT *pVal); [propput] HRESULT Bitmap([in] VARIANT newVal); [propget] HRESULT BitmapBlocks([out, retval] WORD *pVal); [propput] HRESULT BitmapBlocks([in] WORD newVal); [propget] HRESULT Folder([out, retval] long *pVal); [propput] HRESULT Folder([in] long newVal); [propget] HRESULT SongFileName([out, retval] BSTR *pVal); [propput] HRESULT SongFileName([in] BSTR newVal); [propget] HRESULT Size([out,retval] long *pVal); [hidden, propput] HRESULT Size([in] long newVal); }; [ object, uuid(6DE28A71-4F74-4CB0-AFE7-71027E726BEE), dual, helpstring("ISongs Interface"), pointer_default(unique) ] interface ISongs : IDispatch { [hidden] HRESULT AddSong([in] ISong* pSong); [propget] HRESULT Count([out, retval] long* plCount); [propget, id(DISPID_VALUE)] HRESULT Item([in] long lItem, [out, retval] ISong** ppSong); [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum([out, retval] IUnknown** ppUnkEnum); }; [ object, uuid(C2BE4F17-F8A8-4217-A452-A6FEC13F8889), dual, helpstring("IRio500 Interface"), pointer_default(unique) ] interface IRio500 : IDispatch { HRESULT Open(); HRESULT Close(); [propget] HRESULT ExtFlash([out, retval] long *pVal); [propget] HRESULT AvailableMemory([in] long iFlash, [out, retval] long *pVal); [propget] HRESULT FirmwareVersion([out, retval] long *pVal); HRESULT Format([in] long lFlash); HRESULT AddFolder([in] BSTR bsName, [in] long lFlash); HRESULT AddFolderEx([in] IFolder* pFolder, [in] long lFlash); HRESULT RenameFolder([in] long lFolderNum, [in] BSTR bsNewName); HRESULT DeleteFolder([in] long lFolderNum, [in] long lFlash); [propget] HRESULT Folders([in] long iFlash, [out, retval] IFolders** ppFolders); HRESULT AddSong([in] long lFolder, [in] BSTR bsName, [in] BSTR bsSongFileName, [in] long lFlash); HRESULT AddSongEx([in] ISong* pFolder, [in] long lFlash); HRESULT RenameSong([in] long lFolderNum, [in] long lSongNum, [in] BSTR bsNewName, [in] long lFlash); HRESULT DeleteSong([in] long lFolderNum, [in] long lSongNum, [in] long lFlash); HRESULT GetSong([in] long lFolderNum, [in] long lSongNum, [in] BSTR bsSongFileName); HRESULT SwapSong([in] long lFolderNum, [in] long lSongNum1, [in] long lSongNum2, [in] long lFlash); [propget] HRESULT Songs([in] long lFlash, [in] long lFolderNum, [out, retval] ISongs** ppSongs); [propget] HRESULT FontName([out, retval] BSTR *pVal); [propput] HRESULT FontName([in] BSTR newVal); [propget] HRESULT FontSize([out, retval] long *pVal); [propput] HRESULT FontSize([in] long newVal); }; [ uuid(B41A6E5B-F869-4D93-BA91-EB7293A4F561), version(1.0), helpstring("Rio500Remix 1.0 Type Library") ] library RIO500REMIXLib { importlib("stdole32.tlb"); importlib("stdole2.tlb"); [ uuid(7D03696A-0854-4991-8478-B7A87E117FCE), helpstring("Folder Class") ] coclass Folder { [default] interface IFolder; }; [ uuid(F33D5488-A200-497A-8D75-560E5FC7AA10), helpstring("Folders Class") ] coclass Folders { [default] interface IFolders; }; [ uuid(5E3B44CB-3681-4D53-8444-B18BF7E23BFA), helpstring("Song Class") ] coclass Song { [default] interface ISong; }; [ uuid(385B8D9A-6A28-4214-83BB-E8D5C6D6911B), helpstring("Songs Class") ] coclass Songs { [default] interface ISongs; }; [ uuid(D916EAE6-A90E-4b0b-8798-7C44D1BE0449), helpstring("_IRio500Events Interface") ] dispinterface _IRio500Events { properties: methods: [id(1), helpstring("method OnUploadUpdate")] HRESULT OnUploadUpdate(long lPercent); }; [ uuid(7B06C99C-5355-455E-82ED-D22D60B2F276), helpstring("Rio500 Class") ] coclass Rio500 { [default] interface IRio500; [default, source] dispinterface _IRio500Events; }; }; //Could not open device cpp_quote("const HRESULT RIO_E_COULDNT_OPEN_DEVICE = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x6000);") //Could not start communications with the Rio cpp_quote("const HRESULT RIO_E_COMM_START_ERROR = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x6001);") //Driver not open cpp_quote("const HRESULT RIO_E_DRIVER_NOT_OPEN = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x6002);") //Could not format flash memory cpp_quote("const HRESULT RIO_E_FORMAT_FAILED = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x6003);") //Could not create bitmap for folder text //Could not create bitmap for song text cpp_quote("const HRESULT RIO_E_CREATE_BITMAP_FAILED = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x6004);") //Can not have more than 8 folders cpp_quote("const HRESULT RIO_E_MAX_FOLDERS = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x6005);") //Could not build new folder entry cpp_quote("const HRESULT RIO_E_NEW_FOLDER_FAILED = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x6006);") //Could not allocate empty folder block cpp_quote("const HRESULT RIO_E_FOLDER_ALLOC_FAILED = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x6007);") //Could not write folder entries to device cpp_quote("const HRESULT RIO_E_FOLDER_WRITE_FAILED = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x6008);") //Could not send folder location to device cpp_quote("const HRESULT RIO_E_COULDNT_SEND_FOLDER_LOC = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x6009);") //File not found cpp_quote("const HRESULT RIO_E_FILE_NOT_FOUND = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x600A);") //Not enough free space for this song cpp_quote("const HRESULT RIO_E_NOT_ENOUGH_MEMORY = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x600B);") //Short read cpp_quote("const HRESULT RIO_E_SHORT_READ = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x600C);") //Could not write data to Rio cpp_quote("const HRESULT RIO_E_WRITE_FAILED = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x600D);") //Rio could not accept data cpp_quote("const HRESULT RIO_E_COULDNT_ACCEPT_DATA = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x600E);") //Couldn't convert name to ASCII string cpp_quote("const HRESULT RIO_E_STRING_ERROR = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x600F);") //Invalid variant passed as bitmap cpp_quote("const HRESULT RIO_E_BITMAP_INVALID = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x6010);") //Not enough data for complete bitmap cpp_quote("const HRESULT RIO_E_NOT_ENOUGH_BITMAP_DATA = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x6011);") //An invalid folder number was specified cpp_quote("const HRESULT RIO_E_INVALID_FOLDER = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x6012);") //An invalid song number was specified cpp_quote("const HRESULT RIO_E_INVALID_SONG = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x6013);") //User aborted cpp_quote("const HRESULT RIO_E_USER_ABORTED = -1*MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x6014);")