/* | |
* Licensed to the Apache Software Foundation (ASF) under one | |
* or more contributor license agreements. See the NOTICE file | |
* distributed with this work for additional information | |
* regarding copyright ownership. The ASF licenses this file | |
* to you 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. | |
*/ | |
using System; | |
namespace org.apache.qpid.client | |
{ | |
public enum QpidErrorCode | |
{ | |
NO_ERROR = 200, | |
CONTENT_TOO_LARGE = 311, | |
NO_ROUTE = 312, | |
NO_CONSUMERS = 313, | |
CONNECTION_FORCED = 320, | |
INVALID_PATH = 402, | |
ACCESS_REFUSED = 403, | |
NOT_FOUND = 404, | |
RESOURCE_LOCKED = 405, | |
PRE_CONDITION_FAILED = 406, | |
FRAME_ERROR = 501, | |
SYNTAX_ERROR = 502, | |
COMMAND_INVALID = 503, | |
SESSION_ERROR = 504, | |
NOT_ALLOWED = 530, | |
NOT_IMPLEMENTED = 540, | |
INTERNAL_ERROR = 541, | |
INVALID_ARGUMENT = 542, | |
UNDEFINED = 1 | |
} | |
public struct ErrorCode | |
{ | |
private int _code; | |
private String _desc; | |
private readonly bool _hardError; | |
public ErrorCode(int code, String desc, bool hardError) | |
{ | |
_code = code; | |
_desc = desc; | |
_hardError = hardError; | |
} | |
public int Code | |
{ | |
get { return _code; } | |
set { _code = value; } | |
} | |
public String Description | |
{ | |
get { return _desc; } | |
set { _desc = value; } | |
} | |
public bool ISHardError | |
{ | |
get { return _hardError; } | |
} | |
public static ErrorCode getErrorCode(int code) | |
{ | |
switch (code) | |
{ | |
case 200: | |
return | |
new ErrorCode(200, "reply-success", true); | |
case 311: | |
return | |
new ErrorCode(311, "content-too-large", false); | |
case 312: | |
return | |
new ErrorCode(312, "no-route", false); | |
case 313: | |
return | |
new ErrorCode(313, "content-consumers", false); | |
case 320: | |
return | |
new ErrorCode(320, "connection-forced", true); | |
case 402: | |
return | |
new ErrorCode(402, "invalid-path", true); | |
case 403: | |
return | |
new ErrorCode(403, "access-refused", false); | |
case 404: | |
return | |
new ErrorCode(404, "not-found", false); | |
case 405: | |
return | |
new ErrorCode(405, "resource-locked", false); | |
case 406: | |
return | |
new ErrorCode(406, "precondition-failed", false); | |
case 501: | |
return | |
new ErrorCode(501, "frame_error", true); | |
case 502: | |
return | |
new ErrorCode(502, "syntax_error", true); | |
case 503: | |
return | |
new ErrorCode(503, "command_invalid", true); | |
case 504: | |
return | |
new ErrorCode(504, "sesion_error", true); | |
case 530: | |
return | |
new ErrorCode(530, "not_allowed", true); | |
case 540: | |
return | |
new ErrorCode(540, "not_implemented", true); | |
case 541: | |
return | |
new ErrorCode(541, "internal_error", true); | |
case 542: | |
return | |
new ErrorCode(542, "invalid_argument", true); | |
default: | |
return new ErrorCode(1, "undefined", true); | |
} | |
} | |
} | |
} |