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__