rsSignal.h revision 12b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9
112b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams/* 212b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams * Copyright (C) 2009 The Android Open Source Project 312b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams * 412b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams * Licensed under the Apache License, Version 2.0 (the "License"); 512b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams * you may not use this file except in compliance with the License. 612b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams * You may obtain a copy of the License at 712b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams * 812b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams * http://www.apache.org/licenses/LICENSE-2.0 912b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams * 1012b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams * Unless required by applicable law or agreed to in writing, software 1112b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams * distributed under the License is distributed on an "AS IS" BASIS, 1212b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1312b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams * See the License for the specific language governing permissions and 1412b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams * limitations under the License. 1512b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams */ 1612b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams 1712b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams#ifndef ANDROID_RS_SIGNAL_H 1812b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams#define ANDROID_RS_SIGNAL_H 1912b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams 2012b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams 2112b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams#include "rsUtils.h" 2212b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams 2312b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Samsnamespace android { 2412b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Samsnamespace renderscript { 2512b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams 2612b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Samsclass Signal { 2712b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Samspublic: 2812b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams Signal(); 2912b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams ~Signal(); 3012b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams 3112b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams bool init(); 3212b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams 3312b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams void set(); 3412b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams void wait(); 3512b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams 3612b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Samsprotected: 3712b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams bool mSet; 3812b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams pthread_mutex_t mMutex; 3912b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams pthread_cond_t mCondition; 4012b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams}; 4112b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams 4212b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams} 4312b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams} 4412b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams 4512b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams#endif 4612b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams 47