Skip to content

非codegen版本 #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified harmony/blobUtil.har
Binary file not shown.
2 changes: 1 addition & 1 deletion harmony/blobUtil/oh-package.json5
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@react-native-oh-tpl/react-native-blob-util",
"version": "0.19.6-0.0.2",
"version": "0.19.6-nc.0.0.5",
"description": "Please describe the basic information.",
"main": "Index.ets",
"author": "",
Expand Down
36 changes: 36 additions & 0 deletions harmony/blobUtil/src/main/cpp/BlobUtilPackage.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
//
// Created on 2024/1/31.
//
// Node APIs are not fully supported. To solve the compilation error of the interface cannot be found,
// please include "napi/native_api.h".

#ifndef HARMONY_BLOBUTILPACKAGE_H
#define HARMONY_BLOBUTILPACKAGE_H

#include "BlobUtilTurboModule.h"
#include "RNOH/Package.h"

using namespace rnoh;
using namespace facebook;

class NativeRNBlobUtilFactoryDelegate : public TurboModuleFactoryDelegate {
public:
SharedTurboModule createTurboModule(Context ctx, const std::string &name) const override {
if (name == "ReactNativeBlobUtil") {
return std::make_shared<ReactNativeBlobUtil>(ctx, name);
}
return nullptr;
};
};

namespace rnoh {
class BlobUtilPackage : public Package {
public:
BlobUtilPackage(Package::Context ctx) : Package(ctx) {}
std::unique_ptr<TurboModuleFactoryDelegate> createTurboModuleFactoryDelegate() override {
return std::make_unique<NativeRNBlobUtilFactoryDelegate>();
}
};
} // namespace rnoh

#endif // HARMONY_BLOBUTILPACKAGE_H
182 changes: 182 additions & 0 deletions harmony/blobUtil/src/main/cpp/BlobUtilTurboModule.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
//
// Created on 2024/1/31.
//
// Node APIs are not fully supported. To solve the compilation error of the interface cannot be found,
// please include "napi/native_api.h".


#include "BlobUtilTurboModule.h"
#include "RNOH/ArkTSTurboModule.h"

using namespace rnoh;
using namespace facebook;

static jsi::Value __hostFunction_BlobUtilTurboModule_createFile(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).callAsync(rt, "createFile", args, count);
}

static jsi::Value __hostFunction_BlobUtilTurboModule_getConstants(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "getConstants", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_createFileASCII(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).callAsync(rt, "createFileASCII", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_writeFile(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).callAsync(rt, "writeFile", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_stat(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "stat", args, count);
}

static jsi::Value __hostFunction_BlobUtilTurboModule_cp(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "cp", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_writeFileArray(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).callAsync(rt, "writeFileArray", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_unlink(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "unlink", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_writeStream(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "writeStream", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_mkdir(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "mkdir", args, count);
}

static jsi::Value __hostFunction_BlobUtilTurboModule_readFile(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).callAsync(rt, "readFile", args, count);
}

static jsi::Value __hostFunction_BlobUtilTurboModule_ls(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).callAsync(rt, "ls", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_exists(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "exists", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_writeArrayChunk(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "writeArrayChunk", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_writeChunk(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "writeChunk", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_lstat(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "lstat", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_mv(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "mv", args, count);
}

static jsi::Value __hostFunction_BlobUtilTurboModule_hash(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).callAsync(rt, "hash", args, count);
}

static jsi::Value __hostFunction_BlobUtilTurboModule_slice(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).callAsync(rt, "slice", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_df(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "df", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_closeStream(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "closeStream", args, count);
}

static jsi::Value __hostFunction_BlobUtilTurboModule_readStream(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).callAsync(rt, "readStream", args, count);
}

static jsi::Value __hostFunction_BlobUtilTurboModule_fetchBlobForm(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "fetchBlobForm", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_fetchBlob(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "fetchBlob", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_pathForAppGroup(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).callAsync(rt, "pathForAppGroup", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_syncPathAppGroup(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "syncPathAppGroup", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_removeSession(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "removeSession", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_cancelRequest(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "cancelRequest", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_enableProgressReport(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "enableProgressReport", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_enableUploadProgressReport(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).call(rt, "enableUploadProgressReport", args, count);
}
static jsi::Value __hostFunction_BlobUtilTurboModule_presentPreview(jsi::Runtime &rt, react::TurboModule &turboModule,
const jsi::Value *args, size_t count) {
return static_cast<ArkTSTurboModule &>(turboModule).callAsync(rt, "presentPreview", args, count);
}


ReactNativeBlobUtil::ReactNativeBlobUtil(const ArkTSTurboModule::Context ctx, const std::string name)
: ArkTSTurboModule(ctx, name) {
methodMap_["createFile"] = MethodMetadata{3, __hostFunction_BlobUtilTurboModule_createFile};
methodMap_["getConstants"] = MethodMetadata{0, __hostFunction_BlobUtilTurboModule_getConstants};
methodMap_["writeFile"] = MethodMetadata{5, __hostFunction_BlobUtilTurboModule_writeFile};
methodMap_["stat"] = MethodMetadata{2, __hostFunction_BlobUtilTurboModule_stat};
methodMap_["cp"] = MethodMetadata{3, __hostFunction_BlobUtilTurboModule_cp};
methodMap_["unlink"] = MethodMetadata{2, __hostFunction_BlobUtilTurboModule_unlink};
methodMap_["mkdir"] = MethodMetadata{2, __hostFunction_BlobUtilTurboModule_mkdir};
methodMap_["createFileASCII"] = MethodMetadata{2, __hostFunction_BlobUtilTurboModule_createFileASCII};
methodMap_["writeArrayChunk"] = MethodMetadata{3, __hostFunction_BlobUtilTurboModule_writeArrayChunk};
methodMap_["writeChunk"] = MethodMetadata{3, __hostFunction_BlobUtilTurboModule_writeChunk};
methodMap_["exists"] = MethodMetadata{2, __hostFunction_BlobUtilTurboModule_exists};
methodMap_["readFile"] = MethodMetadata{3, __hostFunction_BlobUtilTurboModule_readFile};
methodMap_["lstat"] = MethodMetadata{2, __hostFunction_BlobUtilTurboModule_lstat};
methodMap_["mv"] = MethodMetadata{3, __hostFunction_BlobUtilTurboModule_mv};
methodMap_["hash"] = MethodMetadata{2, __hostFunction_BlobUtilTurboModule_hash};
methodMap_["df"] = MethodMetadata{1, __hostFunction_BlobUtilTurboModule_df};
methodMap_["slice"] = MethodMetadata{4, __hostFunction_BlobUtilTurboModule_slice};
methodMap_["closeStream"] = MethodMetadata{2, __hostFunction_BlobUtilTurboModule_closeStream};
methodMap_["readStream"] = MethodMetadata{5, __hostFunction_BlobUtilTurboModule_readStream};
methodMap_["writeStream"] = MethodMetadata{4, __hostFunction_BlobUtilTurboModule_writeStream};
methodMap_["writeFileArray"] = MethodMetadata{3, __hostFunction_BlobUtilTurboModule_writeFileArray};
methodMap_["ls"] = MethodMetadata{1, __hostFunction_BlobUtilTurboModule_ls};
methodMap_["fetchBlobForm"] = MethodMetadata{7, __hostFunction_BlobUtilTurboModule_fetchBlobForm};
methodMap_["fetchBlob"] = MethodMetadata{7, __hostFunction_BlobUtilTurboModule_fetchBlob};
methodMap_["pathForAppGroup"] = MethodMetadata{1, __hostFunction_BlobUtilTurboModule_pathForAppGroup};
methodMap_["syncPathAppGroup"] = MethodMetadata{1, __hostFunction_BlobUtilTurboModule_syncPathAppGroup};
methodMap_["removeSession"] = MethodMetadata{2, __hostFunction_BlobUtilTurboModule_removeSession};
methodMap_["cancelRequest"] = MethodMetadata{2, __hostFunction_BlobUtilTurboModule_cancelRequest};
methodMap_["enableProgressReport"] = MethodMetadata{3, __hostFunction_BlobUtilTurboModule_enableProgressReport};
methodMap_["enableUploadProgressReport"] = MethodMetadata{3, __hostFunction_BlobUtilTurboModule_enableUploadProgressReport};
methodMap_["presentPreview"] = MethodMetadata{2, __hostFunction_BlobUtilTurboModule_presentPreview};

}
16 changes: 16 additions & 0 deletions harmony/blobUtil/src/main/cpp/BlobUtilTurboModule.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
//
// Created on 2024/1/31.
//
// Node APIs are not fully supported. To solve the compilation error of the interface cannot be found,
// please include "napi/native_api.h".

#pragma once
#include <ReactCommon/TurboModule.h>
#include "RNOH/ArkTSTurboModule.h"

namespace rnoh {
class JSI_EXPORT ReactNativeBlobUtil : public ArkTSTurboModule {
public:
ReactNativeBlobUtil(const ArkTSTurboModule::Context ctx, const std::string name);
};
} // namespace rnoh
24 changes: 24 additions & 0 deletions harmony/blobUtil/src/main/cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# the minimum version of CMake.
#cmake_minimum_required(VERSION 3.4.1)
#project(harmony)
#
#set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR})
#
#if(DEFINED PACKAGE_FIND_FILE)
# include(${PACKAGE_FIND_FILE})
#endif()
#
#include_directories(${NATIVERENDER_ROOT_PATH}
# ${NATIVERENDER_ROOT_PATH}/include)
#
#add_library(application SHARED hello.cpp)
#target_link_libraries(application PUBLIC libace_napi.z.so)

# the minimum version of CMake.
cmake_minimum_required(VERSION 3.13)
set(CMAKE_VERBOSE_MAKEFILE on)

file(GLOB rnoh_blob_util_SRC CONFIGURE_DEPENDS *.cpp)
add_library(rnoh_blob_util SHARED ${rnoh_blob_util_SRC})
target_include_directories(rnoh_blob_util PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(rnoh_blob_util PUBLIC rnoh)
7 changes: 1 addition & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,7 @@
"username": "RonRadtke"
},
"harmony":{
"alias":"react-native-blob-util",
"codegenConfig": {
"specPaths": [
"./codegenSpecs/NativeBlobUtils.js"
]
}
"alias":"react-native-blob-util"
},
"license": "MIT",
"contributors": [
Expand Down