Katana Plug-in APIs 0.1

DataMessage.h

00001 // Copyright (c) 2012 The Foundry Visionmongers Ltd. All Rights Reserved.
00002 
00003 #ifndef DATA_MESSAGE_H
00004 #define DATA_MESSAGE_H
00005 
00006 #include <stddef.h>
00007 #include <stdint.h>
00008 
00009 #include "Message.h"
00010 
00011 namespace Foundry
00012 {
00013 namespace Katana
00014 {
00019 class NewChannelMessage;
00020 
00036 class DataMessage : public Message
00037 {
00038 public:
00061     DataMessage(const NewChannelMessage& channel,
00062                 uint32_t xMin = 0,
00063                 uint32_t width = 0,
00064                 uint32_t yMin = 0,
00065                 uint32_t height = 0,
00066                 uint32_t byteSkip = 0);
00067 
00091     DataMessage(const uint8_t* frameID,
00092                 uint16_t channelID = 0,
00093                 uint32_t xMin = 0,
00094                 uint32_t width = 0,
00095                 uint32_t yMin = 0,
00096                 uint32_t height = 0,
00097                 uint32_t byteSkip = 0);
00098 
00102     virtual ~DataMessage() {}
00103 
00126     void setData(const void* data,
00127                  uint32_t size,
00128                  FnPixelDataDeleter pixelDataDeleter = NULL);
00129 
00130     void setStartCoordinates(uint32_t x, uint32_t y);
00131     void setDataDimensions(uint32_t width, uint32_t height);
00132     void setByteSkip(uint32_t byteSkip);
00133 
00140     const uint8_t* frameUUID() const;
00141     uint16_t channelID() const;
00142     uint32_t xMin() const;
00143     uint32_t width() const;
00144     uint32_t yMin() const;
00145     uint32_t height() const;
00146     uint32_t bufferSize() const;
00147 
00155     const void* dataBuffer() const;
00156     uint32_t byteSkip() const;
00157 
00158 private:
00159     DataMessage();
00160     DataMessage(const DataMessage& rhs);
00161     DataMessage& operator=(const DataMessage& rhs);
00162 };
00166 }  // namespace Katana
00167 }  // namespace Foundry
00168 
00169 #endif
 All Classes Functions Variables Typedefs Enumerations Enumerator