Commit 7eb903d9aa797a207f5b1b115dce2296d348000b

Authored by Jay Berkenbilt
1 parent efbb2167

Use functional replaceStreamData

libqpdf/QPDFEFStreamObjectHelper.cc
... ... @@ -113,34 +113,12 @@ QPDFEFStreamObjectHelper::createEFStream(
113 113 return newFromStream(QPDFObjectHandle::newStream(&qpdf, data));
114 114 }
115 115  
116   -namespace QEF
117   -{
118   - class Provider: public QPDFObjectHandle::StreamDataProvider
119   - {
120   - public:
121   - Provider(std::function<void(Pipeline*)> provider) :
122   - StreamDataProvider(false),
123   - provider(provider)
124   - {
125   - }
126   - virtual ~Provider() = default;
127   - virtual void provideStreamData(int objid, int generation,
128   - Pipeline* pipeline) override
129   - {
130   - this->provider(pipeline);
131   - }
132   -
133   - private:
134   - std::function<void(Pipeline*)> provider;
135   - };
136   -};
137   -
138 116 QPDFEFStreamObjectHelper
139 117 QPDFEFStreamObjectHelper::createEFStream(
140 118 QPDF& qpdf, std::function<void(Pipeline*)> provider)
141 119 {
142 120 auto stream = QPDFObjectHandle::newStream(&qpdf);
143   - stream.replaceStreamData(new QEF::Provider(provider),
  121 + stream.replaceStreamData(provider,
144 122 QPDFObjectHandle::newNull(),
145 123 QPDFObjectHandle::newNull());
146 124 return newFromStream(stream);
... ...