1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// This file was generated using
6//     mojo/tools/generate_java_callback_interfaces.py
7
8package org.chromium.mojo.bindings;
9
10/**
11 * Contains a generic interface for callbacks.
12 */
13public interface Callbacks {
14
15    /**
16      * A generic 1-argument callback.
17      *
18      * @param  the type of argument 1.
19      */
20    interface Callback1<T1> {
21        /**
22          * Call the callback.
23          */
24        public void call(T1 arg1);
25    }
26
27    /**
28      * A generic 2-argument callback.
29      *
30      * @param  the type of argument 1.
31      * @param  the type of argument 2.
32      */
33    interface Callback2<T1, T2> {
34        /**
35          * Call the callback.
36          */
37        public void call(T1 arg1, T2 arg2);
38    }
39
40    /**
41      * A generic 3-argument callback.
42      *
43      * @param  the type of argument 1.
44      * @param  the type of argument 2.
45      * @param  the type of argument 3.
46      */
47    interface Callback3<T1, T2, T3> {
48        /**
49          * Call the callback.
50          */
51        public void call(T1 arg1, T2 arg2, T3 arg3);
52    }
53
54    /**
55      * A generic 4-argument callback.
56      *
57      * @param  the type of argument 1.
58      * @param  the type of argument 2.
59      * @param  the type of argument 3.
60      * @param  the type of argument 4.
61      */
62    interface Callback4<T1, T2, T3, T4> {
63        /**
64          * Call the callback.
65          */
66        public void call(T1 arg1, T2 arg2, T3 arg3, T4 arg4);
67    }
68
69    /**
70      * A generic 5-argument callback.
71      *
72      * @param  the type of argument 1.
73      * @param  the type of argument 2.
74      * @param  the type of argument 3.
75      * @param  the type of argument 4.
76      * @param  the type of argument 5.
77      */
78    interface Callback5<T1, T2, T3, T4, T5> {
79        /**
80          * Call the callback.
81          */
82        public void call(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5);
83    }
84
85    /**
86      * A generic 6-argument callback.
87      *
88      * @param  the type of argument 1.
89      * @param  the type of argument 2.
90      * @param  the type of argument 3.
91      * @param  the type of argument 4.
92      * @param  the type of argument 5.
93      * @param  the type of argument 6.
94      */
95    interface Callback6<T1, T2, T3, T4, T5, T6> {
96        /**
97          * Call the callback.
98          */
99        public void call(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6);
100    }
101
102    /**
103      * A generic 7-argument callback.
104      *
105      * @param  the type of argument 1.
106      * @param  the type of argument 2.
107      * @param  the type of argument 3.
108      * @param  the type of argument 4.
109      * @param  the type of argument 5.
110      * @param  the type of argument 6.
111      * @param  the type of argument 7.
112      */
113    interface Callback7<T1, T2, T3, T4, T5, T6, T7> {
114        /**
115          * Call the callback.
116          */
117        public void call(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7);
118    }
119
120}
121