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%% Copyright (c) 2007-2021 VMware, Inc. or its affiliates.  All rights reserved.
6%%
7
8-module(rabbit_exchange_parameters).
9
10-behaviour(rabbit_runtime_parameter).
11
12-include_lib("rabbit_common/include/rabbit.hrl").
13
14-export([register/0]).
15-export([validate/5, notify/5, notify_clear/4]).
16
17-rabbit_boot_step({?MODULE,
18                   [{description, "exchange parameters"},
19                    {mfa, {rabbit_exchange_parameters, register, []}},
20                    {requires, rabbit_registry},
21                    {enables, recovery}]}).
22
23register() ->
24    rabbit_registry:register(runtime_parameter,
25                             ?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT, ?MODULE),
26    %% ensure there are no leftovers from before node restart/crash
27    rabbit_runtime_parameters:clear_component(
28      ?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT,
29      ?INTERNAL_USER),
30    ok.
31
32validate(_VHost, ?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT, _Name, _Term, _User) ->
33    ok.
34
35notify(_VHost, ?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT, _Name, _Term, _Username) ->
36    ok.
37
38notify_clear(_VHost, ?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT, _Name, _Username) ->
39    ok.
40