1a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang/*
2a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang * Copyright (C) 2014 The Android Open Source Project
3a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang *
4a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang * Licensed under the Apache License, Version 2.0 (the "License");
5a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang * you may not use this file except in compliance with the License.
6a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang * You may obtain a copy of the License at
7a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang *
8a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang *      http://www.apache.org/licenses/LICENSE-2.0
9a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang *
10a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang * Unless required by applicable law or agreed to in writing, software
11a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang * distributed under the License is distributed on an "AS IS" BASIS,
12a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang * See the License for the specific language governing permissions and
14a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang * limitations under the License.
15a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang */
16a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang
17a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jangpackage com.android.server.hdmi;
18a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang
19a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jangimport java.lang.annotation.ElementType;
20a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jangimport java.lang.annotation.Retention;
21a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jangimport java.lang.annotation.RetentionPolicy;
22a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jangimport java.lang.annotation.Target;
23a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang
24a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang/**
25a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang * Annotation container for Hdmi control service package.
26a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang */
27a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jangpublic class HdmiAnnotations {
28a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang    /**
29a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang     * Annotation type to used to mark a method which should be run on service thread.
30a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang     * This annotation should go with {@code assertRunOnServiceThread} used to verify
31a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang     * whether it's called from service thread.
32a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang     */
33a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang    @Retention(RetentionPolicy.RUNTIME)
34a13da0d5913757e2456020c69481f98d0e44c090Jungshik Jang    @Target({ElementType.METHOD, ElementType.FIELD})
35a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang    public @interface ServiceThreadOnly {
36a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang    }
37a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang
38a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang    /**
39a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang     * Annotation type to used to mark a method which should be run on io thread.
40a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang     * This annotation should go with {@code assertRunOnIoThread} used to verify
41a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang     * whether it's called from io thread.
42a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang     */
43a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang    @Retention(RetentionPolicy.RUNTIME)
44a13da0d5913757e2456020c69481f98d0e44c090Jungshik Jang    @Target({ElementType.METHOD, ElementType.FIELD})
45a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang    public @interface IoThreadOnly {
46a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang    }
47a5b7414970c85217e88015e78ecbc5ba093dead3Jungshik Jang}
48