192a12a34Sopenharmony_ci/* 292a12a34Sopenharmony_ci * Copyright (c) 2020 Huawei Device Co., Ltd. 392a12a34Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 492a12a34Sopenharmony_ci * you may not use this file except in compliance with the License. 592a12a34Sopenharmony_ci * You may obtain a copy of the License at 692a12a34Sopenharmony_ci * 792a12a34Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 892a12a34Sopenharmony_ci * 992a12a34Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1092a12a34Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1192a12a34Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1292a12a34Sopenharmony_ci * See the License for the specific language governing permissions and 1392a12a34Sopenharmony_ci * limitations under the License. 1492a12a34Sopenharmony_ci */ 1592a12a34Sopenharmony_ci 1692a12a34Sopenharmony_ci#ifndef FRAMEWORKS_APP_ADAPTER_H 1792a12a34Sopenharmony_ci#define FRAMEWORKS_APP_ADAPTER_H 1892a12a34Sopenharmony_ci 1992a12a34Sopenharmony_ci#ifdef __cplusplus 2092a12a34Sopenharmony_ci#define EXTERNC extern "C" 2192a12a34Sopenharmony_ci#else 2292a12a34Sopenharmony_ci#define EXTERNC 2392a12a34Sopenharmony_ci#endif 2492a12a34Sopenharmony_ci 2592a12a34Sopenharmony_ci#ifndef __LITEOS_M__ 2692a12a34Sopenharmony_ci// memory operator define 2792a12a34Sopenharmony_ci#include <stdlib.h> 2892a12a34Sopenharmony_ci 2992a12a34Sopenharmony_ci#include "ohos_errno.h" 3092a12a34Sopenharmony_ci#include "ohos_types.h" 3192a12a34Sopenharmony_ci 3292a12a34Sopenharmony_ci#define AdapterMalloc(a) malloc(a) 3392a12a34Sopenharmony_ci#define AdapterFree(a) \ 3492a12a34Sopenharmony_ci do { \ 3592a12a34Sopenharmony_ci if ((a) != nullptr) { \ 3692a12a34Sopenharmony_ci (void) free((void *)(a)); \ 3792a12a34Sopenharmony_ci a = nullptr; \ 3892a12a34Sopenharmony_ci } \ 3992a12a34Sopenharmony_ci } while (0) 4092a12a34Sopenharmony_ci 4192a12a34Sopenharmony_ci// mutex operation define 4292a12a34Sopenharmony_ci#define MutexDelete(a) pthread_mutex_destroy(a) 4392a12a34Sopenharmony_ci#define MutexAcquire(a, b) pthread_mutex_lock(a) 4492a12a34Sopenharmony_ci#define MutexRelease(a) pthread_mutex_unlock(a) 4592a12a34Sopenharmony_ci 4692a12a34Sopenharmony_ci#else // __LITEOS_M__ 4792a12a34Sopenharmony_ci#include "stdint.h" 4892a12a34Sopenharmony_ci#include "ohos_mem_pool.h" 4992a12a34Sopenharmony_ci 5092a12a34Sopenharmony_ciconst unsigned int ERROR_SLEEP_TIMES = 300; 5192a12a34Sopenharmony_ciconst unsigned int RETRY_TIMES = 10; 5292a12a34Sopenharmony_ci#define AdapterMalloc(a) OhosMalloc(MEM_TYPE_APPFMK_LSRAM, a) 5392a12a34Sopenharmony_ci#define AdapterFree(a) \ 5492a12a34Sopenharmony_ci do { \ 5592a12a34Sopenharmony_ci if (a != nullptr) { \ 5692a12a34Sopenharmony_ci (void) OhosFree((void *)a); \ 5792a12a34Sopenharmony_ci a = nullptr; \ 5892a12a34Sopenharmony_ci } \ 5992a12a34Sopenharmony_ci } while (0) 6092a12a34Sopenharmony_ci 6192a12a34Sopenharmony_ci#define UI_Malloc(a) OhosMalloc(MEM_TYPE_APPFMK, a) 6292a12a34Sopenharmony_ci#define UI_Free(a) \ 6392a12a34Sopenharmony_ci do { \ 6492a12a34Sopenharmony_ci if (a != nullptr) { \ 6592a12a34Sopenharmony_ci (void) OhosFree((void *)a); \ 6692a12a34Sopenharmony_ci a = nullptr; \ 6792a12a34Sopenharmony_ci } \ 6892a12a34Sopenharmony_ci } while (0) 6992a12a34Sopenharmony_ci 7092a12a34Sopenharmony_ci#define Malloc(a) malloc(a) 7192a12a34Sopenharmony_ci#define Free(a) \ 7292a12a34Sopenharmony_ci do { \ 7392a12a34Sopenharmony_ci if (a != nullptr) { \ 7492a12a34Sopenharmony_ci (void) free((void *)a); \ 7592a12a34Sopenharmony_ci a = nullptr; \ 7692a12a34Sopenharmony_ci } \ 7792a12a34Sopenharmony_ci } while (0) 7892a12a34Sopenharmony_ci 7992a12a34Sopenharmony_ci#define RecordAbiityInfoEvt(code1) 8092a12a34Sopenharmony_ci#define MutexDelete(a) osMutexDelete(a) 8192a12a34Sopenharmony_ci#define MutexAcquire(a, b) osMutexAcquire(a, b) 8292a12a34Sopenharmony_ci#define MutexRelease(a) osMutexRelease(a) 8392a12a34Sopenharmony_ci#define SvrFree AdapterFree 8492a12a34Sopenharmony_ci#define SvrMalloc AdapterMalloc 8592a12a34Sopenharmony_ci 8692a12a34Sopenharmony_ci#endif // APP_PLATFORM_WATCHGT 8792a12a34Sopenharmony_ci#endif // FRAMEWORKS_APP_ADAPTER_H