Copy as Markdown

Other Tools

/* THIS FILE IS AUTOGENERATED FROM DigitalCredential.webidl BY Codegen.py - DO NOT EDIT */
#ifndef DOM_DIGITALCREDENTIALBINDING_H_
#define DOM_DIGITALCREDENTIALBINDING_H_
#include "js/CallAndConstruct.h"
#include "js/RootingAPI.h"
#include "js/TypeDecls.h"
#include "mozilla/dom/BindingDeclarations.h"
#include "mozilla/dom/Nullable.h"
#include "mozilla/dom/PrototypeList.h"
#include "mozilla/dom/RootedDictionary.h"
namespace mozilla {
namespace dom {
class DigitalCredential;
struct DigitalCredentialCreateRequest;
struct DigitalCredentialCreateRequestAtoms;
struct DigitalCredentialCreationOptionsAtoms;
struct DigitalCredentialGetRequest;
struct DigitalCredentialGetRequestAtoms;
struct DigitalCredentialRequestOptionsAtoms;
struct NativePropertyHooks;
class ProtoAndIfaceCache;
} // namespace dom
} // namespace mozilla
namespace mozilla::dom {
struct DigitalCredentialCreateRequest : public DictionaryBase
{
MOZ_INIT_OUTSIDE_CTOR JSObject* mData;
MOZ_INIT_OUTSIDE_CTOR nsString mProtocol;
DigitalCredentialCreateRequest();
explicit inline DigitalCredentialCreateRequest(const FastDictionaryInitializer& )
: mData(nullptr)
{
// Do nothing here; this is used by our "Fast" subclass
}
DigitalCredentialCreateRequest(DigitalCredentialCreateRequest&& aOther) = default;
private:
DigitalCredentialCreateRequest(const DigitalCredentialCreateRequest&) = delete;
DigitalCredentialCreateRequest& operator=(const DigitalCredentialCreateRequest&) = delete;
static bool
InitIds(JSContext* cx, DigitalCredentialCreateRequestAtoms* atomsCache);
public:
bool
Init(BindingCallContext& cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
bool
Init(JSContext* cx_, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
void
TraceDictionary(JSTracer* trc);
};
namespace binding_detail {
struct FastDigitalCredentialCreateRequest : public DigitalCredentialCreateRequest
{
inline FastDigitalCredentialCreateRequest()
: DigitalCredentialCreateRequest(FastDictionaryInitializer())
{
// Doesn't matter what int we pass to the parent constructor
}
};
} // namespace binding_detail
struct DigitalCredentialGetRequest : public DictionaryBase
{
MOZ_INIT_OUTSIDE_CTOR JSObject* mData;
MOZ_INIT_OUTSIDE_CTOR nsString mProtocol;
DigitalCredentialGetRequest();
explicit inline DigitalCredentialGetRequest(const FastDictionaryInitializer& )
: mData(nullptr)
{
// Do nothing here; this is used by our "Fast" subclass
}
DigitalCredentialGetRequest(DigitalCredentialGetRequest&& aOther) = default;
private:
DigitalCredentialGetRequest(const DigitalCredentialGetRequest&) = delete;
DigitalCredentialGetRequest& operator=(const DigitalCredentialGetRequest&) = delete;
static bool
InitIds(JSContext* cx, DigitalCredentialGetRequestAtoms* atomsCache);
public:
bool
Init(BindingCallContext& cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
bool
Init(JSContext* cx_, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
void
TraceDictionary(JSTracer* trc);
};
namespace binding_detail {
struct FastDigitalCredentialGetRequest : public DigitalCredentialGetRequest
{
inline FastDigitalCredentialGetRequest()
: DigitalCredentialGetRequest(FastDictionaryInitializer())
{
// Doesn't matter what int we pass to the parent constructor
}
};
} // namespace binding_detail
struct DigitalCredentialCreationOptions : public DictionaryBase
{
MOZ_INIT_OUTSIDE_CTOR Optional<Sequence<DigitalCredentialCreateRequest>> mRequests;
DigitalCredentialCreationOptions();
explicit inline DigitalCredentialCreationOptions(const FastDictionaryInitializer& )
{
// Do nothing here; this is used by our "Fast" subclass
}
DigitalCredentialCreationOptions(DigitalCredentialCreationOptions&& aOther) = default;
private:
DigitalCredentialCreationOptions(const DigitalCredentialCreationOptions&) = delete;
DigitalCredentialCreationOptions& operator=(const DigitalCredentialCreationOptions&) = delete;
static bool
InitIds(JSContext* cx, DigitalCredentialCreationOptionsAtoms* atomsCache);
public:
bool
Init(BindingCallContext& cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
bool
Init(JSContext* cx_, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
void
TraceDictionary(JSTracer* trc);
};
namespace binding_detail {
struct FastDigitalCredentialCreationOptions : public DigitalCredentialCreationOptions
{
inline FastDigitalCredentialCreationOptions()
: DigitalCredentialCreationOptions(FastDictionaryInitializer())
{
// Doesn't matter what int we pass to the parent constructor
}
};
} // namespace binding_detail
struct DigitalCredentialRequestOptions : public DictionaryBase
{
MOZ_INIT_OUTSIDE_CTOR Sequence<DigitalCredentialGetRequest> mRequests;
DigitalCredentialRequestOptions();
explicit inline DigitalCredentialRequestOptions(const FastDictionaryInitializer& )
{
// Do nothing here; this is used by our "Fast" subclass
}
DigitalCredentialRequestOptions(DigitalCredentialRequestOptions&& aOther) = default;
private:
DigitalCredentialRequestOptions(const DigitalCredentialRequestOptions&) = delete;
DigitalCredentialRequestOptions& operator=(const DigitalCredentialRequestOptions&) = delete;
static bool
InitIds(JSContext* cx, DigitalCredentialRequestOptionsAtoms* atomsCache);
public:
bool
Init(BindingCallContext& cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
bool
Init(JSContext* cx_, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
void
TraceDictionary(JSTracer* trc);
};
namespace binding_detail {
struct FastDigitalCredentialRequestOptions : public DigitalCredentialRequestOptions
{
inline FastDigitalCredentialRequestOptions()
: DigitalCredentialRequestOptions(FastDictionaryInitializer())
{
// Doesn't matter what int we pass to the parent constructor
}
};
} // namespace binding_detail
namespace DigitalCredential_Binding {
typedef mozilla::dom::DigitalCredential NativeType;
MOZ_CAN_RUN_SCRIPT bool
CollectJSONAttributes(JSContext* cx, JS::Handle<JSObject*> obj, mozilla::dom::DigitalCredential* self, JS::Rooted<JSObject*>& result);
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
bool
Wrap(JSContext* aCx, mozilla::dom::DigitalCredential* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
template <class T>
inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
{
JS::Rooted<JSObject*> reflector(aCx);
return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
}
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::DigitalCredential,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace DigitalCredential_Binding
} // namespace mozilla::dom
#endif // DOM_DIGITALCREDENTIALBINDING_H_