Show
Ignore:
Timestamp:
09/15/08 01:35:51 (4 months ago)
Author:
topia
Message:

update supported iTunesLib version to 1.11 (iTunes 7.7).
* support PersistentID and Playlists property.
* support ITArtwork.Description property.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/csharp/iTunesCOMWrap/trunk/iTunesCOMWrap/Interfaces/IBase.cs

    r11205 r19308  
    22using System; 
    33using System.Collections.Generic; 
     4using Clovery.iTunesHelper.COMWrap.Interfaces.Internal; 
    45using iTunes = iTunesLib; 
    56 
     
    99100        /// </remarks> 
    100101        int TrackDatabaseID { get; } 
     102 
     103        /// <summary> 
     104        /// Get the persistent ID. 
     105        /// </summary> 
     106        /// <remarks> 
     107        /// <para>64-bit persistent which can be used to identify 
     108        /// the IITObject across multiple invocations of iTunes.</para> 
     109        /// </remarks> 
     110        long PersistentID { get; } 
    101111 
    102112        /// <summary> 
     
    136146    } 
    137147 
    138  
    139     /// <summary> 
    140     /// Interface of a index enabled collection. 
    141     /// </summary> 
    142     /// <typeparam name="TIndex">Index type</typeparam> 
    143     /// <typeparam name="TItem">Item type</typeparam> 
    144     public interface IIndexedCollection<TIndex, TItem> 
     148    namespace Internal 
    145149    { 
    146150        /// <summary> 
    147         /// collection indexer of specified type. 
    148         /// </summary> 
    149         /// <param name="Index"><typeparamref name="TIndex"/>'s index of <typeparamref name="TItem"/> to retrive.</param> 
    150         /// <returns>Returns an <typeparamref name="TItem"/> object corresponding to the specified index.</returns> 
    151         TItem this[TIndex Index] { get; } 
    152     } 
    153  
    154     /// <summary> 
    155     /// Base interface of iTunes collections. 
    156     /// </summary> 
    157     /// <typeparam name="TItem">Wrapped item type</typeparam> 
    158     public interface IITBaseCollection<TItem> : IEnumerable<TItem>, IITFactory 
    159     { 
    160         /// <summary> 
    161         /// Get count of items. 
    162         /// </summary> 
    163         int Count { get; } 
    164     } 
    165  
    166     /// <summary> 
    167     /// interface of iTunes item creatable collections. 
    168     /// </summary> 
    169     /// <typeparam name="TITunesItem">Native iTunes item type</typeparam> 
    170     /// <typeparam name="TItem">Wrapped item type</typeparam> 
    171     internal interface ItemCreatableCollection<TITunesItem, TItem> 
    172     { 
    173         /// <summary> 
    174         /// Create item from Native iTunes item. 
    175         /// </summary> 
    176         /// <param name="item">Native iTunes item of <typeparamref name="TITunesItem"/>'s object.</param> 
    177         /// <returns>Wrapped item of <typeparamref name="TItem"/>'s object.</returns> 
    178         TItem CreateItem(TITunesItem item); 
    179     } 
    180  
    181     /// <summary> 
    182     /// interface of iTunes named collections. 
    183     /// </summary> 
    184     /// <typeparam name="TItem">Wrapped item type</typeparam> 
    185     public interface INamedCollection<TItem> : 
    186         IITBaseCollection<TItem>, IIndexedCollection<string, TItem>, IIndexedCollection<int, TItem> 
    187     { 
    188         /// <summary> 
    189         /// Returns an ItemByName indexer collection. 
    190         /// </summary> 
    191         IIndexedCollection<string, TItem> ItemByName { get; } 
    192     } 
    193  
    194     /// <summary> 
    195     /// object factory of wrapped iTunes object. 
    196     /// </summary> 
    197     public interface IITunesWrappedObjectFactory 
    198     { 
    199         IITObject GetCachedIITObject(int sourceID, int playlistID, int trackID, int TrackDatabaseID); 
    200         IITObject GetCachedIITObject(iTunesLib.IITObject _internal); 
    201         void PurgeObjectCache(); 
    202  
    203         TResult GetCacheOrAbstractObject<TResult>(int sourceID, int playlistID, int trackID, int TrackDatabaseID) 
    204             where TResult : class, IITObject; 
    205  
    206         /// <summary> 
    207         /// Returns an abstract iTunes object corresponding to the specified IDs. 
    208         /// </summary> 
    209         /// <remarks> 
    210         /// The object may be a source, playlist, or track. 
    211         /// </remarks> 
    212         /// <param name="sourceID">The ID that identifies the source. Valid for a source, playlist, or track.</param> 
    213         /// <param name="playlistID">The ID that identifies the playlist. Valid for a playlist or track. 
    214         /// Must be zero for a source.</param> 
    215         /// <param name="trackID">The ID that identifies the track within the playlist. Valid for a track. 
    216         /// Must be zero for a source or playlist.</param> 
    217         /// <param name="TrackDatabaseID">The ID that identifies the track, independent of its playlist. 
    218         /// Valid for a track. Must be zero for a source or playlist.</param> 
    219         /// <returns>Returns an <see cref="ITObject"/> object corresponding to the specified IDs.</returns> 
    220         IITObject CreateAbstractObject(int sourceID, int playlistID, int trackID, int TrackDatabaseID); 
    221  
    222         /// <summary> 
    223         /// Returns a wrapped object implements iTunes object corresponding to a native. 
    224         /// </summary> 
    225         /// <param name="_internal">internal <see cref="iTunes.IITObject" /> object.</param> 
    226         /// <returns>Returns a wrapped object implements <see cref="ITObject"/>.</returns> 
    227         IITObject CreateObject(iTunes.IITObject _internal); 
    228  
    229         /// <summary> 
    230         /// Returns a wrapped object implements playlist object corresponding to a native playlist. 
    231         /// </summary> 
    232         /// <param name="_internal">internal <see cref="iTunes.IITPlaylist"/> object.</param> 
    233         /// <returns>Returns a wrapped object implements <see cref="IPlaylist"/>.</returns> 
    234         IPlaylist CreatePlaylist(iTunes.IITPlaylist _internal); 
    235  
    236         /// <summary> 
    237         /// Returns a wrapped object implements library playlist object corresponding to a native library playlist. 
    238         /// </summary> 
    239         /// <param name="_internal">internal <see cref="iTunes.IITLibraryPlaylist"/> object.</param> 
    240         /// <returns>Returns a wrapped object implements <see cref="ILibraryPlaylist"/>.</returns> 
    241         ILibraryPlaylist CreateLibraryPlaylist(iTunes.IITLibraryPlaylist _internal); 
    242  
    243         /// <summary> 
    244         /// Returns a wrapped object implements user playlist object corresponding to a native user playlist. 
    245         /// </summary> 
    246         /// <param name="_internal">internal <see cref="iTunes.IITUserPlaylist"/> object.</param> 
    247         /// <returns>Returns a wrapped object implements <see cref="IUserPlaylist"/>.</returns> 
    248         IUserPlaylist CreateUserPlaylist(iTunes.IITUserPlaylist _internal); 
    249  
    250         /// <summary> 
    251         /// Returns a wrapped object implements playlist collection object correspoding to a native playlist collection. 
    252         /// </summary> 
    253         /// <param name="_internal">internal <see cref="iTunes.IITPlaylistCollection"/> object.</param> 
    254         /// <returns>Returns a wrapped object implements <see cref="IPlaylistCollection"/>.</returns> 
    255         IPlaylistCollection CreatePlaylistCollection(iTunes.IITPlaylistCollection _internal); 
    256  
    257         /// <summary> 
    258         /// Returns a wrapped object implements source object corresponding to a native source. 
    259         /// </summary> 
    260         /// <param name="_internal">internal <see cref="iTunes.IITSource"/> object.</param> 
    261         /// <returns>Returns a wrapped object implements <see cref="ISource"/>.</returns> 
    262         ISource CreateSource(iTunes.IITSource _internal); 
    263  
    264         /// <summary> 
    265         /// Returns a wrapped object implements source collection object corresponding to a native source collection. 
    266         /// </summary> 
    267         /// <param name="_internal">internal <see cref="iTunes.IITSourceCollection"/> object.</param> 
    268         /// <returns>Returns a wrapped object implements <see cref="ISourceCollection"/>.</returns> 
    269         ISourceCollection CreateSourceCollection(iTunes.IITSourceCollection _internal); 
    270  
    271         /// <summary> 
    272         /// Returns a wrapped object implements track object corresponding to a native track. 
    273         /// </summary> 
    274         /// <param name="_internal">internal <see cref="iTunes.IITTrack"/> object.</param> 
    275         /// <returns>Returns a wrapped object implements <see cref="ITrack"/>.</returns> 
    276         ITrack CreateTrack(iTunes.IITTrack _internal); 
    277  
    278         /// <summary> 
    279         /// Returns a wrapped object implements url track object corresponding to a native url track. 
    280         /// </summary> 
    281         /// <param name="_internal">internal <see cref="iTunes.IITURLTrack"/> object.</param> 
    282         /// <returns>Returns a wrapped object implements <see cref="IURLTrack"/>.</returns> 
    283         IURLTrack CreateURLTrack(iTunes.IITURLTrack _internal); 
    284  
    285         /// <summary> 
    286         /// Returns a wrapped object implements track collection object corresponding to a native track collection. 
    287         /// </summary> 
    288         /// <param name="_internal">internal <see cref="iTunes.IITTrackCollection"/> object.</param> 
    289         /// <returns>Returns a wrapped object implements <see cref="ITrackCollection"/>.</returns> 
    290         ITrackCollection CreateTrackCollection(iTunes.IITTrackCollection _internal); 
    291  
    292         /// <summary> 
    293         /// Returns a wrapped object implements window object corresponding to a native window. 
    294         /// </summary> 
    295         /// <param name="_internal">internal <see cref="iTunes.IITWindow"/> object.</param> 
    296         /// <returns>Returns a wrapped object implements <see cref="IWindow"/>.</returns> 
    297         IWindow CreateWindow(iTunes.IITWindow _internal); 
    298  
    299         /// <summary> 
    300         /// Returns a wrapped object implements browser window object corresponding to a native browser window. 
    301         /// </summary> 
    302         /// <param name="_internal">internal <see cref="iTunes.IITBrowserWindow"/> object.</param> 
    303         /// <returns>Returns a wrapped object implements <see cref="IBrowserWindow"/>.</returns> 
    304         IBrowserWindow CreateBrowserWindow(iTunes.IITBrowserWindow _internal); 
    305  
    306         /// <summary> 
    307         /// Returns a wrapped object implements window collection object corresponding to a native window collection. 
    308         /// </summary> 
    309         /// <param name="_internal">internal <see cref="iTunes.IITWindowCollection"/> object.</param> 
    310         /// <returns>Returns a wrapped object implements <see cref="IWindowCollection"/>.</returns> 
    311         IWindowCollection CreateWindowCollection(iTunes.IITWindowCollection _internal); 
    312  
    313         /// <summary> 
    314         /// Returns a wrapped object implements artwork object corresponding to a native artwork. 
    315         /// </summary> 
    316         /// <param name="_internal">internal <see cref="iTunes.IITArtwork"/> object.</param> 
    317         /// <returns>Returns a wrapped object implements <see cref="IArtwork"/>.</returns> 
    318         IArtwork CreateArtwork(iTunes.IITArtwork _internal); 
    319  
    320         /// <summary> 
    321         /// Returns a wrapped object implements artwork collection object corresponding to a native artwork collection. 
    322         /// </summary> 
    323         /// <param name="_internal">internal <see cref="iTunes.IITArtworkCollection"/> object.</param> 
    324         /// <returns>Returns a wrapped object implements <see cref="IArtworkCollection"/>.</returns> 
    325         IArtworkCollection CreateArtworkCollection(iTunes.IITArtworkCollection _internal); 
    326  
    327         /// <summary> 
    328         /// Returns a wrapped object implements encoder object corresponding to a native encoder. 
    329         /// </summary> 
    330         /// <param name="_internal">internal <see cref="iTunes.IITEncoder"/> object.</param> 
    331         /// <returns>Returns a wrapped object implements <see cref="IEncoder"/>.</returns> 
    332         IEncoder CreateEncoder(iTunes.IITEncoder _internal); 
    333  
    334         /// <summary> 
    335         /// Returns a encoder collection object corresponding to a native encoder collection object. 
    336         /// </summary> 
    337         /// <param name="_internal">internal <see cref="iTunes.IITEncoderCollection"/> object.</param> 
    338         /// <returns>Returns a wrapped object implements <see cref="IEncoderCollection"/>.</returns> 
    339         IEncoderCollection CreateEncoderCollection(iTunes.IITEncoderCollection _internal); 
    340  
    341         /// <summary> 
    342         /// Returns a equalizer preset object corresponding to a native equalizer preset object. 
    343         /// </summary> 
    344         /// <param name="_internal">internal <see cref="iTunes.IITEQPreset"/> object.</param> 
    345         /// <returns>Returns a wrapped object implements <see cref="IEQPreset"/>.</returns> 
    346         IEQPreset CreateEQPreset(iTunes.IITEQPreset _internal); 
    347  
    348         /// <summary> 
    349         /// Returns a equalizer preset collection object corresponding to a native equalizer preset collection object. 
    350         /// </summary> 
    351         /// <param name="_internal">internal <see cref="iTunes.IITEQPresetCollection"/> object.</param> 
    352         /// <returns>Returns a wrapped object implements <see cref="IEQPresetCollection"/>.</returns> 
    353         IEQPresetCollection CreateEQPresetCollection(iTunes.IITEQPresetCollection _internal); 
    354  
    355         /// <summary> 
    356         /// Returns a visual object corresponding to a native visual object. 
    357         /// </summary> 
    358         /// <param name="_internal">internal <see cref="iTunes.IITVisual"/> object.</param> 
    359         /// <returns>Returns a wrapped object implements <see cref="IVisual"/>.</returns> 
    360         IVisual CreateVisual(iTunes.IITVisual _internal); 
    361  
    362         /// <summary> 
    363         /// Returns a visual collection object corresponding to a native visual collection object. 
    364         /// </summary> 
    365         /// <param name="_internal">internal <see cref="iTunes.IITVisualCollection"/> object.</param> 
    366         /// <returns>Returns a wrapped object implements <see cref="IVisualCollection"/>.</returns> 
    367         IVisualCollection CreateVisualCollection(iTunes.IITVisualCollection _internal); 
    368  
    369         /// <summary> 
    370         /// Returns a operation status object corresponding to a native operation status object. 
    371         /// </summary> 
    372         /// <param name="_internal">internal <see cref="iTunes.IITOperationStatus"/> object.</param> 
    373         /// <returns>Returns a wrapped object implements <see cref="IOperationStatus"/>.</returns> 
    374         IOperationStatus CreateOperationStatus(iTunes.IITOperationStatus _internal); 
    375  
    376         /// <summary> 
    377         /// Returns a convert operation status object corresponding to a native convert operation status object. 
    378         /// </summary> 
    379         /// <param name="_internal">internal <see cref="iTunes.iTunesConvertOperationStatus"/> object.</param> 
    380         /// <returns>Returns a wrapped object implements <see cref="IConvertOperationStatusWithEvents"/>.</returns> 
    381         IConvertOperationStatusWithEvents CreateConvertOperationStatus(iTunes.iTunesConvertOperationStatus _internal); 
     151        /// Interface of a index enabled collection. 
     152        /// </summary> 
     153        /// <typeparam name="TIndex">Index type</typeparam> 
     154        /// <typeparam name="TItem">Item type</typeparam> 
     155        public interface IIndexedCollection<TIndex, TItem> 
     156        { 
     157            /// <summary> 
     158            /// collection indexer of specified type. 
     159            /// </summary> 
     160            /// <param name="Index"><typeparamref name="TIndex"/>'s index of <typeparamref name="TItem"/> to retrive.</param> 
     161            /// <returns>Returns an <typeparamref name="TItem"/> object corresponding to the specified index.</returns> 
     162            TItem this[TIndex Index] { get; } 
     163        } 
     164 
     165        /// <summary> 
     166        /// Base interface of iTunes collections. 
     167        /// </summary> 
     168        /// <typeparam name="TItem">Wrapped item type</typeparam> 
     169        public interface IITBaseCollection<TItem> : IEnumerable<TItem>, IITFactory 
     170        { 
     171            /// <summary> 
     172            /// Get count of items. 
     173            /// </summary> 
     174            int Count { get; } 
     175        } 
     176 
     177        /// <summary> 
     178        /// interface of iTunes item creatable collections. 
     179        /// </summary> 
     180        /// <typeparam name="TITunesItem">Native iTunes item type</typeparam> 
     181        /// <typeparam name="TItem">Wrapped item type</typeparam> 
     182        internal interface ItemCreatableCollection<TITunesItem, TItem> 
     183        { 
     184            /// <summary> 
     185            /// Create item from Native iTunes item. 
     186            /// </summary> 
     187            /// <param name="item">Native iTunes item of <typeparamref name="TITunesItem"/>'s object.</param> 
     188            /// <returns>Wrapped item of <typeparamref name="TItem"/>'s object.</returns> 
     189            TItem CreateItem(TITunesItem item); 
     190        } 
     191 
     192        /// <summary> 
     193        /// interface of iTunes named collections. 
     194        /// </summary> 
     195        /// <typeparam name="TItem">Wrapped item type</typeparam> 
     196        public interface INamedCollection<TItem> : 
     197            IITBaseCollection<TItem>, IIndexedCollection<string, TItem>, IIndexedCollection<int, TItem> 
     198        { 
     199            /// <summary> 
     200            /// Returns an ItemByName indexer collection. 
     201            /// </summary> 
     202            IIndexedCollection<string, TItem> ItemByName { get; } 
     203        } 
     204 
     205        /// <summary> 
     206        /// object factory of wrapped iTunes object. 
     207        /// </summary> 
     208        public interface IITunesWrappedObjectFactory 
     209        { 
     210            IITObject GetCachedIITObject(int sourceID, int playlistID, int trackID, int TrackDatabaseID); 
     211            IITObject GetCachedIITObject(iTunesLib.IITObject _internal); 
     212            void PurgeObjectCache(); 
     213 
     214            TResult GetCacheOrAbstractObject<TResult>(int sourceID, int playlistID, int trackID, int TrackDatabaseID) 
     215                where TResult : class, IITObject; 
     216 
     217            /// <summary> 
     218            /// Returns an abstract iTunes object corresponding to the specified IDs. 
     219            /// </summary> 
     220            /// <remarks> 
     221            /// The object may be a source, playlist, or track. 
     222            /// </remarks> 
     223            /// <param name="sourceID">The ID that identifies the source. Valid for a source, playlist, or track.</param> 
     224            /// <param name="playlistID">The ID that identifies the playlist. Valid for a playlist or track. 
     225            /// Must be zero for a source.</param> 
     226            /// <param name="trackID">The ID that identifies the track within the playlist. Valid for a track. 
     227            /// Must be zero for a source or playlist.</param> 
     228            /// <param name="TrackDatabaseID">The ID that identifies the track, independent of its playlist. 
     229            /// Valid for a track. Must be zero for a source or playlist.</param> 
     230            /// <returns>Returns an <see cref="ITObject"/> object corresponding to the specified IDs.</returns> 
     231            IITObject CreateAbstractObject(int sourceID, int playlistID, int trackID, int TrackDatabaseID); 
     232 
     233            /// <summary> 
     234            /// Returns a wrapped object implements iTunes object corresponding to a native. 
     235            /// </summary> 
     236            /// <param name="_internal">internal <see cref="iTunes.IITObject" /> object.</param> 
     237            /// <returns>Returns a wrapped object implements <see cref="ITObject"/>.</returns> 
     238            IITObject CreateObject(iTunes.IITObject _internal); 
     239 
     240            /// <summary> 
     241            /// Returns a wrapped object implements playlist object corresponding to a native playlist. 
     242            /// </summary> 
     243            /// <param name="_internal">internal <see cref="iTunes.IITPlaylist"/> object.</param> 
     244            /// <returns>Returns a wrapped object implements <see cref="IPlaylist"/>.</returns> 
     245            IPlaylist CreatePlaylist(iTunes.IITPlaylist _internal); 
     246 
     247            /// <summary> 
     248            /// Returns a wrapped object implements library playlist object corresponding to a native library playlist. 
     249            /// </summary> 
     250            /// <param name="_internal">internal <see cref="iTunes.IITLibraryPlaylist"/> object.</param> 
     251            /// <returns>Returns a wrapped object implements <see cref="ILibraryPlaylist"/>.</returns> 
     252            ILibraryPlaylist CreateLibraryPlaylist(iTunes.IITLibraryPlaylist _internal); 
     253 
     254            /// <summary> 
     255            /// Returns a wrapped object implements user playlist object corresponding to a native user playlist. 
     256            /// </summary> 
     257            /// <param name="_internal">internal <see cref="iTunes.IITUserPlaylist"/> object.</param> 
     258            /// <returns>Returns a wrapped object implements <see cref="IUserPlaylist"/>.</returns> 
     259            IUserPlaylist CreateUserPlaylist(iTunes.IITUserPlaylist _internal); 
     260 
     261            /// <summary> 
     262            /// Returns a wrapped object implements playlist collection object correspoding to a native playlist collection. 
     263            /// </summary> 
     264            /// <param name="_internal">internal <see cref="iTunes.IITPlaylistCollection"/> object.</param> 
     265            /// <returns>Returns a wrapped object implements <see cref="IPlaylistCollection"/>.</returns> 
     266            IPlaylistCollection CreatePlaylistCollection(iTunes.IITPlaylistCollection _internal); 
     267 
     268            /// <summary> 
     269            /// Returns a wrapped object implements source object corresponding to a native source. 
     270            /// </summary> 
     271            /// <param name="_internal">internal <see cref="iTunes.IITSource"/> object.</param> 
     272            /// <returns>Returns a wrapped object implements <see cref="ISource"/>.</returns> 
     273            ISource CreateSource(iTunes.IITSource _internal); 
     274 
     275            /// <summary> 
     276            /// Returns a wrapped object implements source collection object corresponding to a native source collection. 
     277            /// </summary> 
     278            /// <param name="_internal">internal <see cref="iTunes.IITSourceCollection"/> object.</param> 
     279            /// <returns>Returns a wrapped object implements <see cref="ISourceCollection"/>.</returns> 
     280            ISourceCollection CreateSourceCollection(iTunes.IITSourceCollection _internal); 
     281 
     282            /// <summary> 
     283            /// Returns a wrapped object implements track object corresponding to a native track. 
     284            /// </summary> 
     285            /// <param name="_internal">internal <see cref="iTunes.IITTrack"/> object.</param> 
     286            /// <returns>Returns a wrapped object implements <see cref="ITrack"/>.</returns> 
     287            ITrack CreateTrack(iTunes.IITTrack _internal); 
     288 
     289            /// <summary> 
     290            /// Returns a wrapped object implements url track object corresponding to a native url track. 
     291            /// </summary> 
     292            /// <param name="_internal">internal <see cref="iTunes.IITURLTrack"/> object.</param> 
     293            /// <returns>Returns a wrapped object implements <see cref="IURLTrack"/>.</returns> 
     294            IURLTrack CreateURLTrack(iTunes.IITURLTrack _internal); 
     295 
     296            /// <summary> 
     297            /// Returns a wrapped object implements track collection object corresponding to a native track collection. 
     298            /// </summary> 
     299            /// <param name="_internal">internal <see cref="iTunes.IITTrackCollection"/> object.</param> 
     300            /// <returns>Returns a wrapped object implements <see cref="ITrackCollection"/>.</returns> 
     301            ITrackCollection CreateTrackCollection(iTunes.IITTrackCollection _internal); 
     302 
     303            /// <summary> 
     304            /// Returns a wrapped object implements window object corresponding to a native window. 
     305            /// </summary> 
     306            /// <param name="_internal">internal <see cref="iTunes.IITWindow"/> object.</param> 
     307            /// <returns>Returns a wrapped object implements <see cref="IWindow"/>.</returns> 
     308            IWindow CreateWindow(iTunes.IITWindow _internal); 
     309 
     310            /// <summary> 
     311            /// Returns a wrapped object implements browser window object corresponding to a native browser window. 
     312            /// </summary> 
     313            /// <param name="_internal">internal <see cref="iTunes.IITBrowserWindow"/> object.</param> 
     314            /// <returns>Returns a wrapped object implements <see cref="IBrowserWindow"/>.</returns> 
     315            IBrowserWindow CreateBrowserWindow(iTunes.IITBrowserWindow _internal); 
     316 
     317            /// <summary> 
     318            /// Returns a wrapped object implements window collection object corresponding to a native window collection. 
     319            /// </summary> 
     320            /// <param name="_internal">internal <see cref="iTunes.IITWindowCollection"/> object.</param> 
     321            /// <returns>Returns a wrapped object implements <see cref="IWindowCollection"/>.</returns> 
     322            IWindowCollection CreateWindowCollection(iTunes.IITWindowCollection _internal); 
     323 
     324            /// <summary> 
     325            /// Returns a wrapped object implements artwork object corresponding to a native artwork. 
     326            /// </summary> 
     327            /// <param name="_internal">internal <see cref="iTunes.IITArtwork"/> object.</param> 
     328            /// <returns>Returns a wrapped object implements <see cref="IArtwork"/>.</returns> 
     329            IArtwork CreateArtwork(iTunes.IITArtwork _internal); 
     330 
     331            /// <summary> 
     332            /// Returns a wrapped object implements artwork collection object corresponding to a native artwork collection. 
     333            /// </summary> 
     334            /// <param name="_internal">internal <see cref="iTunes.IITArtworkCollection"/> object.</param> 
     335            /// <returns>Returns a wrapped object implements <see cref="IArtworkCollection"/>.</returns> 
     336            IArtworkCollection CreateArtworkCollection(iTunes.IITArtworkCollection _internal); 
     337 
     338            /// <summary> 
     339            /// Returns a wrapped object implements encoder object corresponding to a native encoder. 
     340            /// </summary> 
     341            /// <param name="_internal">internal <see cref="iTunes.IITEncoder"/> object.</param> 
     342            /// <returns>Returns a wrapped object implements <see cref="IEncoder"/>.</returns> 
     343            IEncoder CreateEncoder(iTunes.IITEncoder _internal); 
     344 
     345            /// <summary> 
     346            /// Returns a encoder collection object corresponding to a native encoder collection object. 
     347            /// </summary> 
     348            /// <param name="_internal">internal <see cref="iTunes.IITEncoderCollection"/> object.</param> 
     349            /// <returns>Returns a wrapped object implements <see cref="IEncoderCollection"/>.</returns> 
     350            IEncoderCollection CreateEncoderCollection(iTunes.IITEncoderCollection _internal); 
     351 
     352            /// <summary> 
     353            /// Returns a equalizer preset object corresponding to a native equalizer preset object. 
     354            /// </summary> 
     355            /// <param name="_internal">internal <see cref="iTunes.IITEQPreset"/> object.</param> 
     356            /// <returns>Returns a wrapped object implements <see cref="IEQPreset"/>.</returns> 
     357            IEQPreset CreateEQPreset(iTunes.IITEQPreset _internal); 
     358 
     359            /// <summary> 
     360            /// Returns a equalizer preset collection object corresponding to a native equalizer preset collection object. 
     361            /// </summary> 
     362            /// <param name="_internal">internal <see cref="iTunes.IITEQPresetCollection"/> object.</param> 
     363            /// <returns>Returns a wrapped object implements <see cref="IEQPresetCollection"/>.</returns> 
     364            IEQPresetCollection CreateEQPresetCollection(iTunes.IITEQPresetCollection _internal); 
     365 
     366            /// <summary> 
     367            /// Returns a visual object corresponding to a native visual object. 
     368            /// </summary> 
     369            /// <param name="_internal">internal <see cref="iTunes.IITVisual"/> object.</param> 
     370            /// <returns>Returns a wrapped object implements <see cref="IVisual"/>.</returns> 
     371            IVisual CreateVisual(iTunes.IITVisual _internal); 
     372 
     373            /// <summary> 
     374            /// Returns a visual collection object corresponding to a native visual collection object. 
     375            /// </summary> 
     376            /// <param name="_internal">internal <see cref="iTunes.IITVisualCollection"/> object.</param> 
     377            /// <returns>Returns a wrapped object implements <see cref="IVisualCollection"/>.</returns> 
     378            IVisualCollection CreateVisualCollection(iTunes.IITVisualCollection _internal); 
     379 
     380            /// <summary> 
     381            /// Returns a operation status object corresponding to a native operation status object. 
     382            /// </summary> 
     383            /// <param name="_internal">internal <see cref="iTunes.IITOperationStatus"/> object.</param> 
     384            /// <returns>Returns a wrapped object implements <see cref="IOperationStatus"/>.</returns> 
     385            IOperationStatus CreateOperationStatus(iTunes.IITOperationStatus _internal); 
     386 
     387            /// <summary> 
     388            /// Returns a convert operation status object corresponding to a native convert operation status object. 
     389            /// </summary> 
     390            /// <param name="_internal">internal <see cref="iTunes.iTunesConvertOperationStatus"/> object.</param> 
     391            /// <returns>Returns a wrapped object implements <see cref="IConvertOperationStatusWithEvents"/>.</returns> 
     392            IConvertOperationStatusWithEvents CreateConvertOperationStatus(iTunes.iTunesConvertOperationStatus _internal); 
     393        } 
    382394    } 
    383395}