You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by lo...@apache.org on 2012/10/29 23:23:52 UTC

[lucy-commits] [1/4] git commit: refs/heads/master - Initial commit of Bind.c/h with Charbuf to ruby conversion routine.

Updated Branches:
  refs/heads/master 2da6bbda2 -> e0a70faa0


Initial commit of Bind.c/h with Charbuf to ruby conversion routine.


Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/e0a70faa
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/e0a70faa
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/e0a70faa

Branch: refs/heads/master
Commit: e0a70faa0b4c923a990834171907be52e48b86fd
Parents: ec08e7f
Author: Logan Bell <lo...@apache.org>
Authored: Mon Oct 29 15:22:46 2012 -0700
Committer: Logan Bell <lo...@apache.org>
Committed: Mon Oct 29 15:22:46 2012 -0700

----------------------------------------------------------------------
 clownfish/runtime/ruby/ext/Bind.c |   37 ++++++++++++++++++++++++++
 clownfish/runtime/ruby/ext/Bind.h |   44 ++++++++++++++++++++++++++++++++
 2 files changed, 81 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy/blob/e0a70faa/clownfish/runtime/ruby/ext/Bind.c
----------------------------------------------------------------------
diff --git a/clownfish/runtime/ruby/ext/Bind.c b/clownfish/runtime/ruby/ext/Bind.c
new file mode 100644
index 0000000..50cb831
--- /dev/null
+++ b/clownfish/runtime/ruby/ext/Bind.c
@@ -0,0 +1,37 @@
+/* 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.
+ */
+
+#include "ruby.h"
+#include "Bind.h"
+#include "Clownfish/Util/StringHelper.h"
+#include "Clownfish/Util/NumberUtils.h"
+
+VALUE
+Bind_cfish_to_ruby(cfish_Obj *obj) {
+  if (Cfish_Obj_Is_A(obj, CFISH_CHARBUF)) {
+      return Bind_cb_to_ruby((cfish_CharBuf*)obj);
+  }
+}
+
+VALUE
+Bind_cb_to_ruby(const cfish_CharBuf *cb) {
+    if (!cb) {
+        return rb_str_new2("");
+    }
+    else {
+        return rb_str_new((char*)Cfish_CB_Get_Ptr8(cb), Cfish_CB_Get_Size(cb));
+    }
+}

http://git-wip-us.apache.org/repos/asf/lucy/blob/e0a70faa/clownfish/runtime/ruby/ext/Bind.h
----------------------------------------------------------------------
diff --git a/clownfish/runtime/ruby/ext/Bind.h b/clownfish/runtime/ruby/ext/Bind.h
new file mode 100644
index 0000000..e16cf54
--- /dev/null
+++ b/clownfish/runtime/ruby/ext/Bind.h
@@ -0,0 +1,44 @@
+/* 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.
+ */
+
+/* XSBind.h -- Functions to help bind Clownfish to Perl XS api.
+ */
+
+#ifndef H_CFISH_XSBIND
+#define H_CFISH_XSBIND 1
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "ruby.h"
+#include "Clownfish/Obj.h"
+#include "Clownfish/ByteBuf.h"
+#include "Clownfish/CharBuf.h"
+#include "Clownfish/Err.h"
+#include "Clownfish/Hash.h"
+#include "Clownfish/Num.h"
+#include "Clownfish/VArray.h"
+#include "Clownfish/VTable.h"
+
+VALUE Bind_cfish_to_ruby(cfish_Obj *obj);
+VALUE Bind_cb_to_ruby(const cfish_CharBuf *cb);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // H_CFISH_XSBIND