/* * Copyright 2010 NCHOVY * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.krakenapps.sentry; import java.io.IOException; import java.util.Collection; import org.krakenapps.rpc.RpcConnection; import org.krakenapps.rpc.RpcSession; public interface Sentry { String getGuid(); void setGuid(String guid); Collection<String> getCommandSessionNames(); String getBaseName(RpcConnection connection); RpcSession getCommandSession(String baseName); void addCommandSession(String baseName, RpcSession session); RpcSession removeCommandSession(String baseName); RpcSession getLogSession(String baseName); RpcSession connectLogChannel(String baseName, String nonce) throws IOException; void disconnectLogChannel(String baseName); Collection<Base> getBases(); Base getBase(String baseName); void addBase(Base base); void removeBase(String baseName); void addCommandHandler(String name, CommandHandler handler); void removeCommandHandler(String name); }