/* * Key.c */ #ident "$Id: key_str.c 15964 2005-10-17 19:29:15Z joey $" #include #include "StrHier.h" #include "libCfg.h" #include "libserver.h" int KeysToStr (SDDAS_SHORT *keys, SDDAS_CHAR *P, SDDAS_CHAR *S, SDDAS_CHAR *E, SDDAS_CHAR *I, SDDAS_CHAR *V) { StrHier src; src = SourceByNum (Projects, keys[0], NULL); if (!src) { return DKEY_PROJECT; } strcpy (P, SNAME (src)); src = SourceByNum (Projects, keys[0], keys[1], NULL); if (!src) { return DKEY_MISSION; } strcpy (S, SNAME (src)); src = SourceByNum (Projects, keys[0], keys[1], keys[2], NULL); if (!src) { return DKEY_EXPERIMENT; } strcpy (E, SNAME (src)); src = SourceByNum (Projects, keys[0], keys[1], keys[2], keys[3], NULL); if (!src) { return DKEY_INSTRUMENT; } strcpy (I, SNAME (src)); src = SourceByNum (Projects, keys[0], keys[1], keys[2], keys[3], keys[4], NULL); if (!src) { return DKEY_VINST; } strcpy (V, SNAME (src)); return ALL_OKAY; } int StrToKey (SDDAS_CHAR *P, SDDAS_CHAR *S, SDDAS_CHAR *E, SDDAS_CHAR *I, SDDAS_CHAR *V, SDDAS_SHORT *keys) { SDDAS_SHORT p, s, e, i, v; StrHier src; if (!(src = SourceByStr (Projects, P, NULL))) return (DKEY_PROJECT); p = SNUM (src); if (!(src = SourceByStr (Projects, P, S, NULL))) return (DKEY_MISSION); s = SNUM (src); if (!(src = SourceByStr (Projects, P, S, E, NULL))) return (DKEY_EXPERIMENT); e = SNUM (src); if (!(src = SourceByStr (Projects, P, S, E, I, NULL))) return (DKEY_INSTRUMENT); i = SNUM (src); if (!(src = SourceByStr (Projects, P, S, E, I, V, NULL))) return (DKEY_VINST); v = SNUM (src); keys[0] = p; keys[1] = s; keys[2] = e; keys[3] = i; keys[4] = v; return 0; }