LMMS
Loading...
Searching...
No Matches
juce_DynamicObject.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 The code included in this file is provided under the terms of the ISC license
11 http://www.isc.org/downloads/software-support-policy/isc-license. Permission
12 To use, copy, modify, and/or distribute this software for any purpose with or
13 without fee is hereby granted provided that the above copyright notice and
14 this permission notice appear in all copies.
15
16 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
17 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
18 DISCLAIMED.
19
20 ==============================================================================
21*/
22
23namespace juce
24{
25
26//==============================================================================
40{
41public:
42 //==============================================================================
45 ~DynamicObject() override;
46
48
49 //==============================================================================
53 virtual bool hasProperty (const Identifier& propertyName) const;
54
58 virtual const var& getProperty (const Identifier& propertyName) const;
59
61 virtual void setProperty (const Identifier& propertyName, const var& newValue);
62
64 virtual void removeProperty (const Identifier& propertyName);
65
66 //==============================================================================
73 virtual bool hasMethod (const Identifier& methodName) const;
74
83 virtual var invokeMethod (Identifier methodName,
84 const var::NativeFunctionArgs& args);
85
93
94 //==============================================================================
96 void clear();
97
100
102 void cloneAllProperties();
103
104 //==============================================================================
110 virtual Ptr clone();
111
112 //==============================================================================
118 virtual void writeAsJSON (OutputStream&, int indentLevel, bool allOnOneLine, int maximumDecimalPlaces);
119
120private:
121 //==============================================================================
123
125};
126
127} // namespace juce
#define noexcept
Definition DistrhoDefines.h:72
NamedValueSet & getProperties() noexcept
Definition juce_DynamicObject.h:99
virtual bool hasProperty(const Identifier &propertyName) const
Definition juce_DynamicObject.cpp:39
void setMethod(Identifier methodName, var::NativeFunction function)
Definition juce_DynamicObject.cpp:73
ReferenceCountedObjectPtr< DynamicObject > Ptr
Definition juce_DynamicObject.h:47
virtual void removeProperty(const Identifier &propertyName)
Definition juce_DynamicObject.cpp:55
virtual var invokeMethod(Identifier methodName, const var::NativeFunctionArgs &args)
Definition juce_DynamicObject.cpp:65
virtual bool hasMethod(const Identifier &methodName) const
Definition juce_DynamicObject.cpp:60
virtual const var & getProperty(const Identifier &propertyName) const
Definition juce_DynamicObject.cpp:45
NamedValueSet properties
Definition juce_DynamicObject.h:122
virtual void setProperty(const Identifier &propertyName, const var &newValue)
Definition juce_DynamicObject.cpp:50
DynamicObject()
Definition juce_DynamicObject.cpp:26
void clear()
Definition juce_DynamicObject.cpp:78
Definition juce_Identifier.h:39
Definition juce_NamedValueSet.h:35
Definition juce_OutputStream.h:38
Definition juce_ReferenceCountedObject.h:247
Definition juce_Variant.h:42
std::function< var(const NativeFunctionArgs &)> NativeFunction
Definition juce_Variant.h:57
CARLA_PLUGIN_EXPORT int clone(int(*)(void *), void *, int, void *,...)
Definition interposer-safe.cpp:46
#define JUCE_LEAK_DETECTOR(OwnerClass)
Definition juce_LeakedObjectDetector.h:138
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
jack_client_t client jack_client_t client jack_client_t client jack_client_t JackInfoShutdownCallback function
Definition juce_linux_JackAudio.cpp:63
Definition juce_Variant.h:49