EMIPLIB

mipmessage.h

Go to the documentation of this file.
00001 /*
00002     
00003   This file is a part of EMIPLIB, the EDM Media over IP Library.
00004   
00005   Copyright (C) 2006-2011  Hasselt University - Expertise Centre for
00006                       Digital Media (EDM) (http://www.edm.uhasselt.be)
00007 
00008   This library is free software; you can redistribute it and/or
00009   modify it under the terms of the GNU Lesser General Public
00010   License as published by the Free Software Foundation; either
00011   version 2.1 of the License, or (at your option) any later version.
00012 
00013   This library is distributed in the hope that it will be useful,
00014   but WITHOUT ANY WARRANTY; without even the implied warranty of
00015   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016   Lesser General Public License for more details.
00017 
00018   You should have received a copy of the GNU Lesser General Public
00019   License along with this library; if not, write to the Free Software
00020   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  
00021   USA
00022 
00023 */
00024 
00029 #ifndef MIPMESSAGE_H
00030 
00031 #define MIPMESSAGE_H
00032 
00033 #include "mipconfig.h"
00034 #include "miptypes.h"
00035 #ifdef MIPDEBUG
00036         #include <iostream>
00037 #endif // MIPDEBUG
00038 
00058 #define MIPMESSAGE_TYPE_SYSTEM                                                          0x00000001
00059 #define MIPMESSAGE_TYPE_AUDIO_RAW                                                       0x00000002
00060 #define MIPMESSAGE_TYPE_AUDIO_ENCODED                                                   0x00000004
00061 #define MIPMESSAGE_TYPE_VIDEO_RAW                                                       0x00000008
00062 #define MIPMESSAGE_TYPE_VIDEO_ENCODED                                                   0x00000010
00063 #define MIPMESSAGE_TYPE_RTP                                                             0x00000020
00064 #define MIPMESSAGE_TYPE_ALL                                                             0xffffffff
00065 
00072 class EMIPLIB_IMPORTEXPORT MIPMessage
00073 {
00074 protected:
00077         MIPMessage(uint32_t msgType, uint32_t msgSubtype)                               { m_msgType = msgType; m_msgSubtype = msgSubtype; }
00078 public:
00079         virtual ~MIPMessage()                                                           { }
00080 
00083         uint32_t getMessageType() const                                                 { return m_msgType; }
00084 
00087         uint32_t getMessageSubtype() const                                              { return m_msgSubtype; }
00088 protected:
00091         void setMessageSubtype(uint32_t s)                                              { m_msgSubtype = s; }
00092 private:
00093         uint32_t m_msgType, m_msgSubtype;
00094 };
00095 
00096 #endif // MIPMESSAGE_H
00097 
00098