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