3.1.5.8 IsSiteGate

IsSiteGate returns 1 if a given QueueManager identified by the MachineID parameter is an MSMQ Site Gate. Otherwise this method returns 0.

 IsSiteGate(MachineID of type GUID)
  
 ;MachineID – QueueManager.Identifier
  
 INIT Machine of type QueueManager
 INIT Site of type Site
 INIT ArraySite of type vector of Site
  
 SET Machine to result of CALL GetQueueManager(MachineID)
 IF Machine = Nothing THEN
     RETURN with 0
 ENDIF
  
 IF Machine.RoutingServer = False THEN
    RETURN with 0
 ENDIF
  
 SET ArraySite to result of GetDirectoryData("Site", Nothing)
 IF ArraySite = Nothing THEN
     RETURN with 0
 ENDIF
  
  
 FOREACH Site FROM ArraySite DO
    IF (Site.Identifier = in Machine.SiteIdentifierList)  THEN
       FOREACH SiteGate in Site.SiteGateCollection DO
          IF (MachineID = SiteGate.Identifier) THEN
             RETURN with 1
          ENDIF
       END FOREACH
    ENDIF
 END FOREACH
  
 RETURN with 0