// $Id$

#ifndef __hhembed_NGMonoDomain_H__
#define __hhembed_NGMonoDomain_H__

#import <Foundation/NSObject.h>

@class NGMonoAssembly;

@interface NGMonoDomain : NSObject
{
  void *domain;
}

+ (id)domainWithName:(NSString *)_name;
- (id)initWithDomainName:(NSString *)_name;

/* accessors */

- (void *)handle;

/* assemblies */

- (NGMonoAssembly *)loadAssemblyAtPath:(NSString *)_path;

/* statics */

+ (void)mapCFunction:(void *)_func toMonoCall:(NSString *)_name;

@end

#endif /* __hhembed_NGMonoDomain_H__ */
