SOL9 2.0 Class: WMPStringCollection

 SOL9 C++ Class Library  SOL9 Samples  SOL9 Tutorial  SOL9 FAQ  SOL9 ClassTree 

Source code

/*
 * WMPStringCollection.h 
 * Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */



// SOL9
// 2011/12/21

#pragma once

#include <sol/wmp/WMPObject.h>
#include <sol/HTMLEncoder.h>

namespace SOL {

class WMPStringCollection :public WMPObject {

private:
    IWMPStringCollection2Ptr collection;

public:
    WMPStringCollection(IWMPStringCollection2Ptr ptr)
        :collection(ptr)
    {
        if (ptr == NULL) {
            throw NullPointerException("IWMPStringCollectionPtr is NULL", 0);
        }
    }

public:
    ~WMPStringCollection()
    {
        collection = NULL;
    }

public:
    long getCount()
    {
        return collection->Getcount();
    }

    _bstr_t item(long lIndex)
    {
        return collection->Item(lIndex);
    }

    //<IWMPStringCollection2>
    VARIANT_BOOL isIdentical(struct IWMPStringCollection2 * pIWMPStringCollection2)
    {
        return collection->isIdentical(pIWMPStringCollection2);

    }
        
        
    _bstr_t getItemInfo(long lCollectionIndex, _bstr_t bstrItemName)
    {
        return collection->getItemInfo(lCollectionIndex, bstrItemName);
    }

    long getAttributeCountByType(long lCollectionIndex, _bstr_t bstrType, _bstr_t bstrLanguage)
    {
        return collection->getAttributeCountByType(lCollectionIndex, bstrType, bstrLanguage);
    }

    _variant_t getItemInfoByType(long lCollectionIndex, _bstr_t bstrType,
        _bstr_t bstrLanguage, long lAttributeIndex)
    {
        return collection->getItemInfoByType(lCollectionIndex, bstrType,
                bstrLanguage, lAttributeIndex);
    }
    //</IWMPStringCollection2>

public:
    void show(_bstr_t attribute, _bstr_t mediaType)
    {
        long count = getCount();
        _tprintf(_T("<StringCollection Attribute=\"%s\" MediaType=\"%s\" >\n"),
            (const TCHAR*)attribute, (const TCHAR*)mediaType);
        for (long i = 0; i<count; i++) {
            _bstr_t name = item(i);
            _bstr_t bname;
            HTMLEncoder encoder;
            encoder.encode(name, bname);
            _tprintf(_T("<Item Name=\"%s\" />\n"), (const TCHAR*)bname);
        }
        _tprintf(_T("</StringCollection>\n"));
    }

public:
    //2012/01/22
    void write(_bstr_t attribute, _bstr_t mediaType, Writer& writer)
    {
        long count = getCount();
        writer.writeln(L"<StringCollection Attribute=\"%s\" MediaType=\"%s\" >",
            (const wchar_t*)attribute, (const wchar_t*)mediaType);

        for (long i = 0; i<count; i++) {
            _bstr_t name = item(i);
            _bstr_t bname;
            HTMLEncoder encoder;
            encoder.encode(name, bname);
            writer.writeln(L"<Item Name=\"%s\" />", (const wchar_t*)bname);
        }
        writer.writeln(L"</StringCollection>");

    }
};

}


Last modified: 1 Feb 2012

Copyright (c) 2009-2012 Antillia.com ALL RIGHTS RESERVED.