2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 * @author Zbigniew Kostrzewa (z.kostrzewa@samsung.com)
20 #ifndef WRTDEVICEAPIS_FILESYSTEM_NODEFILTER_H_
21 #define WRTDEVICEAPIS_FILESYSTEM_NODEFILTER_H_
26 #include <dpl/optional.h>
27 #include <dpl/shared_ptr.h>
28 #include <Commons/Range.h>
30 namespace WrtDeviceApis {
31 namespace Filesystem {
33 typedef DPL::Optional<std::string> OptionalString;
34 typedef DPL::Optional<std::time_t> OptionalDate;
35 typedef DPL::Optional<std::size_t> OptionalSize;
40 OptionalString getName() const;
41 void setName(const OptionalString& name);
43 OptionalDate getMinCreated() const;
44 void setMinCreated(const OptionalDate& date);
46 OptionalDate getMaxCreated() const;
47 void setMaxCreated(const OptionalDate& date);
49 void setCreated(const OptionalDate& date);
51 OptionalDate getMinModified() const;
52 void setMinModified(const OptionalDate& date);
54 OptionalDate getMaxModified() const;
55 void setMaxModified(const OptionalDate& date);
57 void setModified(const OptionalDate& date);
59 OptionalSize getMinSize() const;
60 void setMinSize(const OptionalSize& size);
62 OptionalSize getMaxSize() const;
63 void setMaxSize(const OptionalSize& size);
65 void setSize(const OptionalSize& size);
68 OptionalString m_name;
69 Commons::Range<OptionalDate> m_created;
70 Commons::Range<OptionalDate> m_modified;
71 Commons::Range<OptionalSize> m_size;
74 typedef DPL::SharedPtr<NodeFilter> NodeFilterPtr;
79 #endif // WRTDEVICEAPIS_FILESYSTEM_NODEFILTER_H_