Katana Plug-in APIs 0.1

Message.h

00001 // Copyright (c) 2012 The Foundry Visionmongers Ltd. All Rights Reserved.
00002 
00003 #ifndef MESSAGE_H
00004 #define MESSAGE_H
00005 
00006 #include <FnDisplayDriver/suite/FnDisplayDriverSuite.h>
00007 #include <FnPluginSystem/FnPluginSystem.h>
00008 
00009 namespace Foundry
00010 {
00011 namespace Katana
00012 {
00013 class KatanaPipe;
00014 
00022 class Message
00023 {
00024 public:
00025     Message() : _handle(0) {}
00026     explicit Message(FnMessageHandle handle) : _handle(handle) {}
00027 
00028     virtual ~Message();
00029 
00035     bool isValid() const { return _handle != 0; }
00036 
00043     static FnPlugStatus setHost(FnPluginHost* host);
00044 
00045     static void setSuite(const FnDisplayDriverHostSuite_v1* suite);
00046 
00052     static const FnDisplayDriverHostSuite_v1* getSuite();
00053 
00054 protected:
00055     friend class KatanaPipe;
00056     FnMessageHandle _handle;
00057 
00058     static const FnDisplayDriverHostSuite_v1* _suite;
00059 };
00063 }  // namespace Katana
00064 }  // namespace Foundry
00065 
00066 #endif
 All Classes Functions Variables Typedefs Enumerations Enumerator