110913a5c37ba119bef335320d3e8be25212c05adTim Murray/*
210913a5c37ba119bef335320d3e8be25212c05adTim Murray * Copyright (C) 2013 The Android Open Source Project
310913a5c37ba119bef335320d3e8be25212c05adTim Murray *
410913a5c37ba119bef335320d3e8be25212c05adTim Murray * Licensed under the Apache License, Version 2.0 (the "License");
510913a5c37ba119bef335320d3e8be25212c05adTim Murray * you may not use this file except in compliance with the License.
610913a5c37ba119bef335320d3e8be25212c05adTim Murray * You may obtain a copy of the License at
710913a5c37ba119bef335320d3e8be25212c05adTim Murray *
810913a5c37ba119bef335320d3e8be25212c05adTim Murray *      http://www.apache.org/licenses/LICENSE-2.0
910913a5c37ba119bef335320d3e8be25212c05adTim Murray *
1010913a5c37ba119bef335320d3e8be25212c05adTim Murray * Unless required by applicable law or agreed to in writing, software
1110913a5c37ba119bef335320d3e8be25212c05adTim Murray * distributed under the License is distributed on an "AS IS" BASIS,
1210913a5c37ba119bef335320d3e8be25212c05adTim Murray * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1310913a5c37ba119bef335320d3e8be25212c05adTim Murray * See the License for the specific language governing permissions and
1410913a5c37ba119bef335320d3e8be25212c05adTim Murray * limitations under the License.
1510913a5c37ba119bef335320d3e8be25212c05adTim Murray */
1610913a5c37ba119bef335320d3e8be25212c05adTim Murray
1710913a5c37ba119bef335320d3e8be25212c05adTim Murray#ifndef ANDROID_RS_CPP_INTERNAL_H
1810913a5c37ba119bef335320d3e8be25212c05adTim Murray#define ANDROID_RS_CPP_INTERNAL_H
1910913a5c37ba119bef335320d3e8be25212c05adTim Murray
2066f0a168c4227d4e302f4ffb21ec7e9d7b9ca828Jason Sams
210f98d50a8128e68760aa6e819b962e9a1d4b5bedTim Murray#define LOG_TAG "rsC++"
22eeaf7142d7e06efb3e0ddc7ef542884ab1d527dcTim Murray#include "rsCppUtils.h"
2366f0a168c4227d4e302f4ffb21ec7e9d7b9ca828Jason Sams#include "rsInternalDefines.h"
2466f0a168c4227d4e302f4ffb21ec7e9d7b9ca828Jason Sams#include "rsDispatch.h"
25eeaf7142d7e06efb3e0ddc7ef542884ab1d527dcTim Murray
2610913a5c37ba119bef335320d3e8be25212c05adTim Murray#define tryDispatch(rs, dispatch)               \
273ac940f03199ef04fa98c6829b32bc14e7867d0bChih-Hung Hsieh    if ((rs)->getError() == RS_SUCCESS) {       \
2810913a5c37ba119bef335320d3e8be25212c05adTim Murray        dispatch;                               \
2910913a5c37ba119bef335320d3e8be25212c05adTim Murray    }
3010913a5c37ba119bef335320d3e8be25212c05adTim Murray
31fa77db83d3e36d6aa23622cec5bdcb5e373f0a3bTim Murray#define createDispatch(rs, dispatch) \
323ac940f03199ef04fa98c6829b32bc14e7867d0bChih-Hung Hsieh    rs->getError() == RS_SUCCESS ? (dispatch) : nullptr
33fa77db83d3e36d6aa23622cec5bdcb5e373f0a3bTim Murray
34eeaf7142d7e06efb3e0ddc7ef542884ab1d527dcTim Murray#undef LOG_TAG
35eeaf7142d7e06efb3e0ddc7ef542884ab1d527dcTim Murray#undef LOG_NDEBUG
36c53dadbae2154a281b562fd10d5c10b806879469Stephen Hines// Uncomment the following line to enable verbose debugging.
37c53dadbae2154a281b562fd10d5c10b806879469Stephen Hines// #define LOG_NDEBUG 0
38eeaf7142d7e06efb3e0ddc7ef542884ab1d527dcTim Murray#define LOG_TAG "rsC++"
39eeaf7142d7e06efb3e0ddc7ef542884ab1d527dcTim Murray
4010913a5c37ba119bef335320d3e8be25212c05adTim Murray#endif
41