| /* |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you 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 |
| |
| 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. |
| */ |
| |
| #include "dse.h" |
| |
| #include "dse_date_range.hpp" |
| #include "dse_line_string.hpp" |
| #include "dse_point.hpp" |
| #include "dse_polygon.hpp" |
| |
| using namespace datastax::internal::enterprise; |
| |
| extern "C" { |
| |
| CassError cass_tuple_set_dse_point(CassTuple* tuple, size_t index, cass_double_t x, |
| cass_double_t y) { |
| Bytes bytes = encode_point(x, y); |
| return cass_tuple_set_custom(tuple, index, DSE_POINT_TYPE, bytes.data(), bytes.size()); |
| } |
| |
| CassError cass_tuple_set_dse_line_string(CassTuple* tuple, size_t index, |
| const DseLineString* line_string) { |
| return cass_tuple_set_custom(tuple, index, DSE_LINE_STRING_TYPE, line_string->bytes().data(), |
| line_string->bytes().size()); |
| } |
| |
| CassError cass_tuple_set_dse_polygon(CassTuple* tuple, size_t index, const DsePolygon* polygon) { |
| return cass_tuple_set_custom(tuple, index, DSE_POLYGON_TYPE, polygon->bytes().data(), |
| polygon->bytes().size()); |
| } |
| |
| CassError cass_tuple_set_dse_date_range(CassTuple* tuple, size_t index, const DseDateRange* range) { |
| Bytes bytes = encode_date_range(range); |
| return cass_tuple_set_custom(tuple, index, DSE_DATE_RANGE_TYPE, bytes.data(), bytes.size()); |
| } |
| |
| } // extern "C" |