NAP
apisignature.h
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4 
5 #pragma once
6 
7 // Local Includes
8 #include "apivalue.h"
9 
10 // External Includes
11 #include <nap/resource.h>
12 #include <nap/resourceptr.h>
13 
14 namespace nap
15 {
20  class NAPAPI APISignature : public Resource
21  {
22  RTTI_ENABLE(Resource)
23  public:
24  // Default destructor
25  virtual ~APISignature();
26 
30  int getCount() const { return static_cast<int>(mArguments.size()); }
31 
36  const APIBaseValue& getValue(int index) const { return *(mArguments[index]); }
37 
38  std::vector<ResourcePtr<APIBaseValue>> mArguments;
39  };
40 }
nap::APISignature
Definition: apisignature.h:20
nap::APISignature::getCount
int getCount() const
Definition: apisignature.h:30
nap::APISignature::getValue
const APIBaseValue & getValue(int index) const
Definition: apisignature.h:36
nap::APISignature::mArguments
std::vector< ResourcePtr< APIBaseValue > > mArguments
Property: 'Arguments': All input arguments associated with this signature.
Definition: apisignature.h:38
nap
Definition: templateapp.h:17
nap::APIBaseValue
Definition: apivalue.h:21
nap::Resource
Definition: resource.h:19