/*
* eID Applet Project.
* Copyright (C) 2008-2009 FedICT.
* Copyright (C) 2014 e-Contract.be BVBA.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License version
* 3.0 as published by the Free Software Foundation.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, see
* http://www.gnu.org/licenses/.
*/
package be.fedict.eid.applet.shared;
import java.util.List;
import be.fedict.eid.applet.shared.annotation.HttpBody;
import be.fedict.eid.applet.shared.annotation.HttpHeader;
import be.fedict.eid.applet.shared.annotation.MessageDiscriminator;
import be.fedict.eid.applet.shared.annotation.NotNull;
import be.fedict.eid.applet.shared.annotation.ProtocolStateAllowed;
import be.fedict.eid.applet.shared.annotation.ResponsesAllowed;
import be.fedict.eid.applet.shared.protocol.ProtocolState;
/**
* Client environment message transfer object.
*
* @author Frank Cornelis
*
*/
@ProtocolStateAllowed(ProtocolState.ENV_CHECK)
@ResponsesAllowed({ IdentificationRequestMessage.class, InsecureClientMessage.class, AuthenticationRequestMessage.class,
AdministrationMessage.class, SignRequestMessage.class, FilesDigestRequestMessage.class,
SignCertificatesRequestMessage.class, FinishedMessage.class })
public class ClientEnvironmentMessage extends AbstractProtocolMessage {
@HttpHeader(TYPE_HTTP_HEADER)
@MessageDiscriminator
public static final String TYPE = ClientEnvironmentMessage.class.getSimpleName();
@HttpHeader(HTTP_HEADER_PREFIX + "JavaVersion")
@NotNull
public String javaVersion;
@HttpHeader(HTTP_HEADER_PREFIX + "JavaVendor")
@NotNull
public String javaVendor;
@HttpHeader(HTTP_HEADER_PREFIX + "OSName")
@NotNull
public String osName;
@HttpHeader(HTTP_HEADER_PREFIX + "OSArch")
@NotNull
public String osArch;
@HttpHeader(HTTP_HEADER_PREFIX + "OSVersion")
@NotNull
public String osVersion;
@HttpHeader(HTTP_HEADER_PREFIX + "NavigatorUserAgent")
public String navigatorUserAgent;
@HttpHeader(HTTP_HEADER_PREFIX + "NavigatorAppName")
public String navigatorAppName;
@HttpHeader(HTTP_HEADER_PREFIX + "NavigatorAppVersion")
public String navigatorAppVersion;
@HttpBody
@NotNull
public List<String> readerList;
}