Chris@320: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */
Chris@320: 
Chris@320: /*
Chris@320:     Sonic Visualiser
Chris@320:     An audio file viewer and annotation editor.
Chris@320:     Centre for Digital Music, Queen Mary, University of London.
Chris@320:     
Chris@320:     This program is free software; you can redistribute it and/or
Chris@320:     modify it under the terms of the GNU General Public License as
Chris@320:     published by the Free Software Foundation; either version 2 of the
Chris@320:     License, or (at your option) any later version.  See the file
Chris@320:     COPYING included with this distribution for more information.
Chris@320: */
Chris@320: 
Chris@320: /*
Chris@320:    This is a modified version of a source file from the 
Chris@320:    Rosegarden MIDI and audio sequencer and notation editor.
Chris@320:    This file copyright 2000-2006 Chris Cannam.
Chris@320: */
Chris@320: 
Chris@320: #ifndef _OSC_MESSAGE_H_
Chris@320: #define _OSC_MESSAGE_H_
Chris@320: 
Chris@320: #include <QString>
Chris@320: #include <QVariant>
Chris@320: 
Chris@320: #include <vector>
Chris@320: #include <map>
Chris@320: 
Chris@686: #include "base/Debug.h"
Chris@686: 
Chris@320: class OSCMessage
Chris@320: {
Chris@320: public:
Chris@972:     OSCMessage() : m_target(0), m_targetData(0) { }
Chris@320:     ~OSCMessage();
Chris@320: 
Chris@320:     void setTarget(const int &target) { m_target = target; }
Chris@320:     int getTarget() const { return m_target; }
Chris@320: 
Chris@320:     void setTargetData(const int &targetData) { m_targetData = targetData; }
Chris@320:     int getTargetData() const { return m_targetData; }
Chris@320: 
Chris@320:     void setMethod(QString method) { m_method = method; }
Chris@320:     QString getMethod() const { return m_method; }
Chris@320: 
Chris@320:     void clearArgs();
Chris@320:     void addArg(QVariant arg);
Chris@320: 
Chris@929:     int getArgCount() const;
Chris@929:     const QVariant &getArg(int i) const;
Chris@320: 
Chris@320: private:
Chris@320:     int m_target;
Chris@320:     int m_targetData;
Chris@320:     QString m_method;
Chris@320:     std::vector<QVariant> m_args;
Chris@320: };
Chris@320: 
Chris@320: #endif