IOLink  IOL_v1.6.1_release
ExtensionProvider.h
1 #pragma once
2 
3 #include <memory>
4 
5 #include <iolink/IOLinkAPI.h>
6 #include <iolink/view/Extension.h>
7 #include <iolink/view/ParallelAccessExtension.h>
8 #include <iolink/view/TilingInfoExtension.h>
9 #include <iolink/view/ViewOriginExtension.h>
10 
11 namespace iolink
12 {
13 
14 class IOLINK_API ExtensionProvider
15 {
16 public:
17  static std::shared_ptr<TilingInfoExtension> toTilingInfo(std::shared_ptr<Extension> extension);
18  static std::shared_ptr<ParallelAccessExtension> toParallelAccess(std::shared_ptr<Extension> extension);
19  static std::shared_ptr<ViewOriginExtension> toViewOrigin(std::shared_ptr<Extension> extension);
20 };
21 
22 } // end namespace iolink