Changeset 180 for trunk/foundation/class_c/nomstring.c
- Timestamp:
- Jan 7, 2007, 5:27:39 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/foundation/class_c/nomstring.c
r146 r180 45 45 46 46 47 NOM_Scope PNOMString NOMLINK impl_NOMString_assignString(NOMString* nomSelf, const PNOMString nomString, CORBA_Environment *ev) 47 NOM_Scope PNOMString NOMLINK impl_NOMString_assign(NOMString* nomSelf, const PNOMString nomString, 48 CORBA_Environment *ev) 48 49 { 49 /* NOMStringData* nomThis=NOMStringGetData(nomSelf); */50 /* NOMStringData* nomThis=NOMStringGetData(nomSelf); */ 50 51 51 NOMString_assignCString(nomSelf, NOMString_ getCString(nomString, NULLHANDLE), NULLHANDLE);52 NOMString_assignCString(nomSelf, NOMString_queryCString(nomString, NULLHANDLE), NULLHANDLE); 52 53 return nomSelf; 53 54 } 54 55 55 /* Assign a C string to this NOMString */ 56 NOM_Scope PNOMString NOMLINK impl_NOMString_assignCString(NOMString* nomSelf, const CORBA_char * chrString, CORBA_Environment *ev) 56 /* Assign a C string to this NOMString. An initially created NOMString object is empty. */ 57 NOM_Scope PNOMString NOMLINK impl_NOMString_assignCString(NOMString* nomSelf, const CORBA_char * chrString, 58 CORBA_Environment *ev) 57 59 { 58 60 NOMStringData* nomThis=NOMStringGetData(nomSelf); 59 61 60 g_string_assign(_gString, chrString); 62 g_string_assign(_gString, chrString); /* This copies the input string */ 61 63 return nomSelf; 62 64 } 63 65 64 /* Returns the C string held by this NOMString */65 NOM_Scope CORBA_string NOMLINK impl_NOMString_ getCString(NOMString* nomSelf, CORBA_Environment *ev)66 /* Returns the C string held by this NOMString. */ 67 NOM_Scope CORBA_string NOMLINK impl_NOMString_queryCString(NOMString* nomSelf, CORBA_Environment *ev) 66 68 { 67 69 NOMStringData* nomThis=NOMStringGetData(nomSelf); … … 70 72 } 71 73 74 /* Returns a copy of the C string held by this NOMString. */ 75 NOM_Scope CORBA_string NOMLINK impl_NOMString_copyCString(NOMString* nomSelf, CORBA_Environment *ev) 76 { 77 NOMStringData* nomThis=NOMStringGetData(nomSelf); 72 78 73 NOM_Scope PNOMString NOMLINK impl_NOMString_appendString(NOMString* nomSelf, const PNOMString nomString, CORBA_Environment *ev) 79 return g_strdup(_gString->str); 80 } 81 82 NOM_Scope PNOMString NOMLINK impl_NOMString_appendCString(NOMString* nomSelf, const CORBA_char * chrString, 83 CORBA_Environment *ev) 84 { 85 NOMStringData* nomThis=NOMStringGetData(nomSelf); 86 PNOMString nomRetval=(PNOMString) NOMString_new(nomSelf, NULLHANDLE); 87 GString* gStrTmp; 88 89 gStrTmp=g_string_new(_gString->str); 90 g_string_append(gStrTmp, chrString); 91 NOMString_assignCString(nomRetval, gStrTmp->str, NULLHANDLE); 92 g_string_free(gStrTmp, TRUE); 93 94 return nomRetval; 95 } 96 97 NOM_Scope PNOMString NOMLINK impl_NOMString_append(NOMString* nomSelf, const PNOMString nomString, 98 CORBA_Environment *ev) 74 99 { 75 100 /* NOMStringData* nomThis=NOMStringGetData(nomSelf); */ 76 101 77 NOMString_appendCString(nomSelf, NOMString_getCString(nomString, NULLHANDLE), NULLHANDLE); 78 return nomSelf; 102 return NOMString_appendCString(nomSelf, NOMString_queryCString(nomString, NULLHANDLE), NULLHANDLE); 79 103 } 80 104 81 NOM_Scope PNOMString NOMLINK impl_NOMString_prependString(NOMString* nomSelf, const PNOMString nomString, CORBA_Environment *ev) 105 NOM_Scope PNOMString NOMLINK impl_NOMString_prepend(NOMString* nomSelf, const PNOMString nomString, 106 CORBA_Environment *ev) 82 107 { 83 108 /* NOMStringData* nomThis=NOMStringGetData(nomSelf); */ 84 109 85 NOMString_prependCString(nomSelf, NOMString_getCString(nomString, NULLHANDLE), NULLHANDLE); 86 return nomSelf; 87 } 88 89 NOM_Scope PNOMString NOMLINK impl_NOMString_appendCString(NOMString* nomSelf, const CORBA_char * chrString, CORBA_Environment *ev) 90 { 91 NOMStringData* nomThis=NOMStringGetData(nomSelf); 92 93 g_string_append(_gString, chrString); 94 return nomSelf; 110 return NOMString_prependCString(nomSelf, NOMString_queryCString(nomString, NULLHANDLE), NULLHANDLE); 95 111 } 96 112 … … 98 114 { 99 115 NOMStringData* nomThis=NOMStringGetData(nomSelf); 116 PNOMString nomRetval=(PNOMString)NOMString_new(nomSelf, NULLHANDLE); 117 GString* gStrTmp; 100 118 101 g_string_prepend(_gString, chrString); 119 gStrTmp=g_string_new(_gString->str); 120 g_string_prepend(gStrTmp, chrString); 121 NOMString_assignCString(nomRetval, gStrTmp->str, NULLHANDLE); 122 g_string_free(gStrTmp, TRUE); 102 123 103 return nom Self;124 return nomRetval; 104 125 } 105 126 … … 111 132 } 112 133 113 NOM_Scope PNOMString NOMLINK impl_NOMString_truncate String(NOMString* nomSelf, const CORBA_unsigned_long ulNewLen,134 NOM_Scope PNOMString NOMLINK impl_NOMString_truncate(NOMString* nomSelf, const CORBA_unsigned_long ulNewLen, 114 135 CORBA_Environment *ev) 115 136 { 116 137 NOMStringData* nomThis=NOMStringGetData(nomSelf); 138 PNOMString nomRetval=(PNOMString)NOMString_new(nomSelf, NULLHANDLE); 139 GString* gStrTmp; 117 140 118 g_string_truncate(_gString, ulNewLen); 141 gStrTmp=g_string_new(_gString->str); 142 g_string_truncate(gStrTmp, ulNewLen); 143 NOMString_assignCString(nomRetval, gStrTmp->str, NULLHANDLE); 144 g_string_free(gStrTmp, TRUE); 119 145 120 return nom Self;146 return nomRetval; 121 147 } 122 148 123 NOM_Scope PNOMString NOMLINK impl_NOMString_copy String(NOMString* nomSelf, CORBA_Environment *ev)149 NOM_Scope PNOMString NOMLINK impl_NOMString_copy(NOMString* nomSelf, CORBA_Environment *ev) 124 150 { 125 151 /* NOMStringData* nomThis=NOMStringGetData(nomSelf); */ 126 PNOMString nomRetval=NOMStringNew(); 152 PNOMString nomRetval; 153 NOMClass* nomCls; 127 154 128 NOMString_assignString(nomRetval, nomSelf, ev); 155 /* We don't know which class we're actually. So we can't just create a new NOMString here. 156 It is possible that we are called by a subclass. So get the class object and let the 157 class object create the correct class. */ 158 nomCls=NOMObject_nomGetClass((PNOMObject) nomSelf, NULLHANDLE); 159 nomRetval=(PNOMString)NOMString_new(nomSelf, NULLHANDLE); 160 161 NOMString_assign(nomRetval, nomSelf, ev); 129 162 130 163 return nomRetval;
Note:
See TracChangeset
for help on using the changeset viewer.