1 /*
2  * Copyright (C) 2016 Google Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5  * use this file except in compliance with the License. You may obtain a copy of
6  * the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13  * License for the specific language governing permissions and limitations under
14  * the License.
15  */
16 
17 package com.googlecode.android_scripting.trigger;
18 
19 import android.content.Context;
20 
21 import com.googlecode.android_scripting.event.Event;
22 
23 import java.io.Serializable;
24 
25 /**
26  * Interface implemented by objects listening to events on the event queue inside of the
27  * {@link SerivceManager}.
28  *
29  * @author Felix Arends (felix.arends@gmail.com)
30  */
31 public interface Trigger extends Serializable {
32   /**
33    * Handles an event from the event queue.
34    *
35    * @param event
36    *          Event to handle
37    * @param context
38    *          TODO
39    */
handleEvent(Event event, Context context)40   void handleEvent(Event event, Context context);
41 
42   /**
43    * Returns the event name that this {@link Trigger} is interested in.
44    */
45   // TODO(damonkohler): This could be removed by maintaining a reverse mapping from Trigger to event
46   // name in the TriggerRespository.
getEventName()47   String getEventName();
48 }
49