Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: CIAOINIT

CIAOINIT.m

Go to the documentation of this file.
  1. CIAOINIT ;MSC/IND/DKM - VueCentric Component KIDS support ;26-May-2006 18:19;DKM
  1. ;;1.1;VUECENTRIC COMPONENTS;;Oct 06, 2004;Build 51
  1. ;;Copyright 2000-2006, Medsphere Systems Corporation
  1. ;=================================================================
  1. ; Environment check
  1. EC I $G(XPDENV)=1 D
  1. .N X
  1. .F X="XPI1","XPO1","XPZ1" S XPDDIQ(X)=0
  1. .S XPDNOQUE=1
  1. X $G(@XPDGREF@("EC"))
  1. D OBJCHK^CIAVINIT
  1. Q
  1. ; Generic preinit
  1. PRE D OBJINST^CIAVINIT,INITIAL^CIAVINIT,RENPRGID^CIAVINIT,SAVEREG^CIAVINIT
  1. Q
  1. ; Generic postinit
  1. POST D HOME^%ZIS
  1. X ^%ZOSF("EON"),^%ZOSF("TRMOFF")
  1. D RESPTR^CIAVINIT,RESTREG^CIAVINIT,REGNMSP,DEFPAR^CIAVINIT,FINAL^CIAVINIT
  1. Q
  1. ; Register namespaces
  1. REGNMSP N X
  1. F X="CIAV","CIAO","BEHO" D REGNMSP^CIAURPC(X,"CIAV VUECENTRIC")
  1. Q
  1. ; Check for presence of package or patch
  1. ; NAME = Patch or package name and version
  1. ; ACTION = See CHKCMN entry point
  1. ; MSG = Message to display if check fails
  1. CHKDEP(NAME,ACTION,MSG) ; EP
  1. N OK,PKG,VER,NUM
  1. S OK=$$BUILD^XPDUTL(NAME)
  1. Q:OK
  1. I NAME?1.E1"*"1.E1"*"1.N D
  1. .S PKG=+$O(^DIC(9.4,"C",$P(NAME,"*"),0)),VER=$P(NAME,"*",2),NUM=$P(NAME,"*",3)
  1. .S VER=+$O(^DIC(9.4,PKG,22,"B",VER,0)),OK=+$O(^DIC(9.4,PKG,22,VER,"PAH","B",NUM,0))
  1. .S:'OK MSG=$G(MSG,"Patch "_NAME_" is required before installation can continue.")
  1. E D
  1. .S NUM=$L(NAME," "),VER=$P(NAME," ",NUM),PKG=$P(NAME," ",1,NUM-1)
  1. .S PKG=$S('$L(PKG):0,1:+$O(^DIC(9.4,"B",PKG,0)))
  1. .S OK=+$O(^DIC(9.4,PKG,22,"B",VER,0))
  1. .S:'OK MSG=$G(MSG,"Package "_NAME_" is required before installation can continue.")
  1. D:'OK CHKCMN(.ACTION,.MSG)
  1. Q
  1. ; Check for completed installation
  1. ; NAME = Build name
  1. ; ACTION = See CHKCMN entry point
  1. ; MSG = Message to display if check fails
  1. CHKINS(NAME,ACTION,MSG) ; EP
  1. N IEN
  1. S IEN=""
  1. F S IEN=$O(^XPD(9.7,"B",NAME,IEN),-1) Q:'IEN Q:$$GET1^DIQ(9.7,IEN,.02,"I")=3
  1. D:'IEN CHKCMN(.ACTION,$G(MSG,"Build "_NAME_" must be installed before installation can continue."))
  1. Q
  1. ; Display message and set appropriate flags
  1. ; ACTION = Action code if check fails
  1. ; -2: Don't install build, leave in cache
  1. ; -1: Don't install build, remove from cache
  1. ; 0: Display warning only
  1. ; 1: Don't install distribution, remove from cache
  1. ; 2: Don't install distribution, leave in cache (default)
  1. ; MSG = Message to display (optional)
  1. CHKCMN(ACTION,MSG) ;
  1. D:$L($G(MSG)) BMES^XPDUTL(MSG)
  1. S ACTION=+$G(ACTION,2)
  1. I ACTION>0 S:$G(XPDABORT)<ACTION XPDABORT=ACTION K XPDQUIT
  1. E I ACTION<0 S:'$G(XPDABORT) XPDQUIT=-ACTION
  1. Q