definition module SearchObject;

/*
	should be adapted in following two ways:
		- extra project paths should be removed use instead the IDE
		  functions.
		- a minimal user interface for modules/symbols which cannot
		  be found otherwise.
		  
	for the MAC: dummies should be written
*/

/*
import StdArray, StdEnum;
from StdString import toString, String; 

import Environments, State, UnknownModuleOrSymbol;
load_modules :: !Environment !ServerState [ModuleOrSymbolUnknown] !State !*Files -> !(!Bool,!ServerState,!State, !*Files);
*/

import
	StdEnv;
	
import DLState;
import UnknownModuleOrSymbol;

// Extension to library 0.8.1
//import ExtFile_IO081;

//load_modules2 :: [ModuleOrSymbolUnknown] !*State !*DLClientState !*DLServerState !(IOState s) -> !(!Bool,!*State,!*DLClientState,!*DLServerState,!(IOState s));
load_modules2 :: [ModuleOrSymbolUnknown] !*State !*DLClientState !*DLServerState !(IOState !*DLServerState) -> !(!Bool,!*State,!*DLClientState,!*DLServerState,!(IOState !*DLServerState));
load_object :: !String !Int !String !*State !*DLClientState !*DLServerState !(IOState s) -> !(!Bool,![(!String,!Int,!Int)],!*State,!*DLClientState,!*DLServerState,!(IOState s));

add_module2 :: !*Xcoff !State -> !State;

add_library2 :: !Int !Int !LibraryList !State -> !State;
