/*
* Copyright 2012 The Stanford MobiSocial Laboratory
*
* 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 mobisocial.musubi.encoding;
import android.util.Base64;
import mobisocial.musubi.model.MDevice;
public class DiscardMessage extends Exception {
public static class InvalidAuthority extends DiscardMessage {
public InvalidAuthority() {
super("Message not allowed to be x-mited using local authority");
}
}
public static class NotToMe extends DiscardMessage {
public NotToMe(String msg) {
super(msg);
}
}
public static class Duplicate extends DiscardMessage {
public final MDevice mFrom;
public Duplicate(MDevice from, byte[] hash) {
super("duplicate message hash=" + Base64.encodeToString(hash, Base64.DEFAULT));
mFrom = from;
}
}
public static class Blacklist extends DiscardMessage {
public Blacklist(String msg) {
super(msg);
}
}
public static class Corrupted extends DiscardMessage {
public Corrupted(String msg) {
super(msg);
}
public Corrupted(String msg, Throwable t) {
super(msg, t);
}
}
public static class BadSignature extends DiscardMessage {
public BadSignature(String msg) {
super(msg);
}
}
public static class BadObjFormat extends DiscardMessage {
public BadObjFormat(String msg) {
super(msg);
}
public BadObjFormat(String msg, Throwable t) {
super(msg, t);
}
}
public DiscardMessage(String msg) {
super(msg);
}
public DiscardMessage(String msg, Throwable t) {
super(msg, t);
}
}