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

DeviceInterfaceI.h

00001 //-------------------------------------------------------------------------
00002 //
00003 // File:        DeviceInterfaceI.h
00004 // Desc:        Device Interface interface.
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_DEVICEINTERFACEI_H__
00015 #define __DEMOPAJA_DEVICEINTERFACEI_H__
00016 
00017 // forward declaration
00018 //namespace PajaSystem {
00019 //  class DeviceInterfaceI;
00020 //};
00021 
00022 #include "PajaTypes.h"
00023 #include "ClassIdC.h"
00024 #include "DataBlockI.h"
00025 #include "FileIO.h"
00026 
00027 namespace PajaSystem {
00028 
00030     enum DeviceStateE {
00031         DEVICE_STATE_OK,                
00032         DEVICE_STATE_LOST,              
00033         DEVICE_STATE_SHUTTINGDOWN,      
00034     };
00035 
00037 
00040     class DeviceInterfaceI : public Edit::DataBlockI
00041     {
00042     public:
00043 
00045         virtual PluginClass::SuperClassIdC      get_super_class_id() const = 0;
00047         virtual PluginClass::ClassIdC           get_class_id() const = 0;
00049         virtual const char*                     get_class_name() = 0;
00050 
00052 
00057         virtual bool                            get_exclusive() const;
00058 
00060         virtual PajaTypes::uint32               get_state() const;
00062         virtual void                            set_state( PajaTypes::uint32 ui32State );
00063 
00065         virtual PajaSystem::DeviceInterfaceI*   query_interface( const PluginClass::SuperClassIdC& rSuperClassId );
00066 
00068         virtual PajaTypes::uint32               save( FileIO::SaveC* pSave ) = 0;
00070         virtual PajaTypes::uint32               load( FileIO::LoadC* pLoad ) = 0;
00071 
00072     protected:
00074         DeviceInterfaceI();
00076         virtual ~DeviceInterfaceI();
00077 
00078         PajaTypes::uint32   m_ui32State;
00079     };
00080 
00081 }; // namespace
00082 
00083 #endif // __DEMOPAJA_DEVICEINTERFACEI_H__

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