From aaa12948612673e8a4c635aeb7de6dc5ba3adac4 Mon Sep 17 00:00:00 2001 From: Sarah Gilmore Date: Thu, 9 May 2024 16:35:53 -0400 Subject: [PATCH] 1. Add MATLAB class arrow.c.ArrayCStruct 2. Add MATLAB class arrow.c.SchemaCStruct --- matlab/src/matlab/+arrow/+c/ArrayCStruct.m | 39 +++++++++++++++++++++ matlab/src/matlab/+arrow/+c/SchemaCStruct.m | 39 +++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 matlab/src/matlab/+arrow/+c/ArrayCStruct.m create mode 100644 matlab/src/matlab/+arrow/+c/SchemaCStruct.m diff --git a/matlab/src/matlab/+arrow/+c/ArrayCStruct.m b/matlab/src/matlab/+arrow/+c/ArrayCStruct.m new file mode 100644 index 0000000000000..170999fb1afaf --- /dev/null +++ b/matlab/src/matlab/+arrow/+c/ArrayCStruct.m @@ -0,0 +1,39 @@ +%ARRAYCSTRUCT Wrapper to an ArrowArray struct pointer. + +% 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. + +classdef ArrayCStruct + + properties (Hidden, SetAccess=private, GetAccess=public) + Proxy + end + + properties(Dependent, GetAccess=public, SetAccess=private) + Address(1, 1) uint64 + end + + + methods + function obj = ArrayCStruct() + proxyName = "arrow.c.proxy.ArrayCStruct"; + obj.Proxy = arrow.internal.proxy.create(proxyName); + end + + function address = get.Address(obj) + address = obj.Proxy.getAddress(); + end + end +end \ No newline at end of file diff --git a/matlab/src/matlab/+arrow/+c/SchemaCStruct.m b/matlab/src/matlab/+arrow/+c/SchemaCStruct.m new file mode 100644 index 0000000000000..fb370ba414f40 --- /dev/null +++ b/matlab/src/matlab/+arrow/+c/SchemaCStruct.m @@ -0,0 +1,39 @@ +%SCHEMACSTRUCT Wrapper to a SchemaArray struct pointer. + +% 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. + +classdef SchemaCStruct + + properties (Hidden, SetAccess=private, GetAccess=public) + Proxy + end + + properties(Dependent, GetAccess=public, SetAccess=private) + Address(1, 1) uint64 + end + + + methods + function obj = ArrayCStruct() + proxyName = "arrow.c.proxy.SchemaCStruct"; + obj.Proxy = arrow.internal.proxy.create(proxyName); + end + + function address = get.Address(obj) + address = obj.Proxy.getAddress(); + end + end +end \ No newline at end of file