This class is used internally by InterSystems IRIS. You should not make direct use of it within your applications. There is no guarantee made about either the behavior or future operation of this class.
This provides the interface that Studio uses to talk to the source control class.
Called after Studio brings up its default dialog from calling OnUserAction() to tell
the server what the answer was
classmethod ExtensionClassesClose(ByRef qHandle As %Binary) as %Status [ Language = objectscript ]
classmethod ExtensionClassesExecute(ByRef qHandle As %Binary) as %Status [ Language = objectscript ]
classmethod ExtensionClassesFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status [ Language = objectscript ]
classmethod ExternalName(InternalName As %String) as %String [ Language = objectscript ]
Returns the external name of this file
classmethod GetStatus(InternalName As %String, ByRef IsInSourceControl As %Boolean, ByRef Editable As %Boolean, ByRef IsCheckedOut As %Boolean, ByRef UserCheckedOut As %String, ByRef Reload As %Boolean) as %Status [ Language = objectscript ]
Return information about this entity. The Reload parameter is returned by this
function and is true if the status check changed the item and so may need to be reloaded.
classmethod IsGenerated(InternalName As %String) as %Boolean [ Language = objectscript ]
Return true if this document is generated from some other item
classmethod MainMenusClose(ByRef qHandle As %Binary) as %Status [ Language = objectscript ]
classmethod MainMenusExecute(ByRef qHandle As %Binary) as %Status [ Language = objectscript ]
classmethod MainMenusFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status [ Language = objectscript ]
classmethod MenuItemsClose(ByRef qHandle As %Binary) as %Status [ Language = objectscript ]
classmethod MenuItemsExecute(ByRef qHandle As %Binary, MenuName As %String(MAXLEN=32767), InternalName As %String(MAXLEN=32767)="", SelectedText As %String(MAXLEN=32767)="") as %Status [ Language = objectscript ]
classmethod MenuItemsFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status [ Language = objectscript ]
classmethod OnBeforeTimestamp(class As %String(MAXLEN="")) as %Status [ Language = objectscript ]
final classmethod SourceControlClassGet(namespace As %String) as %String [ Language = objectscript ]
Return the name of the source control class we should use for this
namespace. If we return "" then source control is not enabled in
this namespace.
final classmethod SourceControlClassSet(val As %String = "", namespace As %String, sys As %Boolean = 0) as %Status [ Language = objectscript ]
Set the name of the source control class we should use for this
namespace. Set the value to "" to disable source control in this
namespace. Set the value to $char(0) to remove the source control node for
this namespace. This is different to setting it to "", which disables it, as
removing the node for this namespace will allow a look through to the default
source control class for all namespaces.
final classmethod SourceControlCreate(Name As %String, Password As %String, ByRef Created As %Boolean, ByRef Flags As %Integer, Output Username As %String, Version As %String = "", ByRef Reload As %String, MainJob As %String = "", ByRef IconStatus As %Integer) as %Status [ Language = objectscript ]
Creates an instance of the source control class stored in the local variable
'%SourceControl'. This is used by the load/save/compile functions to import/export
the routine to the external source control class.
It also returns Created which is true if the source control class was created
correctly. Then Flags returns an integer set of flags to determine which dialogs
to display in Studio. Studio passes its Version to the server so the server can
modify its behavior based on this. The server returns Reload which if "" is set
in Studio on a per user basis, but if set to 1 or 0 then this forces the auto reload behavior
in Studio to follow this server setting. The MainJob is blank if this process is the
main Studio connection, but is the $job of the initial Studio connection job if this is a background
job for doing things like find in files, or a big compile. By passing the $job of the main
process this background process can co-ordinate with the main job.