[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