svcore  1.9
OSCMessage.h
Go to the documentation of this file.
00001 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */
00002 
00003 /*
00004     Sonic Visualiser
00005     An audio file viewer and annotation editor.
00006     Centre for Digital Music, Queen Mary, University of London.
00007     
00008     This program is free software; you can redistribute it and/or
00009     modify it under the terms of the GNU General Public License as
00010     published by the Free Software Foundation; either version 2 of the
00011     License, or (at your option) any later version.  See the file
00012     COPYING included with this distribution for more information.
00013 */
00014 
00015 /*
00016    This is a modified version of a source file from the 
00017    Rosegarden MIDI and audio sequencer and notation editor.
00018    This file copyright 2000-2006 Chris Cannam.
00019 */
00020 
00021 #ifndef _OSC_MESSAGE_H_
00022 #define _OSC_MESSAGE_H_
00023 
00024 #include <QString>
00025 #include <QVariant>
00026 
00027 #include <vector>
00028 #include <map>
00029 
00030 #include "base/Debug.h"
00031 
00032 class OSCMessage
00033 {
00034 public:
00035     OSCMessage() : m_target(0), m_targetData(0) { }
00036     ~OSCMessage();
00037 
00038     void setTarget(const int &target) { m_target = target; }
00039     int getTarget() const { return m_target; }
00040 
00041     void setTargetData(const int &targetData) { m_targetData = targetData; }
00042     int getTargetData() const { return m_targetData; }
00043 
00044     void setMethod(QString method) { m_method = method; }
00045     QString getMethod() const { return m_method; }
00046 
00047     void clearArgs();
00048     void addArg(QVariant arg);
00049 
00050     int getArgCount() const;
00051     const QVariant &getArg(int i) const;
00052 
00053 private:
00054     int m_target;
00055     int m_targetData;
00056     QString m_method;
00057     std::vector<QVariant> m_args;
00058 };
00059 
00060 #endif