text: #pragma once
  
  // Copyright 2015 Stellar Development Foundation and contributors. Licensed
  // under the ISC License. See the COPYING file at the top-level directory of
  // this distribution or at http://opensource.org/licenses/ISC
  
  #include "transactions/OperationFrame.h"
  
  namespace stellar
  {
  class AllowTrustOpFrame : public OperationFrame
  {
      int32_t getNeededThreshold() const;
      AllowTrustResult&
      innerResult() const
      {
          return getResult().tr().allowTrustResult();
      }
  
      AllowTrustOp const& mAllowTrust;
  
    public:
      AllowTrustOpFrame(Operation const& op, OperationResult& res,
                        TransactionFrame& parentTx);
  
      bool doApply(LedgerDelta& delta, LedgerManager& ledgerManager);
      bool doCheckValid(Application& app);
  
      static AllowTrustResultCode
      getInnerCode(OperationResult const& res)
      {
          return res.tr().allowTrustResult().code();
      }
  };
  }
  