Opened 15 years ago

Closed 15 years ago

#476 closed defect (fixed)

GeometricPropertyDefinition get_SpecificGeometryTypes() not exposed in managed API

Reported by: jng Owned by: gregboone
Priority: major Milestone: 3.5.0
Component: FDO API Version: 3.4.0
Severity: 3 Keywords:
Cc: External ID:

Description

The get_SpecificGeometryTypes method is missing from GeometricPropertyDefnition in the managed API. Looking at the managed API source, the method is actually there.

Attachments (1)

Ticket#476.patch (3.0 KB ) - added by gregboone 15 years ago.

Download all attachments as: .zip

Change History (9)

comment:1 by gregboone, 15 years ago

Status: newassigned

comment:2 by gregboone, 15 years ago

From a visual inspection, it appears that the Property is now exposed in the FDO SVN trunk. This may have happened when Romy made his latest submission....

    /// \brief
    /// Gets the specific geometry types that can be stored in this geometric
    /// property. The returned value is a list of geometry types that are
    /// supported, with length being the number of types returned.
    /// 
    /// \param length 
    /// The parameter is used to return the number of geometry types being
    /// returned by the function.
    /// 
    /// \return
    /// Returns a list of geometry types that are supported.
    /// 
    /// \brief
    /// Sets the specific set of geometry types that can be stored in this
    /// geometric property. The provided value is a list of geometry types
    /// that are supported. Usually, one specific type is supported, but
    /// there can be more than one. 
    /// 
    /// \param types
    /// The specific set of geometry types that can be stored in this
    /// geometric property.
    ///
    /// \param length 
    /// Indicates the number of geometry types being stored in the provided
    /// set of geometry types.
    /// 
    property array<NAMESPACE_OSGEO_COMMON::GeometryType>^ SpecificGeometryTypes[System::Int32%]
    {
        array<NAMESPACE_OSGEO_COMMON::GeometryType>^ get(System::Int32% length);
        System::Void set(System::Int32% length, array<NAMESPACE_OSGEO_COMMON::GeometryType>^ types);
    }


comment:3 by jng, 15 years ago

Yes I can see the getter method now. Any chance of this making it to 3.4.0?

comment:4 by gregboone, 15 years ago

This change is possible since it will not affect binary comptibility and does not affect any existing user/functional area.

comment:5 by gregboone, 15 years ago

Milestone: 3.4.0

comment:6 by gregboone, 15 years ago

I also am seeing these changes in the 3.4.0 branch. Are you sure you can't see the property?

    /// \brief
    /// Gets the specific geometry types that can be stored in this geometric
    /// property. The returned value is a list of geometry types that are
    /// supported, with length being the number of types returned.
    /// 
    /// \param length 
    /// The parameter is used to return the number of geometry types being
    /// returned by the function.
    /// 
    /// \return
    /// Returns a list of geometry types that are supported.
    /// 
    __property NAMESPACE_OSGEO_COMMON::GeometryType get_SpecificGeometryTypes(System::Int32 &length)[];

    /// \brief
    /// Sets the specific set of geometry types that can be stored in this
    /// geometric property. The provided value is a list of geometry types
    /// that are supported. Usually, one specific type is supported, but
    /// there can be more than one. 
    /// 
    /// \param types
    /// The specific set of geometry types that can be stored in this
    /// geometric property.
    ///
    /// \param length 
    /// Indicates the number of geometry types being stored in the provided
    /// set of geometry types.
    /// 
    __property System::Void set_SpecificGeometryTypes(NAMESPACE_OSGEO_COMMON::GeometryType types[], System::Int32 length);


comment:7 by gregboone, 15 years ago

Milestone: 3.4.03.5.0

In class GeometricPropertyDefinition, we are not really exposing SpecificGeometryTypes as a standard property.

Currently, SpecificGeometryTypes is defined as a property but it is being generated as two methods: get_SpecificGeometryTypes and set_SpecificGeometryTypes. This is happening because the property is defined with two parameters, 'length' and 'array'. Managed properties are intended to only have a single parameter, in this instance, the array. The length can be determined directly though the array itself by querying the arrays Length property.

As a result of this change, the length parameter will be removed and the property defined as:

    property array<NAMESPACE_OSGEO_COMMON::GeometryType>^ SpecificGeometryTypes
    {
        array<NAMESPACE_OSGEO_COMMON::GeometryType>^ get();
        System::Void set(array<NAMESPACE_OSGEO_COMMON::GeometryType>^ types);
    }

by gregboone, 15 years ago

Attachment: Ticket#476.patch added

comment:8 by gregboone, 15 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.