01: /*
02: * All content copyright (c) 2003-2007 Terracotta, Inc., except as may otherwise be noted in a separate copyright
03: * notice. All rights reserved.
04: */
05: package com.tc.object.event;
06:
07: import com.tc.object.dmi.DmiDescriptor;
08: import com.tcclient.object.DistributedMethodCall;
09:
10: /**
11: * DMI Manager
12: */
13: public interface DmiManager {
14:
15: /**
16: * Perform distributed invocation
17: * @param receiver Receiver object
18: * @param method Method name
19: * @param params Parameter values
20: * @param runOnAllNodes True to run everywhere, false for local
21: * @return True if valid
22: */
23: boolean distributedInvoke(Object receiver, String method,
24: Object[] params, boolean runOnAllNodes);
25:
26: /**
27: * Commit distributed invocation.
28: */
29: void distributedInvokeCommit();
30:
31: /**
32: * Invoke distributed method call description
33: * @param dmc Description of DMI call
34: */
35: void invoke(DistributedMethodCall dmc);
36:
37: /**
38: * Extract method call from descriptor
39: * @param dd Descriptor
40: * @return Method call info
41: */
42: DistributedMethodCall extract(DmiDescriptor dd);
43:
44: }
|