summaryrefslogtreecommitdiff
path: root/src/couch_epi/src/couch_epi.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/couch_epi/src/couch_epi.erl')
-rw-r--r--src/couch_epi/src/couch_epi.erl179
1 files changed, 0 insertions, 179 deletions
diff --git a/src/couch_epi/src/couch_epi.erl b/src/couch_epi/src/couch_epi.erl
deleted file mode 100644
index 0e5c233ab..000000000
--- a/src/couch_epi/src/couch_epi.erl
+++ /dev/null
@@ -1,179 +0,0 @@
-% Licensed under the Apache License, Version 2.0 (the "License"); you may not
-% use this file except in compliance with the License. You may obtain a copy of
-% the License at
-%
-% http://www.apache.org/licenses/LICENSE-2.0
-%
-% Unless required by applicable law or agreed to in writing, software
-% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-% License for the specific language governing permissions and limitations under
-% the License.
-
--module(couch_epi).
-
--export([get_handle/1]).
--export([register_service/2]).
-
-%% queries and introspection
--export([
- dump/1, get/2, get_value/3,
- by_key/1, by_key/2, by_source/1, by_source/2,
- keys/1, subscribers/1]).
-
-%% apply
--export([apply/5, decide/5]).
--export([any/5, all/5]).
-
--export([is_configured/3]).
-
-%% ------------------------------------------------------------------
-%% Types Definitions
-%% ------------------------------------------------------------------
-
--export_type([
- service_id/0,
- app/0,
- key/0,
- handle/0,
- plugin_id/0,
- data_spec/0,
- apply_opts/0
-]).
-
--type app() :: atom().
--type key() :: term().
--type service_id() :: atom().
-
--type properties() :: [{key(), term()}].
-
--type plugin_id() :: module().
-
--opaque handle() :: module().
-
--type apply_opt()
- :: ignore_errors
- | concurrent
- | pipe.
-
--type apply_opts() :: [apply_opt()].
-
--type data_spec()
- :: {static_module, module()}
- | {callback_module, module()}
- | {priv_file, FileName :: string()}
- | {file, FileName :: string()}.
-
-
-%% ------------------------------------------------------------------
-%% API Function Definitions
-%% ------------------------------------------------------------------
-
--spec dump(Handle :: handle()) ->
- [Config :: properties()].
-
-dump(Handle) when Handle /= undefined ->
- couch_epi_data_gen:get(Handle).
-
--spec get(Handle :: handle(), Key :: key()) ->
- [Config :: properties()].
-
-get(Handle, Key) when Handle /= undefined ->
- couch_epi_data_gen:get(Handle, Key).
-
--spec get_value(Handle :: handle(), Subscriber :: app(), Key :: key()) ->
- term().
-
-get_value(Handle, Subscriber, Key) when Handle /= undefined ->
- couch_epi_data_gen:get(Handle, Subscriber, Key).
-
-
--spec by_key(Handle :: handle()) ->
- [{Key :: key(), [{Source :: app(), properties()}]}].
-
-by_key(Handle) when Handle /= undefined ->
- couch_epi_data_gen:by_key(Handle).
-
-
--spec by_key(Handle :: handle(), Key :: key()) ->
- [{Source :: app(), properties()}].
-
-by_key(Handle, Key) when Handle /= undefined ->
- couch_epi_data_gen:by_key(Handle, Key).
-
-
--spec by_source(Handle :: handle()) ->
- [{Source :: app(), [{Key :: key(), properties()}]}].
-
-by_source(Handle) when Handle /= undefined ->
- couch_epi_data_gen:by_source(Handle).
-
-
--spec by_source(Handle :: handle(), Subscriber :: app()) ->
- [{Key :: key(), properties()}].
-
-by_source(Handle, Subscriber) when Handle /= undefined ->
- couch_epi_data_gen:by_source(Handle, Subscriber).
-
-
--spec keys(Handle :: handle()) ->
- [Key :: key()].
-
-keys(Handle) when Handle /= undefined ->
- couch_epi_data_gen:keys(Handle).
-
-
--spec subscribers(Handle :: handle()) ->
- [Subscriber :: app()].
-
-subscribers(Handle) when Handle /= undefined ->
- couch_epi_data_gen:subscribers(Handle).
-
--spec apply(Handle :: handle(), ServiceId :: atom(), Function :: atom(),
- Args :: [term()], Opts :: apply_opts()) -> [any()].
-
-apply(Handle, ServiceId, Function, Args, Opts) when Handle /= undefined ->
- couch_epi_functions_gen:apply(Handle, ServiceId, Function, Args, Opts).
-
--spec get_handle({ServiceId :: service_id(), Key :: key()}) -> handle();
- (ServiceId :: service_id()) -> handle().
-
-get_handle({_ServiceId, _Key} = EPIKey) ->
- couch_epi_data_gen:get_handle(EPIKey);
-get_handle(ServiceId) when is_atom(ServiceId) ->
- couch_epi_functions_gen:get_handle(ServiceId).
-
--spec any(Handle :: handle(), ServiceId :: atom(), Function :: atom(),
- Args :: [term()], Opts :: apply_opts()) -> boolean().
-
-any(Handle, ServiceId, Function, Args, Opts) when Handle /= undefined ->
- Replies = apply(Handle, ServiceId, Function, Args, Opts),
- [] /= [Reply || Reply <- Replies, Reply == true].
-
--spec all(Handle :: handle(), ServiceId :: atom(), Function :: atom(),
- Args :: [term()], Opts :: apply_opts()) -> boolean().
-
-all(Handle, ServiceId, Function, Args, Opts) when Handle /= undefined ->
- Replies = apply(Handle, ServiceId, Function, Args, Opts),
- [] == [Reply || Reply <- Replies, Reply == false].
-
--spec is_configured(
- Handle :: handle(), Function :: atom(), Arity :: pos_integer()) -> boolean().
-
-is_configured(Handle, Function, Arity) when Handle /= undefined ->
- [] /= couch_epi_functions_gen:modules(Handle, Function, Arity).
-
-
--spec register_service(
- PluginId :: plugin_id(), Children :: [supervisor:child_spec()]) ->
- [supervisor:child_spec()].
-
-register_service(Plugin, Children) ->
- couch_epi_sup:plugin_childspecs(Plugin, Children).
-
--spec decide(Handle :: handle(), ServiceId :: atom(), Function :: atom(),
- Args :: [term()], Opts :: apply_opts()) ->
- no_decision | {decided, term()}.
-
-decide(Handle, ServiceId, Function, Args, Opts) when Handle /= undefined ->
- couch_epi_functions_gen:decide(Handle, ServiceId, Function, Args, Opts).