diff --git a/integrations/README.md b/integrations/README.md index 5f73e81158a1..721532d3b231 100644 --- a/integrations/README.md +++ b/integrations/README.md @@ -12,4 +12,6 @@ This folder contains the integrations for OpenDAL. Integrations are used to inte - [`virtiofs_opendal`](virtiofs/README.md): Use OpenDAL as a backend to access data in various services with VirtioFS protocol. -- [`unftp-sbe-opendal`](unftp-sbe/README.md): Use OpenDAL as a backend to access data in various services with FTP protocol. \ No newline at end of file +- [`unftp-sbe-opendal`](unftp-sbe/README.md): Use OpenDAL as a backend to access data in various services with FTP protocol. + +- [`cloudfilter_opendal`](cloudfilter/README.md): Use OpenDAL as a backend to access data in various services with [CloudFilter](https://learn.microsoft.com/en-us/windows/win32/api/_cloudapi/). diff --git a/integrations/cloudfilter/.gitignore b/integrations/cloudfilter/.gitignore new file mode 100644 index 000000000000..03314f77b5aa --- /dev/null +++ b/integrations/cloudfilter/.gitignore @@ -0,0 +1 @@ +Cargo.lock diff --git a/integrations/cloudfilter/Cargo.toml b/integrations/cloudfilter/Cargo.toml new file mode 100644 index 000000000000..a89d3711bc91 --- /dev/null +++ b/integrations/cloudfilter/Cargo.toml @@ -0,0 +1,32 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + +[package] +authors = ["Apache OpenDAL "] +description = "Cloud Filter Integration for Apache OpenDAL" +edition = "2021" +homepage = "https://opendal.apache.org/" +license = "Apache-2.0" +name = "cloudfilter_opendal" +repository = "https://github.com/apache/opendal" +rust-version = "1.75" +version = "0.0.0" + +[dependencies] +anyhow = "1.0.86" +opendal = { version = "0.47.0", path = "../../core" } +widestring = "1.1.0" diff --git a/integrations/cloudfilter/DEPENDENCIES.rust.tsv b/integrations/cloudfilter/DEPENDENCIES.rust.tsv new file mode 100644 index 000000000000..210cce25162b --- /dev/null +++ b/integrations/cloudfilter/DEPENDENCIES.rust.tsv @@ -0,0 +1,140 @@ +crate 0BSD Apache-2.0 Apache-2.0 WITH LLVM-exception BSD-3-Clause BSL-1.0 ISC MIT MPL-2.0 OpenSSL Unicode-DFS-2016 Unlicense Zlib +addr2line@0.22.0 X X +adler@1.0.2 X X X +android-tzdata@0.1.1 X X +android_system_properties@0.1.5 X X +anyhow@1.0.86 X X +async-trait@0.1.80 X X +autocfg@1.3.0 X X +backon@0.4.4 X +backtrace@0.3.73 X X +base64@0.22.1 X X +block-buffer@0.10.4 X X +bumpalo@3.16.0 X X +bytes@1.6.0 X +cc@1.0.99 X X +cfg-if@1.0.0 X X +chrono@0.4.38 X X +cloudfilter_opendal@0.0.0 X +core-foundation-sys@0.8.6 X X +crypto-common@0.1.6 X X +digest@0.10.7 X X +fastrand@2.1.0 X X +flagset@0.4.5 X +fnv@1.0.7 X X +form_urlencoded@1.2.1 X X +futures@0.3.30 X X +futures-channel@0.3.30 X X +futures-core@0.3.30 X X +futures-io@0.3.30 X X +futures-macro@0.3.30 X X +futures-sink@0.3.30 X X +futures-task@0.3.30 X X +futures-util@0.3.30 X X +generic-array@0.14.7 X +getrandom@0.2.15 X X +gimli@0.29.0 X X +http@1.1.0 X X +http-body@1.0.0 X +http-body-util@0.1.2 X +httparse@1.9.4 X X +hyper@1.3.1 X +hyper-rustls@0.27.2 X X X +hyper-util@0.1.5 X +iana-time-zone@0.1.60 X X +iana-time-zone-haiku@0.1.2 X X +idna@0.5.0 X X +ipnet@2.9.0 X X +itoa@1.0.11 X X +js-sys@0.3.69 X X +libc@0.2.155 X X +log@0.4.21 X X +md-5@0.10.6 X X +memchr@2.7.4 X X +mime@0.3.17 X X +miniz_oxide@0.7.4 X X X +mio@0.8.11 X +num-traits@0.2.19 X X +object@0.36.0 X X +once_cell@1.19.0 X X +opendal@0.47.1 X +percent-encoding@2.3.1 X X +pin-project@1.1.5 X X +pin-project-internal@1.1.5 X X +pin-project-lite@0.2.14 X X +pin-utils@0.1.0 X X +proc-macro2@1.0.85 X X +quick-xml@0.31.0 X +quote@1.0.36 X X +reqwest@0.12.5 X X +ring@0.17.8 X +rustc-demangle@0.1.24 X X +rustls@0.23.10 X X X +rustls-pemfile@2.1.2 X X X +rustls-pki-types@1.7.0 X X +rustls-webpki@0.102.4 X +ryu@1.0.18 X X +serde@1.0.203 X X +serde_derive@1.0.203 X X +serde_json@1.0.117 X X +serde_urlencoded@0.7.1 X X +slab@0.4.9 X +smallvec@1.13.2 X X +socket2@0.5.7 X X +spin@0.9.8 X +subtle@2.6.0 X +syn@2.0.66 X X +sync_wrapper@1.0.1 X +tinyvec@1.6.0 X X X +tinyvec_macros@0.1.1 X X X +tokio@1.38.0 X +tokio-rustls@0.26.0 X X +tokio-util@0.7.11 X +tower@0.4.13 X +tower-layer@0.3.2 X +tower-service@0.3.2 X +tracing@0.1.40 X +tracing-core@0.1.32 X +try-lock@0.2.5 X +typenum@1.17.0 X X +unicode-bidi@0.3.15 X X +unicode-ident@1.0.12 X X X +unicode-normalization@0.1.23 X X +untrusted@0.9.0 X +url@2.5.2 X X +uuid@1.8.0 X X +version_check@0.9.4 X X +want@0.3.1 X +wasi@0.11.0+wasi-snapshot-preview1 X X X +wasm-bindgen@0.2.92 X X +wasm-bindgen-backend@0.2.92 X X +wasm-bindgen-futures@0.4.42 X X +wasm-bindgen-macro@0.2.92 X X +wasm-bindgen-macro-support@0.2.92 X X +wasm-bindgen-shared@0.2.92 X X +wasm-streams@0.4.0 X X +web-sys@0.3.69 X X +webpki-roots@0.26.3 X +widestring@1.1.0 X X +windows-core@0.52.0 X X +windows-sys@0.48.0 X X +windows-sys@0.52.0 X X +windows-targets@0.48.5 X X +windows-targets@0.52.5 X X +windows_aarch64_gnullvm@0.48.5 X X +windows_aarch64_gnullvm@0.52.5 X X +windows_aarch64_msvc@0.48.5 X X +windows_aarch64_msvc@0.52.5 X X +windows_i686_gnu@0.48.5 X X +windows_i686_gnu@0.52.5 X X +windows_i686_gnullvm@0.52.5 X X +windows_i686_msvc@0.48.5 X X +windows_i686_msvc@0.52.5 X X +windows_x86_64_gnu@0.48.5 X X +windows_x86_64_gnu@0.52.5 X X +windows_x86_64_gnullvm@0.48.5 X X +windows_x86_64_gnullvm@0.52.5 X X +windows_x86_64_msvc@0.48.5 X X +windows_x86_64_msvc@0.52.5 X X +winreg@0.52.0 X +zeroize@1.8.1 X X diff --git a/integrations/cloudfilter/README.md b/integrations/cloudfilter/README.md new file mode 100644 index 000000000000..a88d40b3cf03 --- /dev/null +++ b/integrations/cloudfilter/README.md @@ -0,0 +1,3 @@ +# Apache OpenDALâ„¢ Cloud Filter Integration + +`cloudfilter_opendal` integrates OpenDAL with [cloud sync engines](https://learn.microsoft.com/en-us/windows/win32/cfapi/build-a-cloud-file-sync-engine). It provides a way to access various cloud storage on Windows. diff --git a/integrations/cloudfilter/src/lib.rs b/integrations/cloudfilter/src/lib.rs new file mode 100644 index 000000000000..e8122fcea13e --- /dev/null +++ b/integrations/cloudfilter/src/lib.rs @@ -0,0 +1,20 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you 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. + +pub fn hello() { + println!("hello world"); +}