/* Copyright 2004-2014 Jim Voris
*
* 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 com.qumasoft.qvcslib.response;
import com.qumasoft.qvcslib.ArchiveDirManagerProxy;
import java.io.Serializable;
/**
* Identify those methods that must be implemented on the client on receipt of a response from the server.
* @author Jim Voris
*/
public interface ServerResponseInterface extends Serializable {
/**
* Update the directory manager proxy. Use the given directory manager proxy to perform any message specific updates.
*
* @param directoryManagerProxy the directory manager proxy.
*/
void updateDirManagerProxy(ArchiveDirManagerProxy directoryManagerProxy);
/**
* Get the type of response.
* @return the type of response.
*/
ResponseOperationType getOperationType();
/**
* The different response types.
*/
public enum ResponseOperationType {
/** Begin transaction response. */
SR_BEGIN_TRANSACTION,
/** End transaction response. */
SR_END_TRANSACTION,
/** List client projects response. */
SR_LIST_CLIENT_PROJECTS,
/** Get revision response. */
SR_GET_REVISION,
/** Get for visual compare response. */
SR_GET_FOR_VISUAL_COMPARE,
/** Get revision for compare response. */
SR_GET_REVISION_FOR_COMPARE,
/** Check out response. */
SR_CHECK_OUT,
/** Check in response. */
SR_CHECK_IN,
/** Lock response. */
SR_LOCK,
/** Login response. */
SR_LOGIN,
/** Unlock response. */
SR_UNLOCK,
/** Break lock response. */
SR_BREAK_LOCK,
/** Register client listener response. */
SR_REGISTER_CLIENT_LISTENER,
/** Create archive response. */
SR_CREATE_ARCHIVE,
/** Label response. */
SR_LABEL,
/** Remove label response. */
SR_REMOVE_LABEL,
/** Get logfile info response. */
SR_GET_LOGFILE_INFO,
/** Set obsolete response. */
SR_SET_OBSOLETE,
/** Add directory response. */
SR_ADD_DIRECTORY,
/** Set attributes response. */
SR_SET_ATTRIBUTES,
/** Set comment prefix response. */
SR_SET_COMMENT_PREFIX,
/** Set module description response. */
SR_SET_MODULE_DESCRIPTION,
/** Set revision description response. */
SR_SET_REVISION_DESCRIPTION,
/** Rename file response. */
SR_RENAME_FILE,
/** Move file response. */
SR_MOVE_FILE,
/** Rename directory response. */
SR_RENAME_DIRECTORY,
/** Move directory response. */
SR_MOVE_DIRECTORY,
/** Delete directory response. */
SR_DELETE_DIRECTORY,
/** Add revision response. */
SR_ADD_REVISION,
/** Get info for merge response. */
SR_GET_INFO_FOR_MERGE,
/** Resolve conflict from parent branch response. */
SR_RESOLVE_CONFLICT_FROM_PARENT_BRANCH,
/** List files to promote response. */
SR_LIST_FILES_TO_PROMOTE,
/** Promote file response. */
SR_PROMOTE_FILE,
/** List projects response. */
SR_LIST_PROJECTS,
/** List views response. */
SR_LIST_VIEWS,
/** Add user response. */
SR_ADD_USER,
/** Remove user response. */
SR_REMOVE_USER,
/** Add user role response. */
SR_ADD_USER_ROLE,
/** Remove user role response. */
SR_REMOVE_USER_ROLE,
/** Assign user roles response. */
SR_ASSIGN_USER_ROLES,
/** List users response. */
SR_LIST_USERS,
/** List user roles response. */
SR_LIST_USER_ROLES,
/** Change user password response. */
SR_CHANGE_USER_PASSWORD,
/** List project users response. */
SR_LIST_PROJECT_USERS,
/** Get most recent activity response. */
SR_GET_MOST_RECENT_ACTIVITY,
/** Server shutdown response. */
SR_SERVER_SHUTDOWN,
/** Server create project response. */
SR_SERVER_CREATE_PROJECT,
/** Server delete project response. */
SR_SERVER_DELETE_PROJECT,
/** Server maintains project response. */
SR_SERVER_MAINTAIN_PROJECT,
/** Server list role names response. */
SR_SERVER_LIST_ROLE_NAMES,
/** Server list role privileges response. */
SR_SERVER_LIST_ROLE_PRIVILEGES,
/** Vanilla success response. */
SR_RESPONSE_SUCCESS,
/** Response message response. */
SR_RESPONSE_MESSAGE,
/** Response error response. */
SR_RESPONSE_ERROR,
/** Project control response. */
SR_PROJECT_CONTROL,
/** Update client jar response. */
SR_UPDATE_CLIENT_JAR,
/** Heartbeat response. */
SR_HEARTBEAT
}
}