DIRECTORY 
CD,
CDDesignCache,
CDGenerate,
CDGenerateRemote,
CDRemote,
Rope;

CDRemoteImpl: CEDAR PROGRAM
IMPORTS CDDesignCache, CDGenerateRemote
EXPORTS CDRemote =
BEGIN

GetContext: PUBLIC PROC [remoteDesign: Rope.ROPE] RETURNS [context: CDGenerate.Context_NIL] = {
context _ CDGenerateRemote.GetRemoteContext[remoteDesign];
};

Get: PUBLIC PROC [for: CD.Design, remoteDesign: Rope.ROPE, object: Rope.ROPE] RETURNS [ob: CD.Object] = {
ob _ CDGenerateRemote.GetRemoteObject[for, remoteDesign, object];
};

DesignName: PUBLIC PROC [context: CDGenerate.Context] RETURNS [r: Rope.ROPE_NIL] = {
r _ CDGenerateRemote.RemoteDesignName[context];
};

CacheDesign: PUBLIC PROC [for: CD.Design, remote: CD.Design] = {
CDDesignCache.Set[for, remote];
};

FetchDesign: PUBLIC PROC [for: CD.Design, name: Rope.ROPE] RETURNS [remote: CD.Design _ NIL] = {
remote _ CDDesignCache.Fetch[for, name];
};

IsCached: PUBLIC PROC [for: CD.Design, remoteDesign: Rope.ROPE] RETURNS [BOOL] = {
RETURN [CDDesignCache.IsCached[for, remoteDesign]]
};

ForgetCache: PUBLIC PROC [for: CD.Design, remoteDesign: Rope.ROPE] = {
CDDesignCache.Forget[for, remoteDesign]
};

LoadCache: PUBLIC PROC [for: CD.Design, remoteDesign: Rope.ROPE, remoteFile: Rope.ROPE _ NIL, reload: BOOL _ FALSE] RETURNS [loaded: BOOL] = {
loaded _ CDDesignCache.GetOrRead[for: for, remoteName: remoteDesign, remoteFile: remoteFile, reload: reload, checkFile: TRUE].remote#NIL;
};

MakupName: PUBLIC PROC [for: CD.Design, remoteDesign: Rope.ROPE] RETURNS [f: Rope.ROPE_NIL] = {
f _ CDDesignCache.MakeUpFile[for, remoteDesign];
};

END.


�����CDRemoteImpl.mesa (part of ChipNDale)
Copyright c 1985, 1987 by Xerox Corporation.  All rights reserved.
Created by Christian Jacobi, June 5, 1985 8:02:35 pm PDT
Last edited by: Christian Jacobi, April 9, 1987 6:17:33 pm PDT
�Ê‰��˜�codešœ%™%Kšœ
Ïmœ7™BKšœ5Ïk™8Kšœ>™>—šž	œ˜
Kšžœ˜Kšœ˜Kšœ˜Kšœ˜Kšœ	˜	Kšœ˜—K˜�šÏnœžœž˜Kšžœ ˜'Kšžœ˜—šž˜K˜�—šŸ
œžœžœžœžœžœ˜_Kšœ:˜:Kšœ˜—K˜�šŸœžœžœžœžœžœžœžœ˜iKšœA˜AKšœ˜—K˜�šŸ
œžœžœžœ
žœžœ˜TKšœ/˜/Kšœ˜—K˜�š
Ÿœžœžœžœžœ˜@Kšœ˜Kšœ˜K˜�—šŸœžœžœžœžœžœ
žœ
žœ˜`Kšœ(˜(Kšœ˜K˜�—šŸœžœžœžœžœžœžœ˜RKšžœ,˜2K˜—K˜�š
Ÿœžœžœžœžœ˜FKšœ'˜'Kšœ˜—K˜�šŸ	œžœžœžœžœžœžœ
žœžœžœ
žœ˜ŽKšœxžœ	žœ˜‰K˜—K˜�šŸ	œžœžœžœžœžœ
žœžœ˜_Kšœ0˜0Kšœ˜—K˜�Kšžœ˜K˜—�…—����.��	Ÿ��