mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
50 lines
1.6 KiB
C++
50 lines
1.6 KiB
C++
// Copyright 2014 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef MOJO_PUBLIC_CPP_BINDINGS_LIB_VALIDATE_PARAMS_H_
|
|
#define MOJO_PUBLIC_CPP_BINDINGS_LIB_VALIDATE_PARAMS_H_
|
|
|
|
#include "mojo/public/cpp/system/macros.h"
|
|
|
|
namespace mojo {
|
|
namespace internal {
|
|
|
|
class ArrayValidateParams {
|
|
public:
|
|
// ArrayValidateParams takes ownership of |in_element_validate params|.
|
|
ArrayValidateParams(uint32_t in_expected_num_elements,
|
|
bool in_element_is_nullable,
|
|
ArrayValidateParams* in_element_validate_params)
|
|
: expected_num_elements(in_expected_num_elements),
|
|
element_is_nullable(in_element_is_nullable),
|
|
element_validate_params(in_element_validate_params) {}
|
|
|
|
~ArrayValidateParams() {
|
|
if (element_validate_params)
|
|
delete element_validate_params;
|
|
}
|
|
|
|
// TODO(vtl): The members of this class shouldn't be public.
|
|
|
|
// If |expected_num_elements| is not 0, the array is expected to have exactly
|
|
// that number of elements.
|
|
uint32_t expected_num_elements;
|
|
|
|
// Whether the elements are nullable.
|
|
bool element_is_nullable;
|
|
|
|
// Validation information for elements. It is either a pointer to another
|
|
// instance of ArrayValidateParams (if elements are arrays or maps), or
|
|
// nullptr. In the case of maps, this is used to validate the value array.
|
|
ArrayValidateParams* element_validate_params;
|
|
|
|
private:
|
|
MOJO_DISALLOW_COPY_AND_ASSIGN(ArrayValidateParams);
|
|
};
|
|
|
|
} // namespace internal
|
|
} // namespace mojo
|
|
|
|
#endif // MOJO_PUBLIC_CPP_BINDINGS_LIB_VALIDATE_PARAMS_H_
|