[darwinbuild-changes] [218] trunk/darwinxref

source_changes at macosforge.org source_changes at macosforge.org
Wed Oct 4 01:58:46 PDT 2006


Revision: 218
          http://trac.macosforge.org/projects/darwinbuild/changeset/218
Author:   kevin
Date:     2006-10-04 01:58:46 -0700 (Wed, 04 Oct 2006)

Log Message:
-----------
- Added group Tcl hooks and group plugin

Modified Paths:
--------------
    trunk/darwinxref/DBTclPlugin.c

Added Paths:
-----------
    trunk/darwinxref/plugins/group.tcl

Modified: trunk/darwinxref/DBTclPlugin.c
===================================================================
--- trunk/darwinxref/DBTclPlugin.c	2005-09-02 00:57:11 UTC (rev 217)
+++ trunk/darwinxref/DBTclPlugin.c	2006-10-04 08:58:46 UTC (rev 218)
@@ -312,7 +312,59 @@
 	return TCL_OK;
 }
 
+int DBCopyGroupNamesCmd(ClientData data, Tcl_Interp* interp, int objc, Tcl_Obj* CONST objv[]) {
+	if (objc != 2) {
+		Tcl_WrongNumArgs(interp, 1, objv, "build");
+		return TCL_ERROR;
+	}
 
+	CFStringRef build = cfstr_tcl(objv[1]);
+	CFArrayRef array = DBCopyGroupNames(build);
+	if (array) {
+		Tcl_SetObjResult(interp, tcl_cfarray(array));
+		CFRelease(array);
+	}
+	CFRelease(build);
+	return TCL_OK;
+}
+
+int DBCopyGroupMembersCmd(ClientData data, Tcl_Interp* interp, int objc, Tcl_Obj* CONST objv[]) {
+	if (objc != 3) {
+		Tcl_WrongNumArgs(interp, 1, objv, "build group");
+		return TCL_ERROR;
+	}
+
+	CFStringRef build = cfstr_tcl(objv[1]);
+	CFStringRef group = cfstr_tcl(objv[2]);
+	CFArrayRef array = DBCopyGroupMembers(build, group);
+	if (array) {
+		Tcl_SetObjResult(interp, tcl_cfarray(array));
+		CFRelease(array);
+	}
+	CFRelease(build);
+	CFRelease(group);
+	return TCL_OK;
+}
+
+int DBSetGroupMembersCmd(ClientData data, Tcl_Interp* interp, int objc, Tcl_Obj* CONST objv[]) {
+	if (objc != 4) {
+		Tcl_WrongNumArgs(interp, 1, objv, "build group list");
+		return TCL_ERROR;
+	}
+
+	CFStringRef build = cfstr_tcl(objv[1]);
+	CFStringRef group = cfstr_tcl(objv[2]);
+	CFArrayRef  members = cfarray_tcl(interp, objv[3]);
+	DBSetGroupMembers(build, group, members);
+	CFRelease(build);
+	CFRelease(group);
+	CFRelease(members);
+	return TCL_OK;
+}
+
+
+
+
 int load_tcl_plugin(DBPlugin* plugin, const char* filename) {
 	Tcl_Interp* interp = Tcl_CreateInterp();
 
@@ -338,6 +390,10 @@
 	Tcl_CreateObjCommand(interp, "DBCopyProjectNames", DBCopyProjectNamesCmd, (ClientData)plugin, (Tcl_CmdDeleteProc *)NULL);
 	Tcl_CreateObjCommand(interp, "DBCopyChangedProjectNames", DBCopyChangedProjectNamesCmd, (ClientData)plugin, (Tcl_CmdDeleteProc *)NULL);
 
+	Tcl_CreateObjCommand(interp, "DBCopyGroupNames", DBCopyGroupNamesCmd, (ClientData)plugin, (Tcl_CmdDeleteProc *)NULL);
+	Tcl_CreateObjCommand(interp, "DBCopyGroupMembers", DBCopyGroupMembersCmd, (ClientData)plugin, (Tcl_CmdDeleteProc *)NULL);
+	Tcl_CreateObjCommand(interp, "DBSetGroupMembers", DBSetGroupMembersCmd, (ClientData)plugin, (Tcl_CmdDeleteProc *)NULL);
+
 	// Source the plugin file
 	Tcl_EvalFile(interp, filename);
 

Added: trunk/darwinxref/plugins/group.tcl
===================================================================
--- trunk/darwinxref/plugins/group.tcl	                        (rev 0)
+++ trunk/darwinxref/plugins/group.tcl	2006-10-04 08:58:46 UTC (rev 218)
@@ -0,0 +1,14 @@
+DBPluginSetName group
+DBPluginSetType basic
+
+proc usage {} {
+	return {<group>}
+}
+
+proc run {args} {
+	set group [lindex $args 0]
+	if {$group == ""} { return -1 }
+	foreach member [DBCopyGroupMembers [DBGetCurrentBuild] $group] {
+		puts $member
+	}
+}


Property changes on: trunk/darwinxref/plugins/group.tcl
___________________________________________________________________
Name: svn:eol-style
   + native

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/darwinbuild-changes/attachments/20061004/5ecad5c5/attachment-0001.html


More information about the darwinbuild-changes mailing list