Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   Related Pages  

DeviceContextC.h

00001 //-------------------------------------------------------------------------
00002 //
00003 // File:        DeviceContextC.h
00004 // Desc:        Device context class.
00005 // Author:      memon <memon@inside.org>
00006 //
00007 //-------------------------------------------------------------------------
00008 //  Copyright (c) 2000-2002 Moppi Productions. All Rights Reserved.
00009 //  This file is part of Moppi Demopaja SDK. For conditions of 
00010 //  distribution and use, see the accompanying license.txt file.
00011 //  http://moppi.inside.org/demopaja/
00012 //-------------------------------------------------------------------------
00013 
00014 #ifndef __DEMOPAJA_DEVICECONTEXTC_H__
00015 #define __DEMOPAJA_DEVICECONTEXTC_H__
00016 
00017 #pragma warning( disable : 4786 )       // long names generated by STL
00018 
00019 #include "PajaTypes.h"
00020 #include "DeviceInterfaceI.h"
00021 #include "ClassIdC.h"
00022 #include <vector>
00023 
00024 
00025 namespace PajaSystem {
00026 
00028 
00038     class DeviceContextC
00039     {
00040     public:
00042 
00043         DeviceContextC();
00044 
00046 
00047         virtual ~DeviceContextC();
00048 
00050 
00077         virtual DeviceInterfaceI*   query_interface( const PluginClass::ClassIdC& rClassId );
00078 
00080 
00089         virtual DeviceInterfaceI*   query_interface( const PluginClass::SuperClassIdC& rSClassId );
00090 
00092 
00093         virtual void                register_interface( DeviceInterfaceI* pInterface );
00094 
00096 
00097         virtual void                unregister_interface( const PluginClass::ClassIdC& rClassId );
00098 
00100         virtual PajaTypes::uint32   get_interface_count() const;
00101 
00103         virtual DeviceInterfaceI*   get_interface( PajaTypes::uint32 ui32Index );
00104 
00105     private:
00106         std::vector<DeviceInterfaceI*>  m_rInterfaces;
00107     };
00108 
00109 }; // namespace
00110 
00111 #endif // __DEMOPAJA_DEVICECONTEXTC_H__

Moppi Demopaja SDK Documentation -- Copyright © 2000-2002 Moppi Productions