lucy-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mar...@apache.org
Subject [2/9] lucy-clownfish git commit: Expose Parcel fetching from Go.
Date Tue, 07 Apr 2015 00:03:47 GMT
Expose Parcel fetching from Go.


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

Branch: refs/heads/master
Commit: fbd9d5425720ee4ad270f065e034c6f5d039f698
Parents: fcf9dcf
Author: Marvin Humphrey <marvin@rectangular.com>
Authored: Sun Mar 15 10:42:55 2015 -0700
Committer: Marvin Humphrey <marvin@rectangular.com>
Committed: Mon Apr 6 09:08:19 2015 -0700

----------------------------------------------------------------------
 compiler/go/cfc/cfc.go | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/fbd9d542/compiler/go/cfc/cfc.go
----------------------------------------------------------------------
diff --git a/compiler/go/cfc/cfc.go b/compiler/go/cfc/cfc.go
index 2a1e44f..930aba8 100644
--- a/compiler/go/cfc/cfc.go
+++ b/compiler/go/cfc/cfc.go
@@ -67,6 +67,10 @@ func DoStuff() {
 	hierarchy.Build()
 }
 
+type Parcel struct {
+	ref *C.CFCParcel
+}
+
 type Hierarchy struct {
 	ref *C.CFCHierarchy
 }
@@ -79,6 +83,22 @@ type BindC struct {
 	ref *C.CFCC
 }
 
+func FetchParcel(name string) *Parcel {
+	nameC := C.CString(name)
+	defer C.free(unsafe.Pointer(nameC))
+	parcelC := C.CFCParcel_fetch(nameC)
+	if parcelC == nil {
+		return nil
+	}
+	obj := &Parcel{parcelC}
+	runtime.SetFinalizer(obj, (*Parcel).finalize)
+	return obj
+}
+
+func (obj *Parcel) finalize() {
+	C.CFCBase_decref((*C.CFCBase)(unsafe.Pointer(obj.ref)))
+}
+
 func NewHierarchy(dest string) *Hierarchy {
 	destCString := C.CString(dest)
 	defer C.free(unsafe.Pointer(destCString))


Mime
View raw message