cQSTART ;STARTUP THE CACHE SYSTEM ;cQSTART; [ 05/18/01 11:59 AM ] G YZ ; T0 ;STARTUP THE CACHE SYSTEM; ; T0F ;STARTUP THE CACHE SYSTEM; ; T0E ;STARTUP THE CACHE SYSTEM; ; START ;setup variables 1 S SERVER=$$NS^cQ14,NMSPC=$ZU(5) I SERVER="?" G YZ S CONFIG=$G(^cTABEL("base",SERVER,NMSPC,"Config")) I '$L(CONFIG) G YZ I $G(^cTABEL("base",SERVER,NMSPC,CONFIG,"done")) G YZ ; 2 ;loop through ^cTABEL S A="" F S A=$O(^cTABEL("change",SERVER,NMSPC,CONFIG,"kill",A)) Q:A="" K @A F S A=$O(^cTABEL("change",SERVER,NMSPC,CONFIG,"merge",A)) Q:A="" S B=^(A) M @A=@B F S A=$O(^cTABEL("change",SERVER,NMSPC,CONFIG,"set",A)) Q:A="" S B=^(A),@A=B F S A=$O(^cTABEL("change",SERVER,NMSPC,CONFIG,"xecute",A)) Q:A="" S B=^(A) X B 3 ;Set switch S ^cTABEL("base",SERVER,NMSPC,CONFIG,"done")=1 ; 4 ;restart system H 15 D INT^cQRESET ; YZ Q ; MSEC(X,Y) ; Modify cache.cpf Section ; X = section, Y = Add, Remove, Replace S X=$G(X),Y=$G(Y) Q:'$L(X) Q:'$L(Y) S CF=$$CPF^cQFILE,ER=$$OR^cQFILE(CF) I ER Q S CFN=$P(CF,".cpf")_".new",ER=$$CF^cQFILE(CFN),ER=$$OW^cQFILE(CFN) I ER Q F S ER=$$RF^cQFILE(CF,.K) Q:ER Q:$E(K,1,$L(X))=X S ER=$$WF^cQFILE(CFN,K_$C(13,10)) Q:ER I Y="Remove" F S ER=$$RF^cQFILE(CF,.K) Q:ER Q:K="" I Y="Replace" S I="" F S I=$O(^cTABEL("change",SERVER,NMSPC,CONFIG,"Cache.cpf",X,I)) Q:I="" S K=^(I) S ER=$$WF^cQFILE(CFN,K_$C(13,10)) Q:ER F S ER=$$RF^cQFILE(CF,.K) Q:ER D Q:ER S ER=$$WF^cQFILE(CFN,K_$C(13,10)) Q:ER I Y="Add" S I="" F S I=$O(^cTABEL("change",SERVER,NMSPC,CONFIG,"Cache.cpf",X,I)) Q:I="" S K=^(I) S ER=$$WF^cQFILE(CFN,K_$C(13,10)) Q:ER S ER=$$CF^cQFILE(CF),ER=$$CF^cQFILE(CFN) ;close files S K=$$FSEQ^cQFILE(CF),ER=$$CP^cQFILE(CF,CF_K) ;make backup of cache.cpf S ER=$$CP^cQFILE(CFN,CF) ;copy new file to cache.cpf MSECZ Q ; RSTR(X,Y) ; Replace string in cache.cpf ; X = string, Y = new value S X=$G(X),Y=$G(Y) Q:'$L(X) Q:'$L(Y) S CF=$$CPF^cQFILE,ER=$$OR^cQFILE(CF) I ER Q S CFN=$P(CF,".cpf")_".new",ER=$$CF^cQFILE(CFN),ER=$$OW^cQFILE(CFN) I ER Q F S ER=$$RF^cQFILE(CF,.K) Q:ER Q:$E(K,1,$L(X))=X S ER=$$WF^cQFILE(CFN,K_$C(13,10)) Q:ER S ER=$$WF^cQFILE(CFN,X_Y_$C(13,10)) Q:ER F S ER=$$RF^cQFILE(CF,.K) Q:ER D Q:ER S ER=$$WF^cQFILE(CFN,K_$C(13,10)) Q:ER S ER=$$CF^cQFILE(CF),ER=$$CF^cQFILE(CFN) ;close files S K=$$FSEQ^cQFILE(CF),ER=$$CP^cQFILE(CF,CF_K) ;make backup of cache.cpf S ER=$$CP^cQFILE(CFN,CF) ;copy new file to cache.cpf RSTRZ Q ; CHECK() ;check config S SERVER=$$NS^cQ14,NMSPC=$P($ZU(0),",",2) S CONFIG=$G(^cTABEL("base",SERVER,NMSPC,"Config")) I '$L(CONFIG) Q 1 S A="",E=0 F S A=$O(^cTABEL("change",SERVER,NMSPC,CONFIG,"set",A)) Q:A="" S B=^(A) I @A'=B S E=2 W !,A,!?10,@A,!?20,B Q Q E ; ZZ ; 24.08.01 - 9 u 19 * Cache-r3.1.8