/*========================================================================= * * Copyright NumFOCUS * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0.txt * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * *=========================================================================*/ #ifndef GDCMULCONNECTIONWRITINGCALLBACK_H #define GDCMULCONNECTIONWRITINGCALLBACK_H #include "gdcmULConnectionCallback.h" namespace gdcm { class DataSet; namespace network { /* \brief ULWritingCallback * \details This is the most basic of callbacks for how the ULConnectionManager handles * incoming datasets. DataSets are immediately written to disk as soon as they * are received. NOTE that if the incoming connection is faster than the disk * writing speed, this callback could cause some pileups! */ class GDCM_EXPORT ULWritingCallback : public ULConnectionCallback { std::string mDirectoryName; public: ULWritingCallback() = default; ~ULWritingCallback() override = default; //empty, for later inheritance ///provide the directory into which all files are written. void SetDirectory(const std::string& inDirectoryName) { mDirectoryName = inDirectoryName; } void HandleDataSet(const DataSet& inDataSet) override; void HandleResponse(const DataSet& inDataSet) override; }; } // end namespace network } // end namespace gdcm #endif //GDCMULCONNECTIONWRITINGCALLBACK_H