<?php
namespace Airavata\Service\Profile\Tenant\CPI;

/**
 * Autogenerated by Thrift Compiler (0.10.0)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
use Thrift\Base\TBase;
use Thrift\Type\TType;
use Thrift\Type\TMessageType;
use Thrift\Exception\TException;
use Thrift\Exception\TProtocolException;
use Thrift\Protocol\TProtocol;
use Thrift\Protocol\TBinaryProtocolAccelerated;
use Thrift\Exception\TApplicationException;


final class Constant extends \Thrift\Type\TConstant {
  static protected $TENANT_PROFILE_CPI_VERSION;
  static protected $TENANT_PROFILE_CPI_NAME;

  static protected function init_TENANT_PROFILE_CPI_VERSION() {
    return "0.17";
  }

  static protected function init_TENANT_PROFILE_CPI_NAME() {
    return "TenantProfileService";
  }
}


