aboutsummaryrefslogtreecommitdiff
path: root/src/google/protobuf/extension_set_heavy.cc
diff options
context:
space:
mode:
authorkenton@google.com <kenton@google.com@630680e5-0e50-0410-840e-4b1c322b438d>2010-01-04 21:15:47 +0000
committerkenton@google.com <kenton@google.com@630680e5-0e50-0410-840e-4b1c322b438d>2010-01-04 21:15:47 +0000
commitd78ca9c74f66005ae48efb8921bd305260567935 (patch)
tree293f6e5fe5c6d193b313f0031e9791d9298db6d6 /src/google/protobuf/extension_set_heavy.cc
parentc619a3da2ab251eb0eba148413981b6d7114a1d9 (diff)
downloadprotobuf-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.cc19
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 {