// Path: src/api/java/appeng/api/networking/events/MENetworkEvent.java
// public class MENetworkEvent
// {
// 
// 	private int visited = 0;
// 	private boolean canceled = false;
// 
// 	/**
// 	 * Call to prevent AE from posting the event to any further objects.
// 	 */
// 	public void cancel()
// 	{
// 		canceled = true;
// 	}
// 
// 	/**
// 	 * called by AE after each object is called to cancel any future calls.
// 	 * 
// 	 * @return
// 	 */
// 	public boolean isCanceled()
// 	{
// 		return canceled;
// 	}
// 
// 	/**
// 	 * the number of objects that were visited by the event.
// 	 * 
// 	 * @return
// 	 */
// 	public int getVisitedObjects()
// 	{
// 		return visited;
// 	}
// 
// 	/**
// 	 * Called by AE after iterating the event subscribers.
// 	 * 
// 	 * @param v
// 	 */
// 	public void setVisitedObjects(int v)
// 	{
// 		visited = v;
// 	}
// }


import appeng.api.networking.events.MENetworkEvent;
import appeng.api.util.IReadOnlyCollection;
package appeng.api.networking;


/**
 * Gives you access to Grid based information.
 * 
 * Don't Implement.
 */
public interface IGrid
{

	/**
	 * Get Access to various grid modules
	 * 
	 * @param iface
	 * @return the IGridCache you requested.
	 */
	public <C extends IGridCache> C getCache(Class<? extends IGridCache> iface);

	/**
	 * Post an event into the network event bus.
	 * 
	 * @param ev
	 *            - event to post
	 * @return returns ev back to original poster
	 */
// Path: src/api/java/appeng/api/networking/events/MENetworkEvent.java
// public class MENetworkEvent
// {
// 
// 	private int visited = 0;
// 	private boolean canceled = false;
// 
// 	/**
// 	 * Call to prevent AE from posting the event to any further objects.
// 	 */
// 	public void cancel()
// 	{
// 		canceled = true;
// 	}
// 
// 	/**
// 	 * called by AE after each object is called to cancel any future calls.
// 	 * 
// 	 * @return
// 	 */
// 	public boolean isCanceled()
// 	{
// 		return canceled;
// 	}
// 
// 	/**
// 	 * the number of objects that were visited by the event.
// 	 * 
// 	 * @return
// 	 */
// 	public int getVisitedObjects()
// 	{
// 		return visited;
// 	}
// 
// 	/**
// 	 * Called by AE after iterating the event subscribers.
// 	 * 
// 	 * @param v
// 	 */
// 	public void setVisitedObjects(int v)
// 	{
// 		visited = v;
// 	}
// }


// Path: src/api/java/appeng/api/networking/IGrid.java
import appeng.api.networking.events.MENetworkEvent;
import appeng.api.util.IReadOnlyCollection;

package appeng.api.networking;


/**
 * Gives you access to Grid based information.
 * 
 * Don't Implement.
 */
public interface IGrid
{

	/**
	 * Get Access to various grid modules
	 * 
	 * @param iface
	 * @return the IGridCache you requested.
	 */
	public <C extends IGridCache> C getCache(Class<? extends IGridCache> iface);

	/**
	 * Post an event into the network event bus.
	 * 
	 * @param ev
	 *            - event to post
	 * @return returns ev back to original poster
	 */
	public MENetworkEvent postEvent(MENetworkEvent ev);