📄 s60internetradioappui.h
字号:
/*
* ==============================================================================
* Name : S60InternetRadioAppUi.h
* Part of : S60 Internet Radio Application
* Interface :
* Description : Defines the S60 Internet Radio application UI class
* Version : 1
*
* Copyright (c) 2006, Nokia Corporation All rights reserved. Redistribution
* and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met: Redistributions
* of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer. Redistributions in binary form
* must reproduce the above copyright notice, this list of conditions and the
* following disclaimer in the documentation and/or other materials provided
* with the distribution. Neither the name of the Nokia Corporation nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission. THIS
* SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
* ==============================================================================
*/
#ifndef __S60INTERNETRADIOAPPUI_H__
#define __S60INTERNETRADIOAPPUI_H__
// INCLUDE FILES
#include <eikappui.h>
#include <aknappui.h>
#include <eikmenub.h>
#include <e32base.h>
#include <f32file.h>
#include <PluginAdapter.h>
#include <MAdapterObserver.h>
class CPlayerAdapter;
class CS60InternetRadioDocument;
class CS60InternetRadioView;
// CLASS DECLARATION
/**
* Application UI class.
* This class represents the user interface of the OSS Player application.
*
*/
class CS60InternetRadioAppUi : public MAdapterObserver,
public CAknAppUi //!!! The order MUST be kept (MAdapterObserver first), since we call a virtual function from an ECOm DLL that calls the first virtual function in the virtual functions table
{
public: // Contructors
/**
* Perform the first phase of two phase construction
*/
CS60InternetRadioAppUi();
~CS60InternetRadioAppUi();
/**
* Perform the second phase construction of a CS60InternetRadioAppUi object
*/
void ConstructL();
public: // New functions
/**
* Update the view
*/
void UpdateViewL();
/**
* Return the current audio adapter.
*/
MAudioAdapter* AudioAdapter();
public: // from CAknAppUi
/**
* Handle user menu selections
* @param aCommand the enumerated code for the option selected
*/
void HandleCommandL(TInt aCommand);
/**
* Dynamically initialises a menu pane
* @param aResourceId the resource for the menu to be displayed
* @param aMenuPane the handle to the menu
*/
void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane);
public: // from MAdapterObserver
/**
* Handle metadata updates from the adapter
* @param aIndex the index of the metadata that changed.
* @param aValue the metadata contents (value)
* @param aCommit indicates whether the metadata changes should be updated in the view.
*/
virtual void SetMetadata(TInt aIndex, const TDesC& aValue, TBool aCommit);
/**
* Reset all metadata values
*/
virtual void ResetMetadata();
private:
/**
* Sets the audio adapter to the specified adapter
* @param aAudioAdapter The adapter to use
*/
void SetAdapterL(MAudioAdapter* aAudioAdapter);
/**
* Select a file from the specified drive
* @param aDrive The drive where the file is located
*/
void SelectFileL(TDriveNumber aDrive);
/**
* Get all plugins that implements the plugin adapter interface.
*/
void GetPlugins();
private: // Data
// the audio player adapter
CPlayerAdapter* iPlayerAdapter;
// the current audio adapter
MAudioAdapter* iAudioAdapter;
//the application view
CS60InternetRadioView* iAppView;
// list of plugin adapters
RPointerArray<CPluginAdapter> iAudioPlugins;
};
#endif // __S60INTERNETRADIOAPPUI_H__
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -