SOL9 2.0 Class: WMPSettings

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

Source code

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


// SOL9
// 2011/12/07

#pragma once

#include <sol/wmp/WMPObject.h>

namespace SOL {

class WMPSettings :public WMPObject
{
private:
    IWMPSettings2Ptr settings;
    //

public:
    WMPSettings(IWMPSettingsPtr ptr)
    :settings(ptr)
    {
        if (ptr == NULL) {
            throw NullPointerException("IWMPSettingsPtr is NULL", 0);
        }
    }

public:
    ~WMPSettings()
    {
        settings = NULL;
    }

public:
    // IWMPSettings
    VARIANT_BOOL getIsAvailable(_bstr_t bstrItem)
    {
        return settings->GetisAvailable(bstrItem);
    }

    VARIANT_BOOL getAutoStart()
    {
        return settings->GetautoStart();
    }

    void putAutoStart(VARIANT_BOOL pfAutoStart)
    {
        return settings->PutautoStart(pfAutoStart);
    }

    _bstr_t getBaseURL()
    {
        return settings->GetbaseURL();
    }

    void putBaseURL(_bstr_t pbstrBaseURL)
    {
        return settings->PutbaseURL(pbstrBaseURL);
    }

    _bstr_t getDefaultFrame()
    {
        return settings->GetdefaultFrame();
    }

    void putDefaultFrame(_bstr_t pbstrDefaultFrame)
    {
        return settings->PutdefaultFrame(
                pbstrDefaultFrame);
    }

    VARIANT_BOOL getInvokeURLs()
    {
        return settings->GetinvokeURLs();
    }

    void putInvokeURLs(VARIANT_BOOL pfInvokeURLs)
    {
        return settings->PutinvokeURLs(pfInvokeURLs);
    }
    
    VARIANT_BOOL getMute()
    {
        return settings->Getmute();
    }

    void putMute(VARIANT_BOOL pfMute)
    {
        return settings->Putmute(pfMute);
    }

    long getPlayCount()
    {
        return settings->GetplayCount();
    }

    void putPlayCount(long plCount)
    {
        return settings->PutplayCount(plCount);
    }

    double getRate()
    {
        return settings->Getrate();
    }

    void putRate(double pdRate)
    {
        return settings->Putrate(pdRate);
    }

    long getBalance()
    {
        return settings->Getbalance();
    }

    void putBalance(long plBalance)
    {
        return settings->Putbalance(plBalance);
    }

    long getVolume()
    {
        return settings->Getvolume();
    }

    void putVolume(long plVolume)
    {
        return settings->Putvolume(plVolume);
    }

    VARIANT_BOOL getMode(_bstr_t bstrMode)
    {
        return settings->getMode(bstrMode);
    }

    HRESULT setMode(
        _bstr_t bstrMode,
        VARIANT_BOOL varfMode)
    {
        return settings->setMode(bstrMode, varfMode);
    }

/*
mode: 
 autoRewind
 loop
 showFrame
 shuffle
*/
    VARIANT_BOOL getEnableErrorDialogs()
    {
        return settings->GetenableErrorDialogs();
    }

    void putEnableErrorDialogs(VARIANT_BOOL pfEnableErrorDialogs)
    {
        return settings->PutenableErrorDialogs(pfEnableErrorDialogs);
    }

    //IWMPSettings2
    long getDefaultAudioLanguage ( )
    {
        return settings->GetdefaultAudioLanguage ( );
    }

    _bstr_t getMediaAccessRights ( )
    {
        return settings->GetmediaAccessRights ( );
    }

   // desiredAccess = "none", "read", "full"
    VARIANT_BOOL requestMediaAccessRights (
        _bstr_t bstrDesiredAccess )
    {
        return settings->requestMediaAccessRights (bstrDesiredAccess );
    }

private:
    const TCHAR* getBoolName(VARIANT_BOOL flag)
    {
        static const TCHAR* name = _T("false");
        if (flag == VARIANT_TRUE) {
            name = _T("true");
        }
        return name;
    }
private:
    const wchar_t* getBoolean(VARIANT_BOOL flag)
    {
        static const wchar_t* name = L"false";
        if (flag == VARIANT_TRUE) {
            name = L"true";
        }
        return name;
    }

public:
    void showProperties(HWND hwnd=NULL) 
    {
        _tprintf(_T("<Settings>\n") );

        _tprintf(_T("<AutoStart>%s</AutoStart>\n"), getBoolName(getAutoStart()) );
        _tprintf(_T("<BaseURL>%s</BaseURL>\n"), (const TCHAR*)getBaseURL() );
        _tprintf(_T("<DefaultFrame>%s</DefaultFrame>\n"),  (const TCHAR*)getDefaultFrame() );
        _tprintf(_T("<InvokeURLs>%s</InvokeURLs>\n"), getBoolName(getInvokeURLs()) );
        _tprintf(_T("<Mute>%s</Mute>\n"), getBoolName(getMute()) );
        _tprintf(_T("<Rate>%f</Rate>\n"), getRate() );
        _tprintf(_T("<Balance>%ld</Balance>\n"), getBalance() );
        _tprintf(_T("<EnableErrorDialogs>%s</EnableErrorDialogs>\n"), getBoolName(getEnableErrorDialogs()) );
        _tprintf(_T("<Volume>%ld</Volume>\n"),  getVolume() );

        _tprintf(_T("<AutoRewind>%s</AutoRewind>\n"), getBoolName(getMode(_bstr_t("autoRewind"))) );
        _tprintf(_T("<Loop>%s</Loop>\n"), getBoolName(getMode(_bstr_t("loop"))) );
        _tprintf(_T("<ShowFrame>%s</ShowFrame>\n"), getBoolName(getMode(_bstr_t("showFrame"))) );
        _tprintf(_T("<Shuffle>%s</Shuffle>\n"), getBoolName(getMode(_bstr_t("shuffle"))) );

        _tprintf(_T("<DefaultAudioLanguage>%ld</DefaultAudioLanguage>\n"), getDefaultAudioLanguage() );
        _tprintf(_T("<MediaAccessRights>%s</MediaAccessRights>\n"),  (const TCHAR*)getMediaAccessRights() );
        _tprintf(_T("</Settings>\n") );

    }
public:
    void writeProperties(Writer& writer) 
    {
        writer.writeln(L"<Settings>");

        writer.writeln(L"<AutoStart>%s</AutoStart>", getBoolean(getAutoStart()) );
        writer.writeln(L"<BaseURL>%s</BaseURL>", (const wchar_t*)getBaseURL() );
        writer.writeln(L"<DefaultFrame>%s</DefaultFrame>",  (const wchar_t*)getDefaultFrame() );
        writer.writeln(L"<InvokeURLs>%s</InvokeURLs>", getBoolean(getInvokeURLs()) );
        writer.writeln(L"<Mute>%s</Mute>", getBoolean(getMute()) );
        writer.writeln(L"<Rate>%f</Rate>", getRate() );
        writer.writeln(L"<Balance>%ld</Balance>", getBalance() );
        writer.writeln(L"<EnableErrorDialogs>%s</EnableErrorDialogs>", getBoolean(getEnableErrorDialogs()) );
        writer.writeln(L"<Volume>%ld</Volume>",  getVolume() );

        writer.writeln(L"<AutoRewind>%s</AutoRewind>", getBoolean(getMode(_bstr_t("autoRewind"))) );
        writer.writeln(L"<Loop>%s</Loop>", getBoolean(getMode(_bstr_t("loop"))) );
        writer.writeln(L"<ShowFrame>%s</ShowFrame>", getBoolean(getMode(_bstr_t("showFrame"))) );
        writer.writeln(L"<Shuffle>%s</Shuffle>", getBoolean(getMode(_bstr_t("shuffle"))) );

        writer.writeln(L"<DefaultAudioLanguage>%ld</DefaultAudioLanguage>", getDefaultAudioLanguage() );
        writer.writeln(L"<MediaAccessRights>%s</MediaAccessRights>",  (const wchar_t*)getMediaAccessRights() );
        writer.writeln(L"</Settings>");
    }

};

}

Last modified: 1 Feb 2012

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