123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * 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.
- */
- #ifndef ANDROID_RS_FIFO_SOCKET_H
- #define ANDROID_RS_FIFO_SOCKET_H
- #include "rsFifo.h"
- namespace android {
- namespace renderscript {
- class FifoSocket {
- public:
- FifoSocket();
- virtual ~FifoSocket();
- bool init(bool supportNonBlocking = true,
- bool supportReturnValues = true,
- size_t maxDataSize = 0);
- void shutdown();
- bool writeAsync(const void *data, size_t bytes, bool waitForSpace = true);
- void writeWaitReturn(void *ret, size_t retSize);
- size_t read(void *data, size_t bytes);
- void readReturn(const void *data, size_t bytes);
- bool isEmpty();
- int getWriteFd() {return sv[0];}
- int getReadFd() {return sv[1];}
- protected:
- int sv[2];
- bool mShutdown;
- };
- } // namespace renderscript
- } // namespace android
- #endif
|