⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s60internetradioappui.h

📁 symbian平台
💻 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 + -