diff options
author | kenton@google.com <kenton@google.com@630680e5-0e50-0410-840e-4b1c322b438d> | 2010-01-04 21:15:47 +0000 |
---|---|---|
committer | kenton@google.com <kenton@google.com@630680e5-0e50-0410-840e-4b1c322b438d> | 2010-01-04 21:15:47 +0000 |
commit | d78ca9c74f66005ae48efb8921bd305260567935 (patch) | |
tree | 293f6e5fe5c6d193b313f0031e9791d9298db6d6 /src/google/protobuf/extension_set_heavy.cc | |
parent | c619a3da2ab251eb0eba148413981b6d7114a1d9 (diff) | |
download | protobuf-d78ca9c74f66005ae48efb8921bd305260567935.tar.gz protobuf-d78ca9c74f66005ae48efb8921bd305260567935.tar.bz2 protobuf-d78ca9c74f66005ae48efb8921bd305260567935.zip |
Fixed DLL compile under MSVC.
Diffstat (limited to 'src/google/protobuf/extension_set_heavy.cc')
-rw-r--r-- | src/google/protobuf/extension_set_heavy.cc | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/google/protobuf/extension_set_heavy.cc b/src/google/protobuf/extension_set_heavy.cc index 27f2bc8b..2721f15d 100644 --- a/src/google/protobuf/extension_set_heavy.cc +++ b/src/google/protobuf/extension_set_heavy.cc @@ -46,6 +46,25 @@ namespace google { namespace protobuf { namespace internal { +// Implementation of ExtensionFinder which finds extensions in a given +// DescriptorPool, using the given MessageFactory to construct sub-objects. +// This class is implemented in extension_set_heavy.cc. +class DescriptorPoolExtensionFinder : public ExtensionFinder { + public: + DescriptorPoolExtensionFinder(const DescriptorPool* pool, + MessageFactory* factory, + const Descriptor* containing_type) + : pool_(pool), factory_(factory), containing_type_(containing_type) {} + virtual ~DescriptorPoolExtensionFinder() {} + + virtual bool Find(int number, ExtensionInfo* output); + + private: + const DescriptorPool* pool_; + MessageFactory* factory_; + const Descriptor* containing_type_; +}; + void ExtensionSet::AppendToList(const Descriptor* containing_type, const DescriptorPool* pool, vector<const FieldDescriptor*>* output) const { |