blob: 791d05a48639c6db05e414e041ea748e04186dd3 [file] [log] [blame]
/*
* This file is auto-generated. DO NOT MODIFY.
*/
package android.hardware.security.secureclock;
/** @hide */
public interface ISecureClock extends android.os.IInterface
{
/**
* The version of this interface that the caller is built against.
* This might be different from what {@link #getInterfaceVersion()
* getInterfaceVersion} returns as that is the version of the interface
* that the remote object is implementing.
*/
public static final int VERSION = 1;
public static final String HASH = "cd55ca9963c6a57fa5f2f120a45c6e0c4fafb423";
/** Default implementation for ISecureClock. */
public static class Default implements android.hardware.security.secureclock.ISecureClock
{
@Override public android.hardware.security.secureclock.TimeStampToken generateTimeStamp(long challenge) throws android.os.RemoteException
{
return null;
}
@Override
public int getInterfaceVersion() {
return 0;
}
@Override
public String getInterfaceHash() {
return "";
}
@Override
public android.os.IBinder asBinder() {
return null;
}
}
/** Local-side IPC implementation stub class. */
public static abstract class Stub extends android.os.Binder implements android.hardware.security.secureclock.ISecureClock
{
/** Construct the stub at attach it to the interface. */
public Stub()
{
this.markVintfStability();
this.attachInterface(this, DESCRIPTOR);
}
/**
* Cast an IBinder object into an android.hardware.security.secureclock.ISecureClock interface,
* generating a proxy if needed.
*/
public static android.hardware.security.secureclock.ISecureClock asInterface(android.os.IBinder obj)
{
if ((obj==null)) {
return null;
}
android.os.IInterface iin = obj.queryLocalInterface(DESCRIPTOR);
if (((iin!=null)&&(iin instanceof android.hardware.security.secureclock.ISecureClock))) {
return ((android.hardware.security.secureclock.ISecureClock)iin);
}
return new android.hardware.security.secureclock.ISecureClock.Stub.Proxy(obj);
}
@Override public android.os.IBinder asBinder()
{
return this;
}
/** @hide */
public static java.lang.String getDefaultTransactionName(int transactionCode)
{
switch (transactionCode)
{
case TRANSACTION_generateTimeStamp:
{
return "generateTimeStamp";
}
case TRANSACTION_getInterfaceVersion:
{
return "getInterfaceVersion";
}
case TRANSACTION_getInterfaceHash:
{
return "getInterfaceHash";
}
default:
{
return null;
}
}
}
/** @hide */
public java.lang.String getTransactionName(int transactionCode)
{
return this.getDefaultTransactionName(transactionCode);
}
@Override public boolean onTransact(int code, android.os.Parcel data, android.os.Parcel reply, int flags) throws android.os.RemoteException
{
java.lang.String descriptor = DESCRIPTOR;
if (code >= android.os.IBinder.FIRST_CALL_TRANSACTION && code <= android.os.IBinder.LAST_CALL_TRANSACTION) {
data.enforceInterface(descriptor);
}
switch (code)
{
case INTERFACE_TRANSACTION:
{
reply.writeString(descriptor);
return true;
}
case TRANSACTION_getInterfaceVersion:
{
reply.writeNoException();
reply.writeInt(getInterfaceVersion());
return true;
}
case TRANSACTION_getInterfaceHash:
{
reply.writeNoException();
reply.writeString(getInterfaceHash());
return true;
}
}
switch (code)
{
case TRANSACTION_generateTimeStamp:
{
long _arg0;
_arg0 = data.readLong();
data.enforceNoDataAvail();
android.hardware.security.secureclock.TimeStampToken _result = this.generateTimeStamp(_arg0);
reply.writeNoException();
reply.writeTypedObject(_result, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
break;
}
default:
{
return super.onTransact(code, data, reply, flags);
}
}
return true;
}
private static class Proxy implements android.hardware.security.secureclock.ISecureClock
{
private android.os.IBinder mRemote;
Proxy(android.os.IBinder remote)
{
mRemote = remote;
}
private int mCachedVersion = -1;
private String mCachedHash = "-1";
@Override public android.os.IBinder asBinder()
{
return mRemote;
}
public java.lang.String getInterfaceDescriptor()
{
return DESCRIPTOR;
}
@Override public android.hardware.security.secureclock.TimeStampToken generateTimeStamp(long challenge) throws android.os.RemoteException
{
android.os.Parcel _data = android.os.Parcel.obtain(asBinder());
android.os.Parcel _reply = android.os.Parcel.obtain();
android.hardware.security.secureclock.TimeStampToken _result;
try {
_data.writeInterfaceToken(DESCRIPTOR);
_data.writeLong(challenge);
boolean _status = mRemote.transact(Stub.TRANSACTION_generateTimeStamp, _data, _reply, 0);
if (!_status) {
throw new android.os.RemoteException("Method generateTimeStamp is unimplemented.");
}
_reply.readException();
_result = _reply.readTypedObject(android.hardware.security.secureclock.TimeStampToken.CREATOR);
}
finally {
_reply.recycle();
_data.recycle();
}
return _result;
}
@Override
public int getInterfaceVersion() throws android.os.RemoteException {
if (mCachedVersion == -1) {
android.os.Parcel data = android.os.Parcel.obtain(asBinder());
android.os.Parcel reply = android.os.Parcel.obtain();
try {
data.writeInterfaceToken(DESCRIPTOR);
boolean _status = mRemote.transact(Stub.TRANSACTION_getInterfaceVersion, data, reply, 0);
reply.readException();
mCachedVersion = reply.readInt();
} finally {
reply.recycle();
data.recycle();
}
}
return mCachedVersion;
}
@Override
public synchronized String getInterfaceHash() throws android.os.RemoteException {
if ("-1".equals(mCachedHash)) {
android.os.Parcel data = android.os.Parcel.obtain(asBinder());
android.os.Parcel reply = android.os.Parcel.obtain();
try {
data.writeInterfaceToken(DESCRIPTOR);
boolean _status = mRemote.transact(Stub.TRANSACTION_getInterfaceHash, data, reply, 0);
reply.readException();
mCachedHash = reply.readString();
} finally {
reply.recycle();
data.recycle();
}
}
return mCachedHash;
}
}
static final int TRANSACTION_generateTimeStamp = (android.os.IBinder.FIRST_CALL_TRANSACTION + 0);
static final int TRANSACTION_getInterfaceVersion = (android.os.IBinder.FIRST_CALL_TRANSACTION + 16777214);
static final int TRANSACTION_getInterfaceHash = (android.os.IBinder.FIRST_CALL_TRANSACTION + 16777213);
/** @hide */
public int getMaxTransactionId()
{
return 16777214;
}
}
public static final java.lang.String DESCRIPTOR = "android$hardware$security$secureclock$ISecureClock".replace('$', '.');
public static final String TIME_STAMP_MAC_LABEL = "Auth Verification";
public android.hardware.security.secureclock.TimeStampToken generateTimeStamp(long challenge) throws android.os.RemoteException;
public int getInterfaceVersion() throws android.os.RemoteException;
public String getInterfaceHash() throws android.os.RemoteException;
}