Katana Plug-in APIs 0.1

KatanaPipeSingleton.h

00001 // Copyright (c) 2012 The Foundry Visionmongers Ltd. All Rights Reserved.
00002 
00003 #ifndef KATANA_PIPE_SINGLETON_H
00004 #define KATANA_PIPE_SINGLETON_H
00005 
00006 #include <string>
00007 
00008 #include "KatanaPipe.h"
00009 
00010 namespace Foundry
00011 {
00012 namespace Katana
00013 {
00023 class PipeSingleton
00024 {
00025 public:
00046     static KatanaPipe* Instance(const std::string& hostName,
00047                                 unsigned int portNumber,
00048                                 const std::string& katanaPath = std::string());
00049 
00059     static size_t GetQueueSize();
00060 
00061 private:
00062     // Disable constructors
00063     PipeSingleton();
00064     PipeSingleton(const PipeSingleton& rhs);
00065     PipeSingleton& operator=(const PipeSingleton& rhs);
00066     ~PipeSingleton();
00067 
00068     static KatanaPipe* _pipe;
00069 };
00071 }  // namespace Katana
00072 }  // namespace Foundry
00073 
00074 #endif
 All Classes Functions Variables Typedefs Enumerations Enumerator