Home | History | Annotate | Download | only in nacl_io
      1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "nacl_io/pepper_interface_delegate.h"
      6 
      7 namespace nacl_io {
      8 
      9 PepperInterfaceDelegate::PepperInterfaceDelegate(PP_Instance instance)
     10     : instance_(instance) {
     11 #include "nacl_io/pepper/undef_macros.h"
     12 #include "nacl_io/pepper/define_empty_macros.h"
     13 #undef BEGIN_INTERFACE
     14 #define BEGIN_INTERFACE(BaseClass, PPInterface, InterfaceString) \
     15   BaseClass##delegate_ = NULL;
     16 #include "nacl_io/pepper/all_interfaces.h"
     17 }
     18 
     19 PepperInterfaceDelegate::~PepperInterfaceDelegate() {
     20 }
     21 
     22 PP_Instance PepperInterfaceDelegate::GetInstance() {
     23   return instance_;
     24 }
     25 
     26 // Interface getters.
     27 #include "nacl_io/pepper/undef_macros.h"
     28 #include "nacl_io/pepper/define_empty_macros.h"
     29 #undef BEGIN_INTERFACE
     30 #define BEGIN_INTERFACE(BaseClass, PPInterface, InterfaceString) \
     31 BaseClass* PepperInterfaceDelegate::Get##BaseClass() { \
     32   return BaseClass##delegate_; \
     33 }
     34 #include "nacl_io/pepper/all_interfaces.h"
     35 
     36 // Interface delegate setters.
     37 #include "nacl_io/pepper/undef_macros.h"
     38 #include "nacl_io/pepper/define_empty_macros.h"
     39 #undef BEGIN_INTERFACE
     40 #define BEGIN_INTERFACE(BaseClass, PPInterface, InterfaceString) \
     41 void PepperInterfaceDelegate::Set##BaseClass##Delegate( \
     42     BaseClass* delegate) { \
     43   BaseClass##delegate_ = delegate; \
     44 }
     45 #include "nacl_io/pepper/all_interfaces.h"
     46 
     47 }  // namespace nacl_io
     48