Commit 7eb903d9aa797a207f5b1b115dce2296d348000b

Authored by Jay Berkenbilt
1 parent efbb2167

Use functional replaceStreamData

libqpdf/QPDFEFStreamObjectHelper.cc
@@ -113,34 +113,12 @@ QPDFEFStreamObjectHelper::createEFStream( @@ -113,34 +113,12 @@ QPDFEFStreamObjectHelper::createEFStream(
113 return newFromStream(QPDFObjectHandle::newStream(&qpdf, data)); 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 QPDFEFStreamObjectHelper 116 QPDFEFStreamObjectHelper
139 QPDFEFStreamObjectHelper::createEFStream( 117 QPDFEFStreamObjectHelper::createEFStream(
140 QPDF& qpdf, std::function<void(Pipeline*)> provider) 118 QPDF& qpdf, std::function<void(Pipeline*)> provider)
141 { 119 {
142 auto stream = QPDFObjectHandle::newStream(&qpdf); 120 auto stream = QPDFObjectHandle::newStream(&qpdf);
143 - stream.replaceStreamData(new QEF::Provider(provider), 121 + stream.replaceStreamData(provider,
144 QPDFObjectHandle::newNull(), 122 QPDFObjectHandle::newNull(),
145 QPDFObjectHandle::newNull()); 123 QPDFObjectHandle::newNull());
146 return newFromStream(stream); 124 return newFromStream(stream);