convenience functions for adding arguments by value
This commit is contained in:
parent
63df16831e
commit
81746d635e
@ -157,6 +157,100 @@ void Message::writeString(std::shared_ptr<bufferstream> buffer, const std::strin
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Message::addArgument
|
||||
* @param arg
|
||||
*/
|
||||
void Message::addArgument(std::shared_ptr<Argument> arg)
|
||||
{
|
||||
arguments.push_back(arg);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Message::addArgument
|
||||
* @param val
|
||||
*/
|
||||
void Message::addArgument(const int32_t val)
|
||||
{
|
||||
arguments.emplace_back(std::make_shared<OSC::int32>(val));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Message::addArgument
|
||||
* @param val
|
||||
*/
|
||||
void Message::addArgument(const float val)
|
||||
{
|
||||
arguments.emplace_back(std::make_shared<OSC::float32>(val));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Message::addArgument
|
||||
* @param str
|
||||
*/
|
||||
void Message::addArgument(const std::string str)
|
||||
{
|
||||
arguments.emplace_back(std::make_shared<OSC::string>(str));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Message::addArgument
|
||||
* @param blob
|
||||
* @param size
|
||||
*/
|
||||
void Message::addArgument(const uint8_t *blob, size_t size)
|
||||
{
|
||||
arguments.emplace_back(std::make_shared<OSC::blob>(blob, size));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Message::addArgument
|
||||
* @param val
|
||||
*/
|
||||
void Message::addArgument(const int64_t val)
|
||||
{
|
||||
arguments.emplace_back(std::make_shared<OSC::int64>(val));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Message::addArgument
|
||||
* @param val
|
||||
*/
|
||||
void Message::addArgument(const double val)
|
||||
{
|
||||
arguments.emplace_back(std::make_shared<OSC::float64>(val));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Message::addArgument
|
||||
* @param val
|
||||
*/
|
||||
void Message::addArgument(const char val)
|
||||
{
|
||||
arguments.emplace_back(std::make_shared<OSC::character>(val));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Message::addArgument
|
||||
* @param state
|
||||
*/
|
||||
void Message::addArgument(const bool state)
|
||||
{
|
||||
if (state)
|
||||
arguments.emplace_back(std::make_shared<OSC::True>());
|
||||
else
|
||||
arguments.emplace_back(std::make_shared<OSC::False>());
|
||||
}
|
||||
|
||||
|
||||
size_t Message::streamSize() const
|
||||
{
|
||||
size_t address_size = address_pattern.size(); // character count
|
||||
|
@ -46,6 +46,16 @@ struct Message
|
||||
static void readString(std::shared_ptr<bufferstream> buffer, std::string &string);
|
||||
static void writeString(std::shared_ptr<bufferstream> buffer, const std::string &string);
|
||||
|
||||
void addArgument(std::shared_ptr<Argument> arg);
|
||||
void addArgument(const int32_t val); // i
|
||||
void addArgument(const float val); // f
|
||||
void addArgument(const std::string str); // s
|
||||
void addArgument(const uint8_t *blob, size_t size); // b
|
||||
void addArgument(const int64_t val); // h
|
||||
void addArgument(const double val); // d
|
||||
void addArgument(const char val); // c
|
||||
void addArgument(const bool state); // T, F
|
||||
|
||||
virtual size_t streamSize() const override;
|
||||
virtual void iStream(std::shared_ptr<bufferstream>) override;
|
||||
virtual void oStream(std::shared_ptr<bufferstream>) const override;
|
||||
|
Loading…
Reference in New Issue
Block a user